鱼C论坛

 找回密码
 立即注册
查看: 4717|回复: 2

[学习笔记] 《零基础入门学习汇编语言》第十讲与检测点2.3

[复制链接]
发表于 2017-6-24 17:49:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 shuiyu 于 2017-12-20 15:05 编辑

小白刚学,不对的请各位大佬指正,谢谢

第十讲

一、段寄存器
(1)在地址加法器的位置要转换物理地址:物理地址=段地址×16+偏移地址   而段地址需要地方来存储,所以我们这次学习的就是段寄存器。
(2)段寄存器就是提供段地址的。8086CPU有4个段寄存器:CS、DS、SS、ES。当8086CPU要访问内存时,由这4个段寄存器提供内存单元的段地址。
CS:提供代码地址
DS:提供数据地址
SS:提供堆栈地址
ES:什么都有的,就是说前面不够放的话就放到这里来。

二、CS和IP
(1)CS和IP是8086CPU中最关键的寄存器,它们指示了CPU当前要读取指令的地址。CS为代码段寄存器;IP为指令指针寄存器。
(2)8086PC工作过程的简要描述:
        1.从CS:IP指向内存单元读取指令,读取的指令进入指令缓冲器;
        2.IP = IP + 所读取指令的长度,从而指向下一条指令;
        3.执行指令。 转到步骤 (1),重复这个过程。
(3)在 8086CPU 加电启动或复位后( 即 CPU刚开始工作时)CS和IP被设置为CS=FFFFH,IP=0000H。即在8086PC机刚启动时,CPU从内存FFFF0H单元中读取指令执行。FFFF0H单元中的指令是8086PC机开机后执行的第一条指令。

三、修改CS、IP的指令
(1)同时修改CS、IP的内容:jmp 段地址:偏移地址
例如:        jmp 2AE3:3
                jmp 3:0B16
功能:用指令中给出的段地址修改CS,偏移地址修改IP。
(2)仅修改IP的内容:jmp 某一合法寄存器
例如:        jmp ax   (类似于 mov IP,ax)
                jmp bx
功能:用寄存器中的值修改IP。

四、代码段
(1)对于8086PC机,在编程时,可以根据需要,将一组内存单元定义为一个段。可以将长度为 N( N≤64KB )的一组代码,存在一组地址连续、起始地址为 16的倍数的内存单元中,这段内存是用来存放代码的,从而定义了一个代码段。
(2)一段长度为 10 字节的字节的指令,存在从123B0H~123B9H的一组内存单元中,我们就可以认为,123B0H~123B9H这段内存单元是用来存放代码的 ,是一个代码段 ,它的段地址为123BH,长度为10字节。
(3)如何使得代码段中的指令被执行:将CS:IP指向所定义的代码段中的第一条指令的首地址。如刚才的CS = 123BH,IP = 0000H。即 jmp 123B:0000


检测点2.3

下面的3条指令执行后,cpu几次修改IP?都是在什么时候?最后IP中的值是多少?  

mov ax,bx  

sub ax,ax  

jmp ax  


答:一共修改四次,IP的值为0.

第一次:读取mov ax,bx之后:IP指向下一条指令(即:sub ax,ax),所以IP发生第一次变化

第二次:读取sub ax,ax之后  :IP指向下一条指令(即:jmp ax),所以IP发生第二次变化。(百度了一下sub是自减,就是ax=ax-ax,ax变成0了)

第三次:读取jmp ax之后  :IP指向下一条指令(虽然我们不知道下一条指令是什么,就算是空的,但是IP也会指向下面),所以IP发生第三次变化。

第四次:执行jmp ax修改IP  :IP=ax=0000H,所以IP发生第四次变化。


谢谢小甲鱼带来的视频教程,感谢!!


   
本节结束,多谢览阅!
小白刚学,不对的请各位大佬指正,谢谢

评分

参与人数 2荣誉 +1 鱼币 +6 贡献 +1 收起 理由
notfornothing + 1 + 1 + 1 鱼C有你更精彩^_^
小甲鱼 + 5 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-3 17:28:33 | 显示全部楼层

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-11-27 15:28:51 From FishC Mobile | 显示全部楼层
妙啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 22:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表