永发信息网

求汇编高手帮我做的一个小程序

答案:1  悬赏:20  手机版
解决时间 2021-06-02 16:27
  • 提问者网友:不要迷恋哥
  • 2021-06-02 08:26

就是任意输入2个十进制的数,

把他们相加然后以16进制输出来。

···分不多啊……谢谢大家了··

最佳答案
  • 五星知识达人网友:迷人又混蛋
  • 2021-06-02 09:27
assume cs:code

code segment
start:
xor bx, bx
call input ; 输入两个数
mov si, bx
xor bx, bx
call input

add bx, si ; 相加
mov cl, 4
mov ah, 2
mov si, 4
continue:
rol bx, cl
mov dl, bl
and dl, 0fh
cmp dl, 9
jg hex
add dl, '0'
jmp output
hex:
sub dl, 10
add dl, 'A'
output: ; 16进制输出
int 21h
dec si
jnz continue

mov ax, 4c00h
int 21h

input: ; 输入
mov cx, 10
xor dx, dx
next:
mov ah, 1
int 21h
cmp al, ' '
jz done
cmp al, 13
jz done
xchg ax, bx
mul cx
and bx, 0fh
add ax, bx
xchg ax, bx
jmp next
done:
cmp al, 13
jnz noop
mov ah, 2
mov dl, 13
int 21h
mov dl, 10
int 21h
noop:
ret
code ends
end start

望采纳
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯