ascii码 %20 转换
发布网友
发布时间:2022-04-22 08:31
我来回答
共1个回答
热心网友
时间:2022-06-18 16:46
定义了一个子程序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 disp
;调用disp显示ascii码
mov dl,0ah
int 21h
mov dl,0dh
int 21h
;换行
MOV DL,BH
ADD DL,30H
MOV AH,2
INT 21H
;显示个位
call disp
;调用disp显示个位的ascii码
MOV AH,4CH
INT 21H
disp proc
push ax
push bx
push cx
push dx
lea dx,d2
mov ah,9
int 21h
pop dx
push dx
mov dh,dl
mov cl,4
shr dl,cl
lea bx,d1
mov al,dl
xlat
mov dl,al
mov ah,2
int 21h
and dh,0fh
mov al,dh
xlat
mov dl,al
int 21h
mov dl,'H'
int 21h
pop dx
pop cx
pop bx
pop ax
ret
disp endp
C ENDS
END START