【第三章】MCS-51指令系统

0. 零碎知识点

(1)指令长度和执行时间记忆
(2)无符号数相加,需要考虑进位位Cy;有符号数相加,只需要考虑溢出位OV。

1. 寻址方式

寻址方式举例
寄存器寻址MOV A, R0
直接寻址MOV A, 50H
寄存器间接寻址MOV A, @R0
立即数寻址MOV A, #50H
变址寻址MOVC A, @A+DPTR
位寻址MOV 40H, A
相对寻址一些转移指令

2. 数据传送类指令

2.1 MOV——访问片内RAM

记MOV系列指令的字节数时有个规律:有direct的字节数+1,有#data的字节数+1
记执行时间也有规律:【待补充】
注意:
在这里插入图片描述

2.2 MOVC——查表指令

只有两条:
MOVC A, @A+DPTR
MOVC A, @A+PC
字节数都为1,执行时间都为2个机器周期

2.3 MOVX——访问片外RAM

只有四条:
MOVX A, @DPTR
MOVX A, @Ri
MOVX @DPTR, A
MOVX @Ri, A
字节数都为1,执行时间都为2个机器周期

2.4 PUSH、POP——堆栈操作

注意,需要了解执行过程:
(1)PUSH:
先SP+1,再将数据送入堆栈
(2)POP:
先将堆栈数据弹出,再SP-1

2.5 XCH、XCHD、SWAP——数据交换指令

指令执行时间均为1个机器周期,指令中都包含A
(1)XCH:字节交换
在这里插入图片描述
(2)XCHD:半字节交换
只有一条:XCHD A, @Ri
(3)SWAP:A高低半字节交换
只有一条:SWAP A

3. 算术运算类指令

3.1 算术运算影响PSW标志位

在这里插入图片描述
如何判断OV位是否为1:
D6位向D7位的进位/借位与D7位向D8位的进位/借位相异或。

3.2 加法

(1)不带进位ADD
在这里插入图片描述
(2)带进位ADDC
在这里插入图片描述
(3)加1 INC
在这里插入图片描述

3.3 十进制调整DA

(1)两个压缩的BCD码按二进制相加后,必须经过调整方能得到正确的和。
(2)调整方法:
在这里插入图片描述
(3)注意:
执行DA指令后,PSW中的Cy位存的是结果的百位。
(4)例子:
在这里插入图片描述

3.4 减法

(1)带借位的减法SUBB
在这里插入图片描述
注意:
如果要完成不带借位的减法,只需要先将Cy位清零即可。
例子:
在这里插入图片描述
(2)减1:DEC
在这里插入图片描述

3.5 乘法

只有一条:MUL AB
注意:
(1)结果:B中为积的高8位,A中为积的低8位。
(2)CY总是被清0;OV=1表示积大于FFH

3.6 除法

只有一条:DIV AB
注意:
(1)结果:A中为商的整数部分,B中为余数
(2)CY总是被清0;OV=1表示除数为0

4. 逻辑运算与循环类指令

4.1 逻辑与

作用:对某些位清零
在这里插入图片描述

4.2 逻辑或

作用:对某些位置1.

在这里插入图片描述

4.3 逻辑异或

作用:某些位取反(与1异或),某些位不变(与0异或)。
在这里插入图片描述

4.4 逻辑清零和取反

操作数都只能是A
在这里插入图片描述

4.5 累加器循环移位

注意:
字节数都为1,执行时间也都为1
在这里插入图片描述

5. 控制转移类指令

5.1 无条件转移

(1)短跳转AJMP
-跳转范围:2KB
-执行过程在这里插入图片描述
(2)长跳转LJMP
跳转范围:64KB
执行过程:
在这里插入图片描述
(3)相对转移:SJMP
跳转范围:-128——+127
执行过程:
在这里插入图片描述
(4)散转移:JMP
执行过程:
在这里插入图片描述

5.2 条件转移

(1)累加器判0转移:【注意执行过程】
在这里插入图片描述
(2)比较不等转移:【注意执行过程】
在这里插入图片描述
(3)减一不为零转移:【注意执行过程】
在这里插入图片描述
注意:是先PC+2或PC+3,然后再执行-1,最后再判断。
典型例题:算循环时间
在这里插入图片描述
在这里插入图片描述

5.3 调用与返回:

(1)调用:【注意执行过程】
在这里插入图片描述
注意:先压入低8位,再压入高8位!
(2)返回

指令执行过程
RET取出栈顶单元内容放入PC高八位,SP-1,取出栈顶单元内容放入PC低8位,SP-1
RETI除了执行RET相同功能外,还清除中断响应时IP寄存器中被置1的PX0、PT0、PX1、PT1、PS

5.4 位操作指令

(1)位传送:
只有两条:
MOV bit, C
MOV C, bit
(2)位状态:
注意:操作数只能是C或bit
在这里插入图片描述
在这里插入图片描述
(3)位逻辑运算
在这里插入图片描述
(4)位判跳:【注意执行过程】
在这里插入图片描述

  • 4
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SinHao22

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值