二进制转换成十进制的程序

来源:百度知道 编辑:UC知道 时间:2024/05/15 03:39:43
要用汇编语言编写,8086 CPU系统

name change2BTo10D
;数据段
data segment
outNum db ?;输出数字
msgInput db 'please input the num end with B or b or enter.',0ah,0dh,'[eg:101B]:$'
msgEnd db 0ah,0dh,'press any key to end ...$'
data ends

;代码段
code segment
assume ds:data,cs:code;,es:data

;回车子程序
enter proc
mov dl,0ah
mov ah,2
int 21h

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

ret
enter endp

;输出提示子程序dx
msg proc
mov ah,9
int 21h
ret
msg endp

;输出十进制子程序dl
out10B proc
add dl,30h
mov ah,2
int 21h
ret
out10B endp

;检查输入al cl=0 失败
check proc
mov cl,0
cmp al,'0'
jb back
cmp al,'1'
ja back
mov cl,1
back: ret
check endp

;变化处理子程序
Do2to10 proc
mov cl,0
cmp outNum,40h ;0100 0000将溢出7位
ja Dback
shl outNu