在下面的汇编语言中加入一段,使输出的二进制没有前面无用的0!急求,在线等

CODESEGMENTASSUMECS:CODESTART:MOVBX,20MOVCX,16NEXTCHAR:ROLBX,1MOVDL,BLANDDL,1ORDL,30H... CODE SEGMENT
ASSUME CS:CODE
START:
MOV BX,20
MOV CX,16
NEXTCHAR:
ROL BX,1
MOV DL,BL
AND DL,1
OR DL,30H
MOV AH,2
INT 21H
LOOP NEXTCHAR

FINISH:
MOV DL,'B'
MOV AH,2
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
展开
 我来答
浪花飘零2000
2014-11-05 · TA获得超过630个赞
知道小有建树答主
回答量:579
采纳率:0%
帮助的人:530万
展开全部
程序写好,逻辑上应该没什么问题,加的部分做了注释,若满意请及时采纳,有问题的话请追问
CODE SEGMENT
ASSUME CS:CODE
START:
MOV BX,20
MOV CX,16
NEXTCHAR:
ROL BX,1

MOV DL,BL
AND DL,1
OR DL,30H
CMP DL,30H ;是'0'?
JNZ EQU30 ;不是,转写标记
CMP WORD PTR [yes],1 ;是'0',遇到过'1'吗?
JNZ TONEXT ;未遇到,直接跳过显示
JMP EQU31 ;遇到,转显示
EQU30:
MOV BYTE PTR DS:[yes],1 ;做遇到"1"得标记
EQU31:
MOV AH,2
INT 21H

TONEXT:
LOOP NEXTCHAR

FINISH:
MOV DL,'B'
MOV AH,2
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
yes DB 0
END START
追问
yes 	DB 0

这行什么意思啊?编译时有错误啊
追答
yes是一个变量,0表示没遇到1,1表示遇到1
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式