首页 > 其他分享 >5.2-寻址方式及指令寻址

5.2-寻址方式及指令寻址

时间:2023-02-26 20:13:40浏览次数:28  
标签:5.2 程序 第一条 PC 地址 寻址 指令

寻址方式的概念

根据冯诺依曼计算机工作原理,需要根据物理地址从内存种取指令和数据,如何获得指令和数据的物理地址?

文本

中度可信度描述已自动生成

寻找指令和操作数的有效地址的方式

指令的寻址方式

  • 计算指令有效地址的方法
  • 指令的寻址方式只有两种

  1. 顺序寻址

1) 程序的指令序列在主存顺序存放,执行时从第一条指令开始,逐条取出并逐条执行,这种程序的顺序执行过程,称为顺序寻址方式。所以只要知道第一条指令地址就可以一直执行了,关键点要知道第一条指令在哪,这就要靠操作系统将程序装载的时候,就会将第一条指令地址提供给cpu

    2) CPU中设置程序计数器(PC)对指令的顺序序号进行计数。PC开始时存放程序的首地址,每执行一条指令,PC加“1”,指出下条指令的地址,直到程序结束。程序装载的时候要将第一条指令地址送给PC寄存器

图形用户界面

中度可信度描述已自动生成

首先程序装载时,第一条指令地址是100,送入pc寄存器,pc根据100在主存中寻址,拿到指令后存入指令寄存器IR,同事更新指令地址加一,变成101继续寻址,这个+1指的是一条指令存储需要的单元数,比如一个指令需要4个字节,那么实际上是加4

  2. 跳跃寻址

图示

描述已自动生成

首先程序装载将100号指令放入PC计数器,取出后放入指令寄存器,这个时候,指令寄存器要执行JMP指令将PC寄存器的指令地址更新为103,后继续向下执行,这个时候PC中寻址的地址就变成103,而不是+1了

标签:5.2,程序,第一条,PC,地址,寻址,指令
From: https://www.cnblogs.com/smilexm/p/17157491.html

相关文章

  • 常见寄存器与汇编指令
    学习ctf中RE模块必须掌握的寄存器通用寄存器32位16位作用EAX(累加器)AX作用于操作数和结果的数据EBX(基址寄存器)BXDS段中的数据指针ECX(计数器)CX用......
  • GIT初学者详细指令学习
    参考网站:https://www.liaoxuefeng.com/wiki/896043488029600基础概念1.自定义名字和邮箱号gitconfig--globaluser.name“yourname”gitconfig--glob......
  • 899~900 Maven 指令的生命周期,概念模型图
    Maven指令的生命周期maven对项目构建过程分为三套相互独立的生命周期,请注意这里说的是“三套”,而且“相互独立”,这三套生命周期分别是:CleanLifecy......
  • 如何在VC++ 6.0中实现拖动指令改变执行路径?
    前文提要:在VC6.0之后出现的VS系列开发工具都具有的调试功能:移动指针更改执行流,VC6不支持这个UI操作。调试程序暂停时,源代码或“反汇编”窗口边距处的黄色箭头标记要运......
  • Linux查询CPU,内存,硬盘使用率以及网卡流量指令
    Linux查询CPU,内存,硬盘使用率以及网卡流量指令1.获取cpu使用率//cpu`top-b-n1|fgrep"Cpu"|awk'{print100-$8}'`2.获取内存使用率//内存`free-m|fgrep......
  • Vue3自定义指令
    Vue3自定义指令自定义指令的定义:自定义指令是用来操作DOM的,尽管vue推崇数据驱动视图的理念,但并非所有情况都适合数据驱动。自定义指令就是一种有效的补充和拓展,不仅仅......
  • Unity下简易字符串指令调试
    Unity下简易字符串指令调试输入相应的字符串命令即可调用特定的方法,比如让角色等级提升,生成特定数量的Boss等usingSystem;usingUnityEngine;usingSystem.Collectio......
  • [OS] 游戏党狂喜 AtlasOS v0.5.2 Win10高性能精简版
    [OS]游戏党狂喜AtlasOSv0.5.2Win10高性能精简版此文章引用地址:https://www.hybase.com/xitong/windows/2375.html哈喽,黑域小伙伴,AtlasOS可能大家比较陌生,但对于爱......
  • v-pre指令
     略过其节点的解析过程       ......
  • 指令
      这个说明操作数地址有多个,正是下面我们的四地址码,三地址码等的内容  操作码: 解释:如何理解? 即三地址指令操作码每保留一个......