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名称被保留下来,并被用来表示大寄存器中的低位部分

  • Register的内部分区及segement

  • 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