PDA

View Full Version : کمک در تکمیل برنامه جمع دو عدد



سجاد65
پنج شنبه 02 تیر 1390, 17:24 عصر
سلام به دوستان عزیز
من این برنامه رو نوشتم
تا جایی که msg2 چاپ بشه و عدد دوم رو بگره جواب میده
اما برای جمع و نمایش حاصل جمع عمل نمیکنه
لطفا error یابی کنید
stacksg segment 'stack'
stacksg ends
datasg segment 'data'
msg1 db 10,13,"number 1:","$"
msg2 db 10,13,"number 2:","$"
msg3 db 10,13,"hasele jaam:","$"
prt dw ?
num1 dw ?
num2 dw ?
sum1 dw ?
datasg ends
codesg segment 'code'
main proc far
assume ss:datasg,ds:datasg,cs:codesg
mov ax,datasg
mov ds,ax
mov ax,stacksg
mov ss,ax
mov ah,06h
mov al,25
mov ch,0
mov cl,0
mov dh,24
mov dl,79
mov bh,7h
int 10h
;print msg1
mov dx,offset msg1
mov ah,9h
int 21h
;get num1
mov ah,01h
int 21h
sub al,30h
mov bl,10
mul bl
mov prt,ax
mov ah,01h
int 21h
sub al,30h
mov bl,1
mul bl
add prt,ax
mov ax,prt
mov num1,ax
;print msg2
mov dx,offset msg2
mov ah,9h
int 21h
;get num2
mov ah,01h
int 21h
sub al,30h
mov bl,10
mul bl
mov prt,ax
mov ah,01h
int 21h
sub al,30h
mov bl,1
mul bl
add prt,ax
mov ax,prt
mov num2,ax
mov dx,offset msg3
mov ah,09h
int 21h
mov ax,num1
mov bx,num2
add ax,bx
mov bl,100
mul bl
mov bl,al
mov ah,02h
int 21h
mov al,ah
mov ah,0
mov bl,10
mul bl
add al,30h
mov bl,al
mov ah,02h
int 21h
mov bl,ah
mov ah,02h
int 21h
main endp
codesg ends
end main

xman_1365_x
دوشنبه 06 تیر 1390, 20:36 عصر
تا خط 70 درسته اما بعدش اصلا نمي دونم چرا دارين ضرب مي كنيد؟ شما جمع كردين بايد تبديل به اسكي كنيد و نمايش بين پس شما بايد تقسيم به ده كنيد تا ارزش مكاني بدست بياريد و بعد نمايش بدين ميتونيد سورس ماشين حساب رو ببنيد قبلا توضيح دادم