【第三章】MCS 您所在的位置:网站首页 编码121是什么意思 【第三章】MCS

【第三章】MCS

2024-07-03 21:10| 来源: 网络整理| 查看: 265

知识树 0. 零碎知识点1. 寻址方式2. 数据传送类指令2.1 MOV——访问片内RAM2.2 MOVC——查表指令2.3 MOVX——访问片外RAM2.4 PUSH、POP——堆栈操作2.5 XCH、XCHD、SWAP——数据交换指令 3. 算术运算类指令3.1 算术运算影响PSW标志位3.2 加法3.3 十进制调整DA3.4 减法3.5 乘法3.6 除法 4. 逻辑运算与循环类指令4.1 逻辑与4.2 逻辑或4.3 逻辑异或4.4 逻辑清零和取反4.5 累加器循环移位 5. 控制转移类指令5.1 无条件转移5.2 条件转移5.3 调用与返回:5.4 位操作指令

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-1RETI除了执行RET相同功能外,还清除中断响应时IP寄存器中被置1的PX0、PT0、PX1、PT1、PS 5.4 位操作指令

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



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有