【单片机原理与应用】mcs-51的七种寻址方式

本文详细介绍了微处理器中各种寻址方式的概念和应用,包括寄存器寻址、立即寻址、寄存器间接寻址、直接寻址、变址寻址、相对寻址、位寻址等,并通过实例对比了不同寻址方式之间的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(寻址方式:所谓寻址方式就是CPU执行那一条指令时如何找到该指令所要求操作数的方式)

  • 寄存器寻址
    • 操作数放在寄存器中,在指令中直接以寄存器的名字来表示操作数的地址。例如MOV A, RO,即将R0寄存器的内容送到累加器A中
  • 立即寻址
    • 操作数直接出现在指令中,紧跟在操作码的后面,作为指令的一-部分与操作码一起存放在程序存储器中,可以立即得到并执行,例如: MOVA #30H指令中30H就是立即数,。这一条指令的功能是执行将立即数30H传送到累加器A中的操作。
  • 寄存器间接寻址
    • 由指令指出某一寄存器的内容作为操作数地址的寻址方法,例如: MOVA, @R1,将以工作寄存器R1中的内容为地址的片内RAM单元的数据传送到A中去
  • 直接寻址
    • 指令中直接给出操作数所在的存储器地址,以供取数或存数的寻址方式称为直接寻址。例如: MOVA, 40H指令中的源操作数就是直接寻址,40H为操作数的地址。该指令的功能是把片内RAM地址为40H单元的内容送到A中
  • 変址寻址
    • 基地址寄存器加变址寄存器间接寻址
  • 相对寻址
    • 相对寻址是以当前程序计数器PC值加上指令中给出的偏移量rel,而构成实际操作数地址的寻址方法。它用于访问程序存储器,常出现在相对转移指令中。
  • 位寻址
    • 位寻址是在位操作指令中直接给出位操作数的地址,可以对片内RAM中的128  位和特殊功能寄存器SFR中的93位进行寻址
  • 课后练习题:比较下列两条指令的区别
    • MOV A,#24H 与 MOV A,24H
      • 前者是立即寻址,功能是将立即数24H直接传送到累加器A中
      • 后者是直接寻址,功能是将地址为24H的操作数传送到累加器A中
    • MOV A,R0 与 MOV A,@R0 
      • 前者是寄存器寻址,直接将R0寄存器中的数据传送到A中
      • 后者是寄存器间接寻址,功能是将地址指针R0所指向内部数据存储器单元中的数据送入累加器A中
    • MOV A,@R0 与 MOVX A,@R0
      • 前者是寄存器间接寻址,功能是将R0中的数据作为地址进行寻址所得到的片内数据送入片内寄存器A中
      • 后者是寄存器间接寻址,功能是将R0中的数据作为地址进行寻址所得到的片外RAM数据送入A中
    • MOVX A,@DPTR
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值