汇编题目一道
答案:1 悬赏:0 手机版
解决时间 2021-07-21 17:40
- 提问者网友:焚苦与心
- 2021-07-20 17:15
问题:-编程一个16位无符号二进制数转换成用8421BCD码表示的5位十进制数。转换算法可以是:用二进制数除以10000,商为“万位”,再用余数除以1000,得到“千位”;依次用余数除以100,10和1,得到“百位”“十位”“个位”。
最佳答案
- 五星知识达人网友:傲气稳了全场
- 2021-07-20 17:30
assume cs:code, ds:datas
datas segment
n dw 12345
bcd dw 0, 0
datas ends
code segment
start:
mov ax, datas
mov ds, ax
mov ax, n
mov cl, 4
xor dx, dx
mov bx, 10
xor di, di
next:
cmp ax, 10
jle done
shr di, cl
div bx
ror dx, cl
or di, dx
xor dx, dx
jmp next
done:
mov bcd, di
or bcd+2, ax
mov ax, 4c00h
int 21h
code ends
end start
datas segment
n dw 12345
bcd dw 0, 0
datas ends
code segment
start:
mov ax, datas
mov ds, ax
mov ax, n
mov cl, 4
xor dx, dx
mov bx, 10
xor di, di
next:
cmp ax, 10
jle done
shr di, cl
div bx
ror dx, cl
or di, dx
xor dx, dx
jmp next
done:
mov bcd, di
or bcd+2, ax
mov ax, 4c00h
int 21h
code ends
end start
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯