[英]Assembly Extended Registers not working
我是大會和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
與放置.386
有關。 在您的情況下, SEGMENT
指令將被解釋為USE32段,但是您需要一個USE16段。
更改
CODE SEGMENT
至
CODE SEGMENT USE16
或將.386
指令放在CODE SEGMENT
之后 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.