202. 汇编语言
说明
书籍 PC Assembly Language by Paul A. Carter
introduction
computer organization
register
general purpose registers
AX, BX, CX, DX
用途
data movement
arithmetic instructions
特性
- 可分为两个8bit寄存器, 如AX=AH+AL
index registers
SI, DI
用途
用作 pointer
和通用寄存器可用作相同的用途
特性
- 不可分为8bit的寄存器
segment registers
CS, DS, SS, ES
用途
- CS: 表示 Code Segment
- DS: 表示 Data Segment
- SS: 表示 Stack Segment
- ES: 表示 Extra Segment, 也可以用作一个临时段存储器
Instruction Pointer(IP) register
IP
用途
- 和CS寄存器一起用以追踪CPU执行的下一条指令地址
FLAGS register
FLAGS
用途
- 存储上一条指令结果
特性
- 并不是所有的指令都可以修改 FLAGS 的 bits
extra registers
EAX, EBX, ECX, EDX
特性
EAX就是AX的拓展, 不用AX而用EAX是为了向后兼容
AX就是EAX的低16bit, 类似于AL相对于AX, 但是不能直接访问EAX高16bit
段寄存器
FS, GS
用途
- extra temporary segment registers (like ES)
字(word)定义
CPU中的数据寄存器(data register)的大小, 在8086发布时被定位为16bit(2Byte), 但是到80836, 即便是寄存器大小改变了, 但并未改变word的定义, 依旧是16bit(2Byte)