title Amin_Neisary
.mode small
.stack 64
.data
beginaddr dw 0301h
endaddr dw 0401h
endcode db 00
readmsg db '##### Error in Reading ####'
sectorin db 512 dup(' ')
side db 00
;========================================
.code
a10main proc far
mov ax,@data
mov ds,ax
mov es,ax
a20:
mov ax,0003h
int 10h
call b10addr
mov cx,beginaddr
mov dx,endaddr
cmp cx,dx
je a90
call c10read
cmp endcode,00
jnz a90
lea bp,sectorin
mov cx,512
call d10disply
jmp a20
a90: mov ax,4c00h
int 21h
a10main endp
;======================================
b10addr proc near
mov cx,beginaddr
cmp cl,19
jne b90
mov cl,01
cmp side,00
je b20
inc ch
b20: xor side,01
mov beginaddr,cx
b90: ret
b10addr endp
;=====================================
c10read proc near
mov ah,02h
mov al,01
lea bx,sectorin
mov cx,beginaddr
mov dh,side
mov dl,00 {بجاي 00كه نشان دهنده فلاپي هست ميتوني براي درايو سي عدد 80براي مثلا دي 81 وهمينطور به بالاتشريف ببرين در ضمن از آخر هم اين جمله فارسي من رو به علاوه كروشش پاك كن تا برنامت كامپايل بشه{
int 13h
jnc c90
mov endcode,01
lea bp,readmsg
mov cx,18
call d10disply
c90: inc beginaddr
ret
c10read endp
;=====================================
d10disply proc near
mov ax,1301h
mov bx,0016h
mov dx,0300h
int 10h
mov ah,10h
int 16h
ret
d10disply endp
end a10main