ورود

View Full Version : فوری:رفع اشکال برنامه؟



nima1364
سه شنبه 04 دی 1386, 05:57 صبح
سلام دوستان
من زیاد اسمبلی وارد نیستم ولی
یه برنامه اسمبلی دارم که می خوام از بین اعداد سه رقمی اعدادی رو چاپ کنه که در رابطه زیر صدق کنند:
n=abc
a^2+b^2=c^2
حالا من برنامه رو نوشتم تریس هم کردم منطقش هم درسته ولی بهم خروجی نمی ده
اصلا توی خروجی نمی ره و پنجره خروجی رو می بنده
فکر کنم تو چاپش مشکل دارم
دوستان اگه ممکنه یه نگاهی بندازند ببینند اشکال کار کجاست
ممنون می شم.فوری لطفا

data_seg segment
a db 3 Dup(?)
a2 db ?
b2 db ?
c2 db ?
m db 10
data_seg ends
code_seg segment
assume cs:code_seg,ds:data_seg
main proc far
mov ax,data_seg
mov ds,ax
mov cx,345
lea si,a
l3:mov ax,cx
add si,2
l1:div m
mov a[si],ah
dec si
cmp al,0
je l2
mov ah,0
jmp l1
l2:lea si,a
mov al,a[si]
mul a[si]
mov a2,al
mov al,a[si+1]
mul a[si+1]
mov b2,al
mov al,a[si+2]
mul a[si+2]
mov c2,al
mov bl,a2
add bl,b2
cmp bl,c2
je prn
dec cx
cmp cx,100
jae l3
jmp ext
prn:lea si,a
prn1:mov dl,a[si]
add dl,30h
mov ah,2h
int 21h
inc si
cmp si,2
jbe prn1
dec cx
cmp cx,344
jae l3
ext:mov ax,4c00h
int 21h
main endp
code_seg ends
End main

hoax3r
سه شنبه 04 دی 1386, 11:04 صبح
این که مشکلی نداره، اون برنامه وقتی اجرا میشه خروجی رو نشون میده و سریع خارج میشه

برای حل مشکل میتونی قبل اینکه خارج بشه با این وقفه یه کلید بگیری که خروجی دیده بشه
و بعد زدن کلید خارج شه



mov ah, 1
int 21h


شاد باشید