当前位置:   article > 正文

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

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为数据,而非地址

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

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号