汇编 两个数的加法

来源:百度知道 编辑:UC知道 时间:2024/05/26 15:54:14
程序为输入两个数字 然后输出他们的和
我的输出很有问题,但是不知道哪里错了,
希望高手指点,最好能说出错在哪里,
在我源程序的基础上加以修改~~
我对积分不感兴趣,如果讲解的足够详细,
积分完全可以再商量~~~

data segment
s1 db 'input num1:$'
s2 db 'input num2:$'
s3 db 'sum=$'
data ends

code segment
assume cs:code,ds:data
主程序(输入两个数字)////////
main:
mov ax,data
mov ds,ax
lea dx, s1
mov ah,09h
int 21h
call endl
cin1:
mov ah,1
int 21h
cmp al,0dh
jnz cin1

mov bx,ax
call endl
lea dx,s2
mov ah,09h
int 21h
call endl
cin2:
mov ah,1
int 21h
cmp al,0dh
jnz cin2
call endl
add ax,bx
call cout
call divf
mov ah,4ch
int 21h
下面为子程序:
回车换行子程序://////////
endl proc
mov d

DATAS SEGMENT
a db 10h
DATAS ENDS

STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
mov cl,10d
mov ah,01h
int 21h
sub bl,0
mov bl,al
mov dl,'+'
mov ah,02h
int 21h
mov ah,01h
int 21h
add bl,al
mov dl,'='
mov ah,02h
int 21h
sub bl,60h
mov al,bl
mov ah,00h
div cl
mov bx,ax
add bl,30h
mov dl,bl
mov ah,02h
int 21h

add bh,30h
mov dl,bh
mov ah,02h
int 21h
MOV AH,4CH
INT 21H
CODES ENDS
END START