是否有彙編指令讓我們直接「設置」或「清除」英特爾8086 16位標誌寄存器中的「OF」和「TF」標誌?如果不是,我們應該使用哪些僞代碼?用於設置,清除OF和TF標誌的彙編指令
5
A
回答
6
http://en.wikipedia.org/wiki/Trap_flag
8086沒有指令直接設置或重置陷阱標誌。這些操作是通過按下堆棧上的標誌寄存器,將陷阱標誌位更改爲程序員所希望的,然後將標誌寄存器從堆棧中彈出。設置陷阱標誌的指令是:
PUSHF ; Push flags on stack
MOV BP,SP ; Copy SP to BP for use as index
OR WORD PTR[BP+0],0100H ; Set TF flag
POPF ; Restore flag Register
要重置陷阱標誌,只需更換OR指令前述序列與所述指令在:
AND WORD PTR[BP+0],0FEFFH
要設置並清除溢出標誌,你可以這樣做,用0800H
和0FEFFh
替換0100H
和0F7FFh
。
在設置之前一定要知道TF
的功能。這是一個陷阱。
相關問題
- 1. 設置和清除標誌
- 2. x86彙編 - 比較SF和OF標誌
- 3. 在彙編語言中設置NEG指令設置溢出標誌
- 4. CUDA 5 NSIGHT設置彙編標誌
- 5. 如何以編程方式設置或清除32位標誌?
- 6. 關於testl的彙編指令
- 7. gcc彙編標誌
- 8. gcc彙編標誌
- 9. ARM彙編指令
- 10. MSP430彙編指令
- 11. smulwb彙編指令
- 12. 用於清除日誌文件的Log4net設置
- 13. ARM彙編中的STR和LDR指令
- 14. 我們如何使用匯編中的.if指令中的標誌值
- 15. 困惑的彙編指令
- 16. 彙編指令STRB的ARMv7
- 17. 用於複數乘法的彙編代碼/ AVX指令。 (GCC內聯彙編)
- 18. 指令和彙編參考文獻
- 19. 彙編:jmpf,TESTB和其他指令
- 20. 彙編語言 - 標誌設置讓我頭疼
- 21. x86彙編CMP不設置零標誌正確
- 22. 自動工具:如何設置全局彙編標誌
- 23. 直接在ARM彙編器中設置CPSR標誌
- 24. 關於8086彙編的DB和DUP指令
- 25. 使用GNU彙編器的-pg標誌
- 26. 清除Heroku日誌(命令)
- 27. 彙編mips指令lbu
- 28. ARM彙編「retne」指令
- 29. 彙編比較指令
- 30. 彙編語言指令
在問這個問題之前,您是否閱讀過[Intel手冊](http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html)? – DCoder
http://en.wikipedia.org/wiki/Trap_flag –
@DCoder在發佈評論之前,您有沒有在英特爾手冊中找到這樣的東西的僞代碼? –