汇编ascii码的转换问题
来源:百度知道 编辑:UC知道 时间:2024/05/18 21:56:01
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