STC12C5A60S2单片机学习DAY.5 单片机寻址方式与指令

一、寻址方式

1、立即寻址

直接给出参与运算的操作数,不管此数字存放在哪个地址

如MOV A,#70H,即为将70H放入累加器A中

2、直接寻址

指令操作数域是参与运算的数的地址

如ANL 70H,#42H

表示地址为70H的数与立即数42H相与,得到的结果存放在70H中

3、间接寻址

采用R0/R1前添加@实现

假设R1中存放的数据为55H,这个55H表示的是一个地址,55H中存放的数据为44H

MOV A,@R1

表示将数据44H送入累加器A中

4、寄存器寻址

对工作寄存器R0~R7、累加器A、通用寄存器B、进位C、地址寄存器中的数进行操作。

如INC R0;   自加一  表示寄存器R0的值自加1后赋给R0,类似i++

5、相对寻址(主要用于转移指令)

将程序计数器PC中的当前数据(基地址)与指令给出的数(偏移量)相加,结果作为转移指令的转移地址。偏移量范围+127~-128

6、变址寻址

MOV  A,@A+DPTR;

表示累加器A为偏移量寄存器,A中的数据与地址寄存器DPTR中的内容相加,得到的数据为一个地址,将此地址中放的数据送入累加器A

7、位寻址

对一些内部数据存储器和特殊功能寄存器进行微操作时的寻址,需要借助进位C作为位操作累加器

指令操作数直接给出该位地址

位寻址和直接寻址的字节地址形式完全一样,需要有操作码加以区分!!!

如MOV C,20H;   其中20H是一个地址,而非数据

对比直接寻址MOV A,#20H,此时20H为数据,而非地址

二、指令集与指令定义(参考手册)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值