段超越前缀

更新时间:2024-05-21 11:32

段超越前缀用来改变默认段寻址,通常内址寻址是数据段或者堆栈段,但你可以在指令前面加上段超越前缀,就可以访问到其它段内的数据。

8086/8088指令系统中的段地址有四个:

ES Extra segment 附加段寄存器

DS Data segment 数据段寄存器

CS Code segment 代码段寄存器

SS Stack segment 堆栈段寄存器

我们通常用到的寄存器间接寻址方式会用到下边几个

DI, SI, BX, BP

其中前三个对应的段默认位DS,就是数据段寄存器

而最后一个BP默认对应的是SS, 就是堆栈段寄存器

所以当我们要用到代码段寄存器或者附加段寄存器的时候就会用到段超越前缀

例如:

mov ax, [si] = mov ax, ds:[si]

mov ax, [bp] = mov ax, ss:[bp]

而段超越的则必须在前边加上段地址

mov ax, cs:[si]

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}