我是相当新的汇编和TASM,我有以下问题。我想使用寄存器的扩展版本,特别是EBX。通过使用下面的代码,但没有“.386”指令,它不工作,说“未定义的符号EBX”。但有了它,它无法识别INT 21h指令,据我所知,该指令终止了程序,在使用TurboDebugger调试程序时非常有用。有人能告诉我如何避免这种情况吗?
PS:是的,我知道TASM和TD都很老了,还有更新更好的,比如NASM或MASM,但是我们在大学里必须使用这个,所以请不要告诉我使用其他的。
下面是代码:
.386
CODE SEGMENT
ASSUME CS : CODE , DS : CODE , SS : CODE
ORG 100H
ENTRY: JMP L1
; data definitions come here
;. . .
L1:
MOV EBX, 10H
MOV AX , 4C00H
INT 21H
CODE ENDS
END ENTRY
1条答案
按热度按时间mfpqipee1#
这与
.386
的位置有关。在您的情况下,SEGMENT
指令将被解释为USE32段,但您需要USE16段。变更
至
或者将
.386
指令放在CODE SEGMENT
行之后。