PDA

View Full Version : شمارش تعداد کلمات در یک فایل



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

Saeed-Omnia
چهارشنبه 11 خرداد 1390, 23:47 عصر
؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

Saeed-Omnia
یک شنبه 15 خرداد 1390, 19:42 عصر
دوستان خواهشا کمک کنین. من اینو نوشتم ولی خروجیش این میشه(ch=11)


;0 چرا؟؟؟

MOV AL,CL
MOV AH,0
I DB 10
DIV I
MOV BL,AL
MOV BH,AH
ADD BL,48
ADD BH,48
MOV AH,02
MOV DL,BH
INT 21H
MOV DL,BL
INT 21H