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

计算机系统(6)

◆指令寻址方式:

顺序寻址方式:执行一段程序时,是一条指令接着一条指令的顺序执行。

跳跃寻址方式:下一条指令的地址码不是由程序计数器给出,而是由本条指令直接给出。程序跳跃后,按新的指令地址开始顺序执行。因此,程序计数器的内容也必须相应改变,以便及时跟踪新的指令地址。


◆指令操作数的寻址方式

1. 立即寻址(Immediate Addressing)

  • 定义:操作数直接包含在指令中(即立即数)。

  • 格式MOV R1, #10(将常数 10 存入寄存器 R1)

  • 特点

    • 速度快(无需访存)。

    • 但操作数大小受限(如 8/16/32 位立即数)。

  • 适用场景:初始化寄存器、短常数运算。


2. 寄存器寻址(Register Addressing)

  • 定义:操作数在 CPU 寄存器中。

  • 格式ADD R1, R2(R1 = R1 + R2)

  • 特点

    • 速度最快(直接访问寄存器)。

    • 寄存器数量有限(如 x86 有 16 个通用寄存器)。

  • 适用场景:高频数据运算。


3. 直接寻址(Direct Addressing)

  • 定义:指令直接给出操作数的内存地址。

  • 格式MOV R1, [0x1000](将内存地址 0x1000 的数据加载到 R1)

  • 特点

    • 需要访存,速度较慢。

    • 地址范围受限(取决于指令编码位数)。

  • 适用场景:访问固定内存位置(如全局变量)。


4. 寄存器间接寻址(Register Indirect Addressing)

  • 定义:寄存器中存储的是操作数的内存地址。

  • 格式MOV R1, [R2](R2 存放地址,读取该地址的数据到 R1)

  • 特点

    • 比直接寻址灵活(地址可动态计算)。

    • 仍需访存,速度较慢。

  • 适用场景:指针操作、数组遍历。

5. 基址寻址(Base Addressing)

  • 定义:操作数地址 = 基址寄存器 + 偏移量。

  • 格式MOV R1, [R2 + 0x10](R2 是基址,0x10 是偏移量)

  • 特点

    • 适用于数组、结构体访问。

    • 需额外计算地址。

  • 定义:操作数地址 = PC(程序计数器) + 偏移量。

  • 格式JMP +0x20(跳转到当前指令地址 + 0x20)

  • 特点

    • 用于分支/跳转指令。

    • 支持位置无关代码(PIC)。

http://www.xdnf.cn/news/993511.html

相关文章:

  • React状态管理——zustand
  • 【Java开发日记】简单说一说使用 Netty 进行 Socket 编程
  • STM32——“扩展动态随机存储器SDRAM”
  • C#实现无声视频的配音与字幕生成器
  • DevSecOps实践:用Terraform策略检查筑牢基础设施安全防线
  • 阿里云实践创建实例步骤
  • 通信网络基础概念
  • Linux 进程和计划任务管理
  • ARXML可视化转换工具使用说明
  • 湖北理元理律师事务所:债务优化的法律逻辑与生活平衡术
  • K8s 指标收集方案对比
  • 在Ubuntu中使用Apache2部署项目
  • FastJSON 1.2.83版本升级指南:安全加固与性能优化实践
  • 二维磁光材料新纪元!NYUAD论文展示CCPS如何解决硅基光子芯片热耗散难题
  • 若依框架中权限字符(perms)的作用
  • Spark on yarn的作业提交流程
  • Android7 Input(十一)App View InputEvent事件分发
  • Appium + Python 测试全流程
  • STM32外设学习之串口
  • ABP vNext + Redis Streams:构建实时事件驱动架构
  • Redis的常用配置详解
  • 如何彻底解决缓存击穿、缓存穿透、缓存雪崩
  • Redis集群模式之Redis Cluster(1)
  • SPP——神经网络中全连接层输出尺寸限制的原因和解决办法
  • 【强连通分量 拓扑序】P9431 [NAPC-#1] Stage3 - Jump Refreshers|普及+
  • HashMap真面目
  • Python数据可视化艺术:动态壁纸生成器
  • 《C++初阶之类和对象》【类 + 类域 + 访问限定符 + 对象的大小 + this指针】
  • Vue3+TypeScript实现中介者模式
  • 【Docker管理工具】安装容器管理工具Oxker