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
Run Code Online (Sandbox Code Playgroud)
要重置陷阱标志,只需使用以下指令替换前面序列中的OR指令:
AND WORD PTR[BP+0],0FEFFH
Run Code Online (Sandbox Code Playgroud)
要设置和清除溢出标志,你可以做同样的,替换0100H用0800H和0FEFFh用0F7FFh.
TF在设置之前一定要知道它是做什么的.这是一个陷阱.