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