当前位置: 首页 > news >正文

偏移寻址

相对寻址. PC(Program Counter)

以程序计数器pc所指的地址作为起点

当前指令存放地址位1000

若当前指令字长=2B,则PC+2

若当前指令字长=4B,则PC+4

相对寻址:EA=(PC)+A,其中A是相对PC所指的位移量,可正可负,补码表示

优点:这段代码在程序内浮动时不用更改跳转指令的地址码

基址寻址. BR (Base Address Register)

以程序的起始存放地址作为起点

将cpu中基址寄存器(BR)内容加上指令格式中地址形式A

而形成的有效地址EA=(BR)+A

程序员是不能操作br的值的,因为程序员不知道应用程序放在内存的什么位置

当用户决定哪个寄存器作为基址寄存器后,其内容不可由程序员擅自修改,而是由操作系统决定

优点:可扩大寻址范围(基址寄存器的位数大于形式地址A的位数)用户不必考虑自己的程序位于主存的那一个空间区域,故有利于多道程序设计,以及可用于编制浮动程序。

变址寻址. IX(Index Register)

程序员自己决定从哪里作为起点

除了EA=(IX)+A之外,和基址寻址一模一样

变址寄存器是面向用户的,在程序执行过程中,变址寄存器的内容可以由用户改变

![image-20250915164529326](/Users/tusier/Library/Application Support/typora-user-images/image-20250915164529326.png)

在数组处理过程中,可设定A为数字的首地址,不断改变编制寄存器的IX内容,便可很容易形成数组中任意数据的地址,特别适合编制循环程序。

优点:在数据处理过程中,可设定A位数组的首地址,不断改变编制寄存器IX的内容,便可很容易形成数组中任意数据的地址,特别适合编制循环程序

硬件是如何将两个数进行比较的

硬件视角:通过cmp指令 比较a和b,实际上是用a-b

相减的结果会记录在程序状态字寄存器中(PSW) 标志寄存器

PSW有几个比特位记录上次的运算结果,

进位/借位标志CF,最高位有进位/错位时CF=1

零标志ZF,运算结果为0时,ZF=1

符号标志SF,运算结果为负,SF=1

溢出标志OF,运算结果有溢出,OF=1

堆栈寻址. SP(Stack Pointer)

操作数存放在堆栈中,隐含使用sp作为操作数地址,sp指向栈顶元素

将数据弹出栈的时候使用:POP ACC

寻址方式 有效地址 访存次数(执行指令期间)
隐含寻址 程序指定 0
立即寻址 A即使操作数 0
直接寻址 EA=A 1
一次间接寻址 EA=(A) 2
寄存器寻址 EA=R_i 0
寄存器间接一次寻址 EA=(R_i) 1
相对寻址 EA=(PC)+A 1
基变寻址 EA=(BR)+A 1
变址寻址 EA=(IX)+A 1
堆栈寻址 入栈出栈时EA的确定方式不同 硬堆栈不访存,软堆栈访存一次
http://www.wxhsa.cn/company.asp?id=4828

相关文章:

  • 金融业-数字化转型大赛-网络安全赛道部分wp
  • Mysql查找含字符串表字段
  • MySQL注意事项与规范 - 实践
  • 真正的元推理,不需要人类的认可,恰恰是人类追求元推理,只有元推理才能彻底解放人类
  • 西电微机原理-第三章 Intel处理器指令系统及汇编语言(5)
  • 西电微机原理-第五章 存储技术
  • 西电微机原理-第七章 常用接口器件
  • CF1264D1 Beautiful Bracket Sequence (easy version)
  • 西电微机原理-第六章 输入输出技术
  • 【FAQ】应用A如何使用应用B内的文件?
  • OpenStack Cinder 创建卷
  • 西电微机原理-第二章 Intel单核处理器
  • 二叉树的迭代遍历(非递归)
  • 记录---用好了 defineProps 才叫会用 Vue3,90% 的写法都错了
  • 今日流水账-2025年9月15日
  • c#给原文件重命名
  • tcpdump常用随笔
  • 2025年HR经理必备:10款高效人力资源管理软件推荐
  • GAS中GA变量数据的同步
  • 提升员工绩效的5大人才管理软件评测与分析
  • 【触想智能】工业显示屏与普通显示屏的八大区别以及应用领域分析
  • LLaVA- Improved Baselines with Visual Instruction Tuning - jack
  • 042-WEB 攻防:PHP 应用 MYSQL 架构 SQL 注入 跨库查询 文件读写 权限操作
  • Dsu On Tree 笔记
  • 西电微机原理-第一章 序论:微型计算机概述
  • Liunx 硬盘扩容
  • 船舶航向控制算法
  • pyside6 1
  • 基于WSL下载Hadoop和HBASE
  • 应用多、交付快,研发运维怎么管?看云效+SAE 如何一站式破局