理解实模式下的逻辑地址

80286时cpu里寄存器都是16(可访问0x0000-0xFFFF的内存地址)位的,要访问1MB的内存空间(0x00000-0xFFFFF)是不够的。为此提出了逻辑地址的概念。

逻辑地址是用段寄存器(CS,DS,ES,SS,FS,GS)和偏移地址寄存器(DI,SI,BX,IP)来表示的。将1M的内存分成16个段,每个段为64KB,16X64KB=1MB。

如80000h:0000h可以表示成8000h:0000h,即逻辑地址为20位。

又如CS=8A00h IP=001Bh

那么将要执行的代码地址 8A000h+001Bh=8A01Bh,所以有时段的地址不一定0000,1000,2000...;F000开头的。

只有是在1M地址内,段的开始地址segstart和偏移量offset必须满足:

1> segstart+offset<=0xFFFFFh

2> offset <=0xFFFFh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值