单片机指令系统概论
#单片机的指令系统概述
>指令系统概述
基本知识
- 包括功能、时间、空间三种属性,每条指令指明具体功能,一条指令执行所用的时间,指令占用的字节数
- 机器语言指令、汇编语言指令。机器语言的复杂指令集,111条。
- 每条指令由操作码和操作数组成。
汇编
- [标号:] 操作码助记符 [目的操作数][,源操作数][;注释]
- 标号要求:非关键字,字符开头,字符数字组成,不超过八个字符,行号位于行首
>寻址方式
地址给出的方式
操作数的定义:表示参加操作的数的本身或者操作数所在的地址。这里的操作数更像是备操作的数据,如果是一个地址时,就像指针指向的数据。暂且理解为动作和动作操纵的对象吧!
- 立即寻址
操作数直接出现在指令当中,作为操作码的一部分。#号操作数。
MOV A,#80H; - 直接寻址
直接使用数所在单元的地址找到该操作数,direct。
MOV A,00H; - 寄存器寻址
寄存器中存有操作数,Rn表示工作中的寄存器组,DPTR,A,B。direct。
MOV A,RO; - 寄存器间接寻址
寄存器中存有操作数的地址,寄存器起到地址指针的作用。
MOV A,@R0;R0作为地址,将其指向的数据传送到RAM中
MOVX A,@DPTR;DPTR作为地址,将其指向的数据传到RAM中 - 变址寻址
基址寄存器和变址寄存器的和,基址寄存器(只能是指令计数器pc和数据指针DPTR)@+。
目的是用来访问程序存储器中的常数表。
MOVE A,@A+DPTR;数据指针可以任意更改
MOVE A,@A+PC;PC示取指令的pc+1,不能任意更改 - 相对寻址
当前的PC值加上一个相对值形成的地址+
指令的第二个字节用八位二进制补码表示,用于跳转当前执行的程序。
PC中的当前地址称为基地址,第二个字节的数据称为偏移量
目的地址=指令存放地址+指令字节数+rel - 位寻址
对RAM的位寻址区或可为寻址的特殊功能寄存器的某些位进行操纵。
SETB 3DH;将27H.5 位置置为1。
Rn 表示工作寄存器之一
Ri 工作寄存器RO或R1
#data 表示8位立即数
#data16 表示16位立即数
direct 表示RAM或SFR的地址
bit 片内RAM或SFR的位地址
addr11 11位目的地址
addr16 16位目的地址
rel 补码形式的8位地址偏移量
/ 位操作指令,该位求反后参与操作,不影响该位
X RAM的直接地址
(X) 表示地质单元的内容
-> 左边内容送入右边内容
[1] CISC complex instruction set computer 复杂指令计算机
[2] RISC reduced instruction set computer 精简指令计算机
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Estom的博客!




