《Linux内核设计的艺术》学习笔记(四)默认段和偏移寄存器

  参考书籍:《Intel微处理器》

 

  表1 默认的16位段 + 偏移寻址组合

偏移量 特殊用途
CS IP 指令地址
SS SP或BP 堆栈地址
DS BX、DI、SI、8位或16位数 数据地址
ES 串指令的DI 串目标地址

 

  表2 默认的32位段 + 偏移寻址组合

偏移量 特殊用途
CS EIP 指令地址
SS ESP或EBP 堆栈地址
DS

EAX、EBX、ECX、EDX、

ESI、EDI,一个8位或32位数

数据地址
ES 串指令的EDI 串目标地址
FS 无默认值 一般地址
GS 无默认值 一般地址

 

  ◆ SEG指令:

  SEG指令改变默认的“段 + 偏移寻址组合”中的段寄存器。 

SEG CS

MOV sectors, CX

MOV AX, #INITSEG

       SEG 只会影响MOV sectors, CX(相当于MOV CS:[sectors], CX),而不会影响MOV AX, #INITSEG。

posted @ 2015-09-20 22:27  motein  阅读(327)  评论(0编辑  收藏  举报