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

 我来答
百度网友9045b38
推荐于2018-06-21 · TA获得超过1972个赞
知道小有建树答主
回答量:984
采纳率:90%
帮助的人:528万
展开全部
;将键盘输入的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
jmp endd
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
ojfa32
2010-11-10 · TA获得超过456个赞
知道答主
回答量:517
采纳率:0%
帮助的人:285万
展开全部
CSEG SEGMENT
ASSUME CS:CSEG
START: SUB BX,BX
MOV DL,10H
MOV AH,02H
MOV CX,0F0H
LP:
INT 21H
PUSH DX
MOV DL,0
INT 21H
POP DX
INC DL
INC BL
CMP BX,10H
JNZ B
SUB BX,BX
PUSH DX
MOV DL,0DH
INT 21h
MOV DL,0AH
int 21h
POP DX
B: LOOP LP
MOV AH,4CH
INT 21H
CSEG ENDS
END START
我有很多种方法,这一种代码最短。。
lz是大2的吧,这个实验我几个星期前做过。。
这些实验还是自己做下比较好。要是实在做不出,再看看别人怎么写。网上很多的。。。
恩,是有个地方要改。。。
请参考
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
做而论道
高能答主

2016-02-28 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式