Saeed-Omnia
چهارشنبه 11 خرداد 1390, 17:18 عصر
سلام دوستان من این رو نوشتم ولی قسمت آخرش که تعداد کلمات رو شمارش میکنه اشتباهه. نمی دونم چجوری باید به file_buffer اشاره کنم. اگه به file_buffer اشاره بشه به آدرس اون اشاره میشه یا داده اون؟؟ :متفکر:
لطفا توضیح بدین. خیلی ممنون :قلب:
.model small
.stack 64
.data
file_path db "C:\f1.asm",0
file_buffer db 100 dup(?)
file_handler dw ?
notice1 db 'Enter File Location : $'
counter db 0
eofbuff dw ?
pointer dw ?
;************************************
.code
main proc far
mov ax,@data
mov ds,ax
;****Open File***********************
mov ah,3dh
mov al,0
lea dx,file_path
int 21h
;jc readerror
mov file_handler,ax
;readerror:
;mov ah,09
;lea dx,notice1
;int 21h
;****Read form File to Buffer******************************
mov ah,3fh
mov cx,2
mov bx,file_handler
lea dx,file_buffer
int 21h
;****Close File*************************
mov ah,3eh
mov bx,file_handler
int 21h
;************************
mov pointer,offset file_buffer
mov eofbuff,offset file_buffer
add eofbuff,64h
loop1:
inc counter
loop2:
add pointer,1h
cmp byte ptr pointer,byte ptr eofbuff
je exit
cmp pointer,'?'
je exit
cmp pointer,' '
je loop1
jmp loop2
exit:
mov ah,02
mov dl,counter
int 21h
mov ah,4ch
int 21h
main endp
end main
لطفا توضیح بدین. خیلی ممنون :قلب:
.model small
.stack 64
.data
file_path db "C:\f1.asm",0
file_buffer db 100 dup(?)
file_handler dw ?
notice1 db 'Enter File Location : $'
counter db 0
eofbuff dw ?
pointer dw ?
;************************************
.code
main proc far
mov ax,@data
mov ds,ax
;****Open File***********************
mov ah,3dh
mov al,0
lea dx,file_path
int 21h
;jc readerror
mov file_handler,ax
;readerror:
;mov ah,09
;lea dx,notice1
;int 21h
;****Read form File to Buffer******************************
mov ah,3fh
mov cx,2
mov bx,file_handler
lea dx,file_buffer
int 21h
;****Close File*************************
mov ah,3eh
mov bx,file_handler
int 21h
;************************
mov pointer,offset file_buffer
mov eofbuff,offset file_buffer
add eofbuff,64h
loop1:
inc counter
loop2:
add pointer,1h
cmp byte ptr pointer,byte ptr eofbuff
je exit
cmp pointer,'?'
je exit
cmp pointer,' '
je loop1
jmp loop2
exit:
mov ah,02
mov dl,counter
int 21h
mov ah,4ch
int 21h
main endp
end main