段基地址是什么?

段基地址是什么?,第1张

X86实模式下内存地址为20位二进制数(5位16进野岁制数),一般表示成xxxx:yyyy(16进制)的形式,称为逻辑地址;对应的物理地址为xxxx0+yyyy。逻辑地址中的xxxx就称为段基址,yyyy称为偏移量。多个逻辑地址可能对应同一个物理地址。

因为物理地址的计算公式是xxxx0+yyyy,所以要先在段基地址xxxx的后郑脊薯面补4个0(2进制,喊者在16进制下就是一个0),再加上偏移量。

段首址就是装入段灶键后开始存放的地方

基址就是程序的开始隐仿巧地址

比如

data segment

org 1000h

data ends

code segment

org 500h

mov ax,data

mov ds,ax

xxx:

code ends

假如data 装入DS段地址为0100h处,那么偏移地址就是1000h,data装入内存中的地址即0100h:1000h

假如大亩code段装入cs段地址0200h,偏移地址0500h,代码从0200h:0500h处开始执行这个500h就是基地址,而XXX处可以地址为基地址+6(disp偏移)

其实段地址是DS寄存器器,偏移量不是放入寄存器的,是变量标记的。程序派携贺里的变量其实就是一个地址,就是相对隐烂于本段的偏移地址。

CS寄存器是存放代码段的段基址的。尘派SP寄存器是栈顶位置寄存器


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12564725.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存