80C51寻址方式

寻址方式就是寻找操作数的方式,所以说寻址方式本质上是根据寻找操作数的方式来区分的。80C51有7种寻址方式:

  1. 立即寻址:操作码之后是立即数(8位或16位二进制数)
    如:MOV A, #01H ;表示将立即数01H送到累加器A
  2. 直接寻址:操作码之后是操作数所在单元的地址
    如:MOV A, 01H ;表示将01H地址单元的内容送到累加器A
    可采用直接寻址的空间有:片内RAM低128字节(00H–7FH)、特殊功能寄存器
  3. 寄存器寻址:操作码之后是存放操作数的寄存器单元
    如:MOV A, R1 ;表示将R1寄存器中的内容送到累加器A
    可使用的寄存器:R0–R7、累加器A、寄存器B、数据指针寄存器DPTR和位处理器C
  4. 寄存器间接寻址:操作码之后是存放 操作数所在的寄存器单元地址 的寄存器
    如:MOV A, @R1 ;表示以R1中存放的内容为操作数地址,根据操作数地址找出操作数,然后送到累加器A
    可使用的寄存器:R0、R1、数据指针寄存器DPTR
    寻址对应的空间为:
    片内RAM(@R0,@R1,SP)
    片外RAM(@R0,@R1,@DPTR)
  5. 变址寻址:将两个寄存器的内容相加作为操作数的地址
    如:MOVC A, @A+DPTR; 表示将A寄存器和DPTR寄存器的内容相加,作为操作数的地址,根据操作数地址找出操作数,然后送到累加器A
    注意:只限于访问ROM,且以PC或DPTR作为基址,A作为变址
  6. 相对寻址:以PC的内容作为基地址,加上指令给定的有符号8位偏移地址,所得结果作为跳转地址
    如:JC rel ;表示跳转到当前PC值+rel的地址单元处,取指令并执行
    注意:当前PC值为:该指令存储地址+指令字节数
  7. 位寻址:属于直接寻址,但它的寻址对象是可寻址空间的一个位而不是一个字节
    如:MOV C, 00H; 将位地址00H的内容送到PSW寄存器的CY位
    可寻址位有:内部RAM的20H–2FH以及部分SFR位

以上是我看书后对80C51七种寻址方式的总结,不足之处请在评论区指出。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值