段地址和段寄存器

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 12:24   46   0

1、8086外部提供了20位的地址总线,CPU内部只能提供16位地址

两个16位地址转换为20位

地址加法器合成物理地址的方法:

物理地址 = 段地址*16 + 偏移地址(16进制数*16就是向左移动一位)

在8-86PC机中,存储单元的地址用两个元素来描述。即段地址和偏移地址

段地址随意定义只要找到物理地址就行

2、段寄存器

段寄存器就是提供段地址的

8086CPU有4个段寄存器

CS、DS、SS、ES当8086要访问内存时,由这4个段寄存器提供内存单元的段地址

CS和IP是8086CPU中最关键的寄存器,他们指示了CPU当前要读取指令的地址

CS代码段寄存器

IP指令指针寄存器(偏移地址的寄存器)

//所以可以通过改变CS IP中的neir来控制CPU执行目标内容,如何改变CS IP

不可以用MOV AX,123

转移指令:JMP 2AE3:3(专用指令)

仅仅修改IP:

MOV AX,200

JMP BX

JMP AX

上面是用寄存器中的值修改IP

代码段

对于8086PC机,可以根据需要将一组内存单元定义为一个段

可以将长度为N的一组代码存放在一组地址连续的、起始地址为16的倍数的内存单元中,这段内存是用来存放代码的从而定义一个代码段。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP