PDA

View Full Version : مشکل از کجاست؟!



ma)-(di
جمعه 06 شهریور 1388, 19:10 عصر
سلام.
ببخشید من یه برنامه نوشتم.
این کد برنامه هستش..
راستش این برنامه صورتش اینه:
برنامه ای که تعداد مقسوم علیه های AL رو بشمره، و این تعداد رو به عنوان نتیجه در BL قرار بده.
از این تابع استفاده کنید و مشخص کنید که رقم خوانده شده از ورودی اول است..؟!

این برنامه متـاسفانه درست کار نمیکنه!
یعنی اصلاً کار نمیکنه!
اگر میشه راهنمایی کنید.
ممنون میشم.




MOV DL,AL
CBW
MOV AX,DX
MOV DX,0

MOV BL, 0

CALL READ_NUMBER
CALL FUNCTION

CMP BL, 02
JNE L2
MOV BX, OFFSET STR1
JMP L3

L2:MOV BX, OFFSET STR2
L3:MOV DL,[BX]
MOV AH, 02
INT 21h

MOV AX, 4c00H
INT 21h

READ_NUMBER: MOV AH,1
INT 21h
RET


FUNCTION: MOV CL,AL
INC_BL:INC BL
DEC_CL:DEC CL
CMP CL,0
JE DONE
DIV CL
CMP AH,0
JE INC_BL
JMP DEC_CL
DONE:RET

tdkhakpur
جمعه 06 شهریور 1388, 21:05 عصر
سلام
معلوم نشد دارید چکار میکنید ولی شما اگر محتوای bl را تغییر بدید چگونه میخواهید داده های درست داشت باشید.


CMP BL, 02
JNE L2
MOV BX, OFFSET STR1 // اینجا تغییر میکند
JMP L3

L2:MOV BX, OFFSET STR2 // اینجا تغییر میکند
L3:MOV DL,[BX]
MOV AH, 02
INT 21h