Instruction And Addressing Modes
Addressing Modes
- 在8086中,16位通用寄存器可以拆成两个8位寄存器,如AX(16 bit) - AH(8 bit) + AL(8 bit)
Register
- AX, BX, CX, DX → General(通用寄存器)
- SP, BP → Pointer(指针寄存器)
- SI, DI → Index(索引寄存器)
- CS, DS, SS, ES → Segment(段寄存器)
- IP → Instruction(指令指针)
- FR → Flag(标志寄存器)
- 随着Intel Architecture架构的发展,Register的宽度从16位扩展到32位,再到今天最主流的64位,而原有的Register名称被保留下来,并被用来表示大寄存器中的低位部分


- EAX/AX:常用于乘法除法以及一些adjustment instruction
- EBX/BX:有时用来保存某个内存位置的offset address
- ECS/CS:常用来保存计数值,如循环次数
- EDX/DX:在乘法中保存结果的一部分,或在出发中保存被除数的一部分
- EBP/BP:作为pointer指向内存中的某个位置
- EDI/DI:常用于string instruction,指向destination data
- ESI/SI:常用于string instruction,指向source data