;read abd3 key disk(lockup) to 8000:0,resuit at 8000:1000(word ptr) code segment assume cs:code,ds:code org 100h begin:jmp kk werrmeg db 'read error!$' kk: call f1e call read call un1e call over f1e proc near push cs pop ds mov ax,351eh int 21h mov byte ptr es:[bx+3],4 ret f1e endp un1e proc near push es mov si,0 mov es,si mov di,522h mov byte ptr es:[di+3],2 mov byte ptr es:[di+4],27h pop es ret un1e endp over proc near mov ah,4ch int 21h ret over endp read proc near mov ax,8000h mov es,ax mov cx,8 dddd: push cx mov ax,0201h mov bx,0 mov ch,18h mov cl,0aah mov dx,0100h int 13h pop cx cmp ah,10h jz ookk jmp rr jmp qq rr: dec cx cmp cx,0 jnz dddd jmp werr qq: ret werr: mov dx,offset werrmeg jmp err err: mov ah,9 push cs pop ds int 21h call un1e call over read endp ookk: push ds mov ax,8000h mov ds,ax mov si,0 mov di,0 mov cx,2c0h ll: lodsw add di,ax loop ll pop ds mov es:[1000h],di jmp qq code ends end begin