Assembly 使用汇编8086中的堆栈计算行的空格

Assembly 使用汇编8086中的堆栈计算行的空格,assembly,x86,x86-16,Assembly,X86,X86 16,我想从输入行开始计算空格。我用下面的方法做了,但是每次它都给出相同的输出:0。似乎计数标签不起作用 **MAIN PROC XOR CX, CX MOV AH, 1 WHILE_: INT 21H CMP AL, 0DH JE END_WHILE PUSH AX INC CX JMP WHILE_ END_WHILE: MOV AH, 2 MOV DL, 0DH INT 21H MOV DL, 0AH INT 21H MOV BL,48 TOP: JCXZ EXIT POP DX DEC CX

我想从输入行开始计算空格。我用下面的方法做了,但是每次它都给出相同的输出:0。似乎计数标签不起作用

**MAIN PROC
XOR CX, CX
MOV AH, 1
WHILE_:
INT 21H
CMP AL, 0DH
JE END_WHILE
PUSH AX
INC CX
JMP WHILE_
END_WHILE:
MOV AH, 2
MOV DL, 0DH
INT 21H
MOV DL, 0AH
INT 21H
MOV BL,48
TOP:
JCXZ EXIT
POP DX
DEC CX
CMP DX, 20H
JE COUNT
JMP TOP
COUNT:
INC BL
JMP TOP
EXIT:
MOV AH, 2
MOV DL, BL
INT 21H
MOV AH, 4CH
INT 21H
MAIN ENDP

END MAIN**

cmp-dx,20h
可能应该是
cmp-dl,20h
<代码>啊推它时不是零。非常感谢。成功了。:)@FrankKotler将其作为答案发布,以便将问题标记为已结束。