可否將此程式改為相乘

andy730801 2008-12-22 10:33:05
编写程序,要求从键盘输入两个二位十进制,在程序中将二数相加,并显示其和


data segment
num1 db 0;3 dup(?)
num2 db 0;3 dup(?)
data ends
code segment 'code'
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov si,offset num1

;输入一组数
mov ah,01h
int 21h

sub al,'0';;
mov dl,al
mov cl,3
shl al,cl
shl dl,1
add al,dl
mov [si],al

mov ah,01h
int 21h

sub al,'0'
add [si],al

mov ah,01h
int 21h

mov bx,offset num2
;再输入一组数
mov ah,01h
int 21h

sub al,'0'
mov dl,al
mov cl,3
shl al,cl
shl dl,1
add al,dl
mov [bx],al
mov ah,01h
int 21h

sub al,'0'
add [bx],al

mov ah,02h
mov dl,0dh
int 21h
mov dl,0ah
int 21h

;把两组数求和
mov al,[bx]
add al,[si];al=sum

xor ah,ah

mov cl,100
div cl
mov bx,ax
test al,al
jz @f
add al,'0'
mov dl,al
mov ah,02h
int 21h
@@:
mov al,bh
xor ah,ah
mov cl,10
div cl
mov bx,ax
add al,'0'
mov dl,al
mov ah,02h
int 21h
add bh,'0'
mov dl,bh
mov ah,02h
int 21h
mov ah,4ch
int 21h
code ends
end start

input example:
12 34<Enter>
or
02 08<Enter>
...全文
59 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

21,500

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧