14.2 寄存器和指令

实地址模式下的寄存器集合包括8086定义的所有寄存器,加上80386新引入的寄存器:FS, GS, 调试寄存器,控制寄存器,和测试寄存器。可以显式的使用段寄存器FS和GS作为操作数,而且可以使用新引入的段-重写前缀来利用FS和GS来计算地址。指令可以利用操作数长度前缀来使用32位操作数。

保护模式下操作,检查80386选择符和描述符的指令导致未定义操作码陷阱(中断6);这些指令包括:VERR, VERM, LAR, LSL, LTR, STR, LLDT和SLDT。在实地址模式下执行的程序可以通过80186/80188, 80286和80386的介绍来使用新加入的应用导向指令。

  • New instructions introduced by 80186/80188 and 80286.
    • PUSH immediate data
    • Push all and pop all (PUSHA and POPA)
    • Multiply immediate data
    • Shift and rotate by immediate count
    • String I/O
    • ENTER and LEAVE
    • BOUND
  • New instructions introduced by 80386.
    • LSS, LFS, LGS instructions
    • Long-displacement conditional jumps
    • Single-bit instructions
    • Bit scan
    • Double-shift instructions
    • Byte set on condition
    • Move with sign/zero extension
    • Generalized multiply
    • MOV to and from control registers
    • MOV to and from test registers
    • MOV to and from debug registers