用汇编语言如何实现5位以内十进制加法运算,要求有输入,输出界面

来源:百度知道 编辑:UC知道 时间:2024/05/18 01:01:24

code segment;任意两个五位数相加
assume cs:code,ds:code,ss:code
org 100h;标准COM格式
start:
jmp begin
Tips db 0dh,0ah,09,'? $'
X1 db '23456+98765='
Y1 db '000000. Esc to Quit...',24h
begin:
push cs
pop ds
push ds
pop es
mov ax,3;文本模式
int 10h
Again:mov dx,offset Tips;提示
mov ah,9
int 21h
call input;接收任意两个五位数
call count;求和
;*** 输出十进制的结果 ***
mov dx,offset Y1[-1]
mov ah,9
int 21h
mov ah,0;暂停
int 16h
cmp ah,01;Esc 退出
jnz Again;计算下一题
mov ah,4ch;结束
int 21h
input:cld
mov si,offset X1
mov cx,2
T0:push cx
mov cx,5
T1:mov ah,0;接收数字
int 16h
cmp al,30h;数据校验
jb T1
cmp al,39h
ja T1
mov ah,0eh;数据显示
int 10h
mov [si],al;存入数据区
inc si
loop T1
inc si;跳过加号
pop cx
cmp cx,2
jnz T2
mov ax,0e2bh;输出加号