汇编ascii码的转换问题

来源:百度知道 编辑:UC知道 时间:2024/05/18 21:56:01
我已经编写了2进制转换成10进制,可是我还想把她转换成对应的ascii码再输出,该怎样添加代码?
D SEGMENT
D1 DB '123456789ABCDEF'
D ENDS

S SEGMENT
DB 200 DUP(0)
S ENDS

C SEGMENT
ASSUME DS:S,SS:S,CS:C
START: MOV AX,D
MOV DS,AX

MOV BL,10
MOV AX,00010111B ;AX中放除数
DIV BL
MOV BX,AX ;备份AX

MOV DL,BL ;输出商
ADD DL,30H
MOV AH,2
INT 21H

MOV DL,BH ;输出余数
ADD DL,30H
MOV AH,2
INT 21H

MOV AH,4CH
INT 21H
C ENDS
END START

;定义了一个子程序disp来显示ASCII码
;另外二进制数可以输入,显示十进制数和ascii码

D SEGMENT
D1 DB '0123456789ABCDEF'
d2 db ' ASCII is:$'
D ENDS

C SEGMENT
ASSUME DS:d,CS:C
START: MOV AX,D
MOV DS,AX

xor bx,bx
next: mov ah,1
int 21h
cmp al,0dh
jz inend
and al,0fh
shr al,1
rcl bx,1
jmp next
inend: mov dl,0ah
mov ah,2
int 21h
mov dl,0dh
int 21
mov ax,bx
;以上是输入二进制数,并且输出换行,把二进制数存放在ax中

MOV BL,10
DIV BL
MOV BX,AX
;求十进制,十位在bl中,各位在bh中。
MOV DL,BL
ADD DL,30H
MOV AH,2
INT 21H
;显示十位
call