试编写一个汇编语言源程序,将键盘输入的ASCII码转换为二进制。

如题所述

;编写一个汇编语言源程序,用于将键盘输入的ASCII码转换为二进制。
;如果输入的是回车键,程序直接结束。
;.com 文件格式
code segment
main proc far
assume cs:code, ds:code
org 100h
start:
PUSH CS
POP DS
NN1:
MOV AH, 02
MOV DL, 0DH
INT 21H
MOV DL, 0AH
INT 21H
MOV AH, 01
INT 21H
CMP AL, 0DH
JNZ goon
goon:
PUSH AX
MOV AH, 09
LEA DX, s1
INT 21H
POP AX
CALL disp1
JMP NN1
endd:
INT 20H
s1 DB ' ASCII ========> ', 24H
main endp
;--------------------------------
disp1 proc near
MOV BL, AL
MOV CX, 8
NEXT:
SHL BL, 1
JC IS_1
MOV DL, 30H
JMP XS1
IS_1:
MOV DL, 31H
XS1:
MOV AH, 02
INT 21H
LOOP NEXT
ret
disp1 endp
;--------------------------------
code ends
end start
程序运行结果如下:
7 ASCII ========> 00110111
6 ASCII ========> 00110110
2 ASCII ========> 00110010
3 ASCII ========> 00110011
B ASCII ========> 01100010
S ASCII ========> 01110011
D ASCII ========> 01100100
H ASCII ========> 01101000
J ASCII ========> 01101010
X ASCII ========> 01111000
8 ASCII ========> 00111000
J ASCII ========> 01101010
F ASCII ========> 01100110
E ASCII ========> 01100101
温馨提示:答案为网友推荐,仅供参考
相似回答