当前位置: 首页 > 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.zskr.cn/news/5324.html

相关文章:

  • 黑客必备的DevOps实战工作坊:4小时动手实验指南
  • 金融业-数字化转型大赛-网络安全赛道部分wp
  • MySQL注意事项与规范 - 实践
  • 西电微机原理-第七章 常用接口器件
  • CF1264D1 Beautiful Bracket Sequence (easy version)
  • 西电微机原理-第六章 输入输出技术
  • c#给原文件重命名
  • 提升员工绩效的5大人才管理软件评测与分析
  • LLaVA- Improved Baselines with Visual Instruction Tuning - jack
  • Liunx 硬盘扩容
  • 基于WSL下载Hadoop和HBASE
  • revit二次开发之 钢筋功能详细分析
  • java-wxj02
  • 利用Myo臂环采集肌电信号和角速度来实现实时手势识别
  • 实用指南:leetcode 966. 元音拼写检查器 中等
  • List与Dictionary区别
  • 汇编语言[王爽]-13 int指令【中断实现loop、jmp】
  • Supabase云同步架构:Flutter应用的数据同步策略
  • 【SPIE出版】第五届先进制造技术与电子信息国际学术会议(AMTEI 2025)
  • 2025.9.15 考试总结
  • 汇编语言[王爽]-02 寄存器
  • 2.docker 安装
  • 搞定SPI开发:硬件设计精讲与CH390H示例应用
  • 我开发的软件和开源/免费软件
  • ubuntu 20.04安装mysql 5.7
  • 企业微信逆向开发协议,ipad协议调用方式
  • OpenStack Nova Scheduler 计算节点选择机制
  • 记一种很新的 bitset
  • 有向图强连通分量
  • Kafka 消费者元数据topicId变化问题