Assembly Language Note (3)

寄存器


2.9 段寄存器

CPU访问内存时要用到段地址+偏移地址,呢么段地址保存在哪里呢?在段寄存器中


2.10  CS IP

1.CS代码段寄存器  IP指令指针寄存器

2.8086CPU将从CSX16+IP单元开始读取指令执行

3.过程:A从CS:IP指向的内存单元读指令,读取的指令进入指令缓冲器

    BIP=IP+指令长度,从而指向下一条指令

    C执行指令。转到步骤A

4.CPU加电启动或复位后CS被置成FFFFH,IP被置成0000H,所以FFFF0H单元中的指令是8086PC机开启后第一条指令

     

2.11修改CS IP指令

1.我们可以通过MOV AX,123来改变寄存器中的值,但是MOV指令不能用于设置CS IP的值,(因为8086CPU没提供这个功能)

这个MOV被称为传送指令。

2.要修改CS IP我们用JMP指令,称为转移指令

3.jmp2AE3:3,执行后;CS=2AE3H,IP=0003H,CPU将从2AE33H处读取指令。

即,用指令中给出的段地址修改CS,偏移地址修改IP

4.如果只想修改IP内容,用JMP AX,如用JUM AX,指令执行前AX=1000H,CS=2000H,IP=0003H

                                 后:AX=1000H,CS=2000H,IP=1000H,

含意上好似:MOV IP,AX




错题

下面指令执行后,CPU几次修改IP,在什么时候?

MOV AX,BX

SUB AX,AX

JMP AX


一共4次,第一一次读取完MOV AX,BX,第二次读取完SUB AX,AX,第三次读取完JMP AX;第四次执行JMP AX将IP修改为AX

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值