- 1
- 0
- 约1.16万字
- 约 70页
- 2021-11-26 发布于江苏
- 举报
; 1. 单字节指令
单字节指令格式由8位二进制编码表示, 例如:
CLR A→E4H
2. 双字节指令
双字节指令格式由两个字节组成, 操作码和操作数, 例如:
MOV A, #10H→74H 10H
3. 三字节指令
三字节指令格式中, 第一个字节为操作码, 后两个字节为操作数, 例如:
MOV 40H, #30H→75H 40H 30H ; 一条汇编语言指令中最多包含 4 个区段, 如下所示:
[标号:] 操作码 [操作数] [;注释]
4 个区段之间要用分隔符分开: 标号与操作码之间用“: 〞隔开, 操作码与操作数之间用空格隔开, 操作数与注释之间用“;〞隔开, 如果操作数有两个以上, 那么在操作数之间要用逗号“,〞隔开 (乘法指令和除法指令除外 )。 ;3.1 寻址方式 ; 在 MCS -51单片机指令系统中, 有以下 7种寻址方式:
〔1〕 立即寻址;
〔2〕 直接寻址;
〔3〕 存放器寻址;
〔4〕 存放器间接寻址;
〔5〕 基址存放器加变址存放器间接寻址;
〔6〕 相对寻址;
〔7〕 位寻址。 ; 1. 立即寻址
立即寻址方式是指操作数包含在指令字节中。 跟在指令操作码后面的数就是参加运算的数, 该操作数称为立即数。 立即数有一字节和二字节两种可能, 例如指令:
MOV A, # 3AH
MOV DPTR, # 0DFFFH
上述两条指令均为立即寻址方式, 第一条指令的功能是将立即数 3AH送累加器A中, 第二条指令的功能是将立即数 0DFFFH送数据指针DPTR中〔0DFH→DPH, 0FFH→DPL〕。 ; 2. 直接寻址
在指令中直接给出操作数的地址, 这种寻址方式就属于直接寻址方式。在这种方式中, 指令的操作数局部直接是操作数的地址。
在MCS -51 单片机指令系统中, 直接寻址方式中可以访问 3 种存储器空间:
(1) 内部数据存储器的低 128 个字节单元〔00H~7FH〕。
(2) 特殊功能存放器。 特殊功能存放器只能用直接寻址方式进行访问。
(3) 位地址空间。 ; 3. 存放器寻址
在该寻址方式中, 参加操作的数存放在存放器里。存放器包括8个工作存放器R0~R7, 累加器A, 存放器B、数据指针DPTR和布尔处理器的位累加器C??? ; 4. 存放器间接寻址
在这种寻址方式中, 存放器的内容为操作数的地址。 存放器间接寻址只能使用存放器R0、R1 作为地址指针,寻址内部RAM区的数据; 当访问外部RAM时, 可使用R0、 R1及DPTR作为地址指针。存放器间接寻址符号为“@〞, 例如: ; 5. 基址存放器加变址存放器间接寻址
这种寻址方式用于访问程序存储器中的数据表格, 它以基址存放器DPTR或PC的内容为根本地址, 加上变址存放器A的内容作为操作数的地址, 例如:
MOVC A, @DPTR+A
JMP @A+DPTR
MOVC A, @ PC+A ; 6. 相对寻址
在MCS -51 指令系统中设有转移指令, 分为直接转移和相对转移指令, 在相对转移指令中采用相对寻址方式。这种寻址方式是以PC的内容为根本地址, 加上指令中给定的偏移量作为转移地址。指令中给出的偏移量是一个 8 位带符号的常数, 可正可负, 其范围为-128~+127。
7. 位寻址
该种寻址方式中, 操作数是内部RAM单元中某一位的信息。 ;3.2 指令系统; Rn——当前选定的存放器区中的 8 个工作存放器R0~R7, 即n=0~7。
Ri——当前选定的存放器区中的 2 个存放器R0、 R1, i=0、1。
direct—— 8 位内部RAM单元的地址, 它可以是一个内部数据区 RAM单元(00H~7FH)或特殊功能存放器地址(I / O端口、 控制存放器、 状态存放器 80H~0FFH)。
#data——指令中的 8 位常数。
#data16——指令中的 16 位常数。
原创力文档

文档评论(0)