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

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

5.4 位操作指令

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

MCS-51指令系统
huzhipeng771926716的专栏
05-16 1539
MCS-51数据传送指令 数据传送指令共有29条,数据传送指令一般的操作是把源操作数传送到目的操作数,指令执行完成后,源操作数不变,目的操作数等于源操作数。如果要求在进行数据传送时,目的操作数不丢失,则不能用直接传送指令,而采用交换型的数据传送指令,数据传送指令不影响标志C,AC和OV,但可能会对奇偶标志P有影响。 [1]. 以累加器A为目的操作数类指令(4条) 这4条指令的作用是把源操作数指向的
单片机指令详解
淡泊以明志,宁静以致远.
08-24 8974
单片机指令详解   1、 数据传送类指令 1. MOV:MOV (目的字节),(源字节); 2. MOVC:和MOV用法基本相同,主要用于ROM查表,也就是基址变址中。 3. MOVX:和MOV用法基本相同,主要读写片外RAM中,也就是间接寻址,如MOVX
MOV MOVC MOVX的相同点和不同点是什么?
老痒的农舍
05-29 5504
MOV:MOV是内部数据传送指令,什么是内部数据传送呢?就是寄存器之间、寄存器与通用存储区之间的数据传送。 MOVX:MOVX是外部数据存储器(外部RAM)与累加器A之间的数据传送指令。因为内部与外部的RAM地址有重叠现象,所以需要用不 同的指令予以区分。 MOVC:MOVC是累加器与程序存储区之间的数据传送指令。它比MOV指令多了一个字母“C”,这个“C”就是“Code”...
51单片机指令字节长度判断方法
SanJuanOut的博客
03-09 4187
在学习51单片机时,指令长度判断有疑惑之处,把自己的学习到的知识整理下来。
MCS-5151单片机指令系统大全
m0_61151031的博客
05-11 1万+
指令是指挥微型计算机工作的的计算机命令,对于51单片机来说,其主要使用的指令有两种形式:机器语言指令和汇编语言指令。 机器语言指令是指使用二进制代码表示的指令; 汇编语言指令是指使用容易我们记忆的缩写符号表示的机器语言。 下面我使用的是使用汇编语言的机器指令。
单片机原理及应用课件:第3章 MCS-51指令系统.ppt
06-17
本章主要探讨MCS-51指令系统的各个方面,包括指令格式、指令寻址方式、不同类型的指令以及伪指令。 1. **指令格式** - 汇编语言指令通常由可选的标号、操作码和操作数组成,最后可以是注释。标号用于标识指令的...
单片机原理与应用:第3章 第三章MCS-51指令系统.ppt
09-17
单片机原理与应用:第3章 第三章MCS-51指令系统.ppt
第3章-MCS-51单片机指令系统.ppt
11-21
3. 位操作指令丰富:MCS-51单片机指令系统的位操作指令非常丰富,体现了MCS-51单片机具备面向控制的特点。 MCS-51单片机指令系统的分类: 1. 按指令所占字节数分类: * 单字节指令(49条) * 双字节指令(46条)...
mov指令所占字节数的问题
肥仔的博客
04-11 6453
寄存器和数据之间传递是占3个字节,寄存器之间传递是两个字节。至于原因,现在我还不清楚
51单片机之数据转移指令MOV、MOVX、MOVC等
热门推荐
jianming21的博客
05-31 3万+
文章目录数据转移指令 数据转移指令 内部RAM数据转移指令 助记符 功能 对标志位影响 字节数 P OV AC CY MOV A, R0 Rn -> A √ 1 MOV A, @Ri ...
51指令系统
jacken3的博客
05-02 8523
51单片机共有111条指令。可以大致分为以下五类: (1)数据传送类(29条) (2)算术操作类(24条) (3)逻辑运算类(25条) (4)控制转移类(17条) (5)位操作类(17条) 可用的指令是固定的、每种指令对应一个物理电路的实际运行过程,如果指令是指令集中不存在的,电路内部无法实现,指令就会出错。 数据传送类指令 一般形式为 MOV <目的操作数> , <源操作数> 操作码包括MOV、MOVC、MOVX、PUSH、POP、XCH、XCHDSWAP。 (1)首先是MOV
C语言杂记3
weixin_41626111的博客
05-06 437
四、数据类型 标识符 区分大小写,首字母为字母或下划线 关键字 具有固定名称和含义 char 通常用于定义处理字符数据的变量或常量,默认值为signed char 类型。signed char 类型用字节中最高位字节表示数据的符号,“0”表示正数,“1”表示负数,负数用补码表示。*正数的补码与原码相同,负二进制数的补码等于它的绝对值按位取反后加 1。 int 默认值为signed int 类型,...
80C51单片机----数据传送类指令
最新发布
weixin_69884785的博客
11-25 3161
这些指令通常用于,或者从内存中加载数据到寄存器,反之亦然。通常包含了一些用于控制程序执行流程的条件标志,比如零标志、进位标志、符号标志等。这些标志在执行算术运算或者逻辑运算时会被设置或清除,用于后续的条件分支或者其他操作。而,比如将数据从一个寄存器复制到另一个寄存器,或者将数据从内存加载到寄存器中,这些操作并不直接涉及算术或逻辑运算,因此一般不会修改标志寄存器的状态。
51单片机汇编指令集 (指令集带英文翻译)
www.i201314.net
04-24 6531
51单片机汇编指令集 (指令集带英文翻译) 一、数据传送类指令(7种助记符) MOV(英文为Move):对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送; MOVC(Move Code)读取程序存储器数据表格的数据传送; MOVX (Move External RAM) 对外部RAM的数据传送; XCH (Exchange) 字节交换; XCHD (Exchange low-
第六讲 单片机的指令系统及汇编语言程序设计基础
zkdceo的专栏
03-28 2030
                                   第六讲  单片机的指令系统及汇编语言程序设计基础 §3-1 MCS-51单片机的指令格式与寻址方式一、汇编语言程序设计的意义什么是程序?完成某项特定任务的指令的集合。计算机按程序一条一条地依次执行指令,从而完成指定任务。要让计算机完成各项任务,就应设计各种程序。程序设计语言:机器语言、汇编语言、高
MCS-51 汇编指令集(D开头的指令)
技者云
07-26 1654
MCS-51系列单片机指令以D开头的指令有8条,分别为: DA A DEC A DEC Rn DEC direct DEC @Ri DIV AB DJNZ Rn,rel DJNZ direct,rel1、DA A 指令名称:十进制调整指令指令代码:D4H 指令功能:对BCD码加法运算的结果进行有条件的修正操作内容:若(A)3~0>9∨(AC)=1,则A3~0←(A)3~0+6 若(A)7~4>9∨(C)=1,则A7~4←(A)7~4+6 若(A)7~4=9∧(A)3~0>9,则A7~4←(A)7~4+6 字
Linux SWAP 深度解读
weixin_33728268的博客
06-06 2454
概述 本文讨论的swap基于Linux4.4内核代码。Linux内存管理是一套非常复杂的系统,而swap只是其中一个很小的处理逻辑。 希望本文能让读者了解Linux对swap的使用大概是什么样子。阅读完本文,应该可以帮你解决以下问题: 1、swap到底是干嘛的?2、swappiness到底是用来调节什么的?3、kswapd什么时候会进行swap操作?4、什么是内存水位标记?5、swap分...
写文章

热门文章

  • 【细碎知识1】浮点数的规格化 64804
  • 【全流程】从头在树莓派4B上部署自己训练的yolov5模型(配合NCS2加速) 41105
  • 如何构造哈夫曼树 26443
  • cache-主存的三种映射方式 23182
  • 基于Python的管理系统(附源码) 22698

分类专栏

  • 深度学习 14篇
  • 实验 1篇
  • python 14篇
  • BUG 1篇
  • yolact++ 4篇
  • 一些项目 1篇
  • 论文精读系列 3篇
  • 神经网络 6篇
  • yolo 4篇
  • 计算机组成原理 13篇
  • opencv 1篇
  • 数据结构与算法 15篇
  • 树莓派 5篇
  • Matplotlib 1篇
  • others 3篇
  • leetcode妙题 5篇
  • 垃圾分类
  • 单片机复习 6篇
  • 数据分析之路 12篇
  • 概率论易错/重要 知识片段 1篇
  • 模型 1篇

最新评论

  • 【细碎知识5】按字寻址和按字节寻址

    shuaibif: 好好好

  • 【细碎知识6】字扩展、位扩展和字位扩展

    m0_73734303: 这些符号,英文字母都表示什么,该去哪里学呢表情包

  • 【细碎知识1】浮点数的规格化

    好耶是胡桃: 我觉得不是,应该要左移,低位补0,变成1.000 0000

  • 【Linux更新驱动、cuda和cuda toolkit】

    jiaotshidi: wget显示无法建立连接

  • 【ViT 微调时关于position embedding如何插值(interpolate)的详解】

    hhoi: 讲的太好了,一下子就看懂了

最新文章

  • 【可视化3D卷积计算过程】
  • 【Linux更新驱动、cuda和cuda toolkit】
  • 【读论文-01】EfficientSAM: Leveraged Masked Image Pretraining for Efficient Segment Anything
2024年3篇
2022年21篇
2021年59篇
2020年27篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

SinHao22

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

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

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

打赏作者

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

抵扣说明:

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

余额充值

玻璃钢生产厂家卡通玻璃钢动物雕塑批量定制铜川frp玻璃钢雕塑厂家高淳商场入口美陈梅州自发光动物玻璃钢雕塑垫江玻璃钢花盆厂家北京特色商场美陈有哪些张家口人物玻璃钢雕塑制作上海季节性商场美陈供应商景洪玻璃钢雕塑设计海口玻璃钢雕塑诚信企业玻璃钢造型人雕塑河南玻璃钢雕塑定制设计玻璃钢人物浮雕雕塑图片欣赏玻璃钢雕塑喷漆定制张家界卡通玻璃钢雕塑公司镇江玻璃钢人物雕塑厂家漯河商场美陈特装苏州节日商场美陈菏泽不锈钢仿古玻璃钢雕塑成品玻璃钢雕塑摆件批发河南玻璃钢雕塑之家沧州玻璃钢雕塑制作厂家晋江市雕塑玻璃钢更高折扣的玻璃钢动物雕塑贵阳雕塑玻璃钢北京秋季商场美陈多少钱河北主题商场美陈现价沈阳商场美陈雕塑设计猪年新春商场美陈玻璃钢雕塑设计批发香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化