簡體   English   中英

程序集擴展寄存器不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM