MCS-51单片机寻址方式详解

本文详细介绍了MCS-51单片机的寻址方式,包括立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址和相对寻址。内容涵盖各寻址方式的适用场景、操作数地址的计算方法以及寻址范围。此外,还特别强调了位寻址在位操作指令中的应用和位寻址空间的组成。
摘要由CSDN通过智能技术生成

寻址方式

  1. 寻址空间

    • 对程序存储器,片外数据存储器都是以字节为单位寻址的。而对片内数据存储器,有些存储单元既可以字节为单位寻址,又可以位为单位寻址。位地址空间包括特殊功能寄存器SFR中能被8整除的寄存器地址中的88个位地址。格式如下:

      SFR 位地址 字节地址
      A E7~E0 E0H
      B F7~F0 F0H

      特殊功能寄存器:(MSB:最高有效位–Most S Bit)

      • A(ACC) -> E0H
      • B -> F0H
      • PSW:程序状态字 -> D0H
      • SP:堆栈指针 ->
      • DPTR:数据指针(由DPH和DPL组成,DPH是高位,DPL是低位)->
      • P0P3:P0口锁存器P3口锁存器 ->
      • IP:中断优先级控制寄存器 ->
      • IE:中断允许级控制寄存器 ->
      • TMOD:定时器/计数器方式控制寄存器(Time MOD) ->
      • TCON:定时器/计数器控制寄存器(Time CON)->
      • TH0:定时器/~0(高字节)->
      • TL0 ->
      • TH1 ->
      • TL1 ->
      • SCON:串行口控制寄存器
      • SBUF:串行口数据缓冲器
      • PCON:电源控制寄存器(Power CON)
    • 一共有22个特殊功能寄存器,其中有11个特殊功能寄存器由于字节地址正好能被8整除,所以既可以按字节寻址,又可以按位寻址,不带括号。剩余的11个寄存器只能按字节地址进行寻址。

    • 位地址空间还包括片内数据存储器地址20H~2FH区间内的128个位地址字节地址和位地址对应如下:

      字节地址 位地址
      2FH 7F~79
      ~ ~
      20H 07~00
  2. 符号注释

    • Rn:当前选中的工作寄存器组R0R7(n=07)。它在RAM中的地址由PSW中的R0和R1决定【RAM有四个工作寄存器区,刚好由0,1决定】
    • Ri:当前选中的工作寄存器组中可以作为地址指针的两个工作寄存器R0,R1。片内的地址通过计算可得。
    • # data:8位立即数。其中"#"是立即寻址符,符号后面的数是立即数。
    • # data 16:16位立即数
    • direct :8位片内RAM(包括SFR)的直接地址。
    • addr 11:11位目的地址
    • addr 16:16位目的地址
    • rel:相对地址,用于相对转移指令,书写源程序时,rel一般用符号表示,汇编程序自动计算rel的偏移量。
    • bit:片内RAM或SFR的直接寻址位地址
    • @:寄存器间接寻址符
    • /:位操作命令中,表示对该为先取反再参与操作,但不影响该原位原值
  3. 立即寻址

    MOV A,#45H ;MOV DPTR,#DATA
    ;机器代码 74(PC) 45
    
  • 1
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飔、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值