版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第 四 讲-2 MCS-51单片机指令系统及其寻址方式(教材3.13.2节)1微机原理及应用Principle and Applications of Micro-Computers教学目的: 了解MCS-51单片机的指令集和寻址方程要求: 掌握MCS-51单片机指令系统的寻址方式, 指令集难点: 间接寻址, 基址+变址寄存器寻址方式 MCS-51单片机指令的一般格式单片机指令的一般格式 MCS-51单片机的寻址方式单片机的寻址方式 寄存器寻址寄存器寻址 直接地址寻址直接地址寻址 立即数寻址立即数寻址 寄存器间接寻址寄存器间接寻址 基址寄存器基址寄存器+变址寄存器间接寻址变址寄存器间接寻址 M
2、CS-51单片机的指令集单片机的指令集内容2022-2-33为什么要学汇编语言?具有以下优点(所以, 在某些场合仍非常必要)时间短占用代码空间少位操作指令丰富具有以下缺点难掌握适合小型系统基本学习方法掌握指令集, 基本流程控制, 单片机的资源2022-2-34指令系统概述指令计算机能够识别和执行的命令。指令系统指令的集合或全体,因机器而异。指令的三种表示形式二进制形式直接为CPU执行16进制形式阅读和书写汇编形式编写程序。二进制形式16进制形式汇编形式01110100 0000101000100100 0000010010000000 11111110740AH2404H80FEH MOV A
3、,#0AH ADD A,#04H SJMP $2022-2-35MCS-51单片机指令的一般格式 一般格式为 符号地址符号地址: 指令助记符指令助记符 操作数操作数1,操作数操作数2 ; 注释句注释句 如如: ABC: MOV A, B ; 将寄存器将寄存器B的内容传送到累加器的内容传送到累加器A注意: (1) “符号地址符号地址”的命名规则的命名规则(代表指令所在地址,代表指令所在地址,1-8个字母个字母/数字,数字,“:”结尾结尾); (2) “指令助记符指令助记符”和和“操作数操作数1”(以及以及“操作数操作数2”)见见MCS-51单片机的单片机的指令集指令集; (3) “注释句注释句”
4、必须以必须以“;”开始开始, 其后的整行都属于注释内容其后的整行都属于注释内容; (4) 其它某些特殊规则由汇编语言的编译器所确定其它某些特殊规则由汇编语言的编译器所确定 MCS-51单片机指令的一般格式单片机指令的一般格式 MCS-51单片机的寻址方式单片机的寻址方式 寄存器寻址寄存器寻址 直接地址寻址直接地址寻址 立即数寻址立即数寻址 寄存器间接寻址寄存器间接寻址 基址寄存器基址寄存器+变址寄存器间接寻址变址寄存器间接寻址 MCS-51单片机的指令集单片机的指令集内容2022-2-37为什么大多数汇编语言都需要掌握“寻址方式”?绝大多数计算机系统的存储器系统都是相似的(见第3讲的内容),
5、可以分为以下几部分CPU内部的寄存器CPU内部的数据存储器(RAM)片外的(CPU外部)数据存储器程序存储器等不同的存储器空间需要不同的访问方式如, 第3讲曾提到SFR和高128字节RAM的访问方法不同2022-2-38MCS-51单片机指令的寻址方式MCS-51单片机指令一共有5种寻址方式, 用于访问不同的存储器空间(见p.34表3-1)寄存器寻址直接地址寻址立即数寻址寄存器间接寻址(变址寻址)基址寄存器+变址寄存器间接寻址 说明说明: 某些参考书把某些参考书把“位位”访问方法单独列出访问方法单独列出, 称为称为“位寻位寻址址”.2022-2-39寄存器寻址方式指令选定的寄存器内容就是实际操
6、作数可访问的存储器空间 片内的4组8个通用寄存器:R0R7 由RS1、RS2两位的值选定工作寄存器区示例(1) INC R1 ; (R1)=(R1)+1, 或R1的内容自加1(2) MOV R0, A ; (R0)=(A), 或 A的内容传送到R0(3) MOV A, R0 ; (A)=(R0), 或 R0的内容传送到A特点 一般是单操作数指令(如(1), 否则另一个操作数必定为累加器A(如(2)和(3) 所有指令都是单字节的(指令码占用1个字节的存储空间)00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH5252的的RAMRAM区区OR SFRO
7、R SFR普通普通RAMRAM区区位寻址区位寻址区工作寄存器区工作寄存器区2022-2-310直接地址寻址方式直接给出操作数所在存储单元的地址可访问的存储器空间片内低128字节的RAM片内所有的SFR (SFR的名称是对应直接地址的别名)片内所有可位寻址的位存储空间(“位寻址”)示例(1) MOV A, B ; (A)=(B), 或B的内容传送到A(2) MOV A, 0F0H ; (A)=(0F0H), 或0F0H的内容传送到A(3) MOV 68H, 69H ; (68H)=(69H)(4) SETB 68H ; 设置位地址单元68H的内容为“1”特点一般都是双字节(累加器A作为操作数,
8、或位操作)或三字节的指令00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH5252的的RAMRAM区区OR OR SFRSFR普通普通RAMRAM区区位寻址区位寻址区工作寄存器区工作寄存器区2022-2-311立即数寻址方式指令直接给出一个操作数,加“#”可访问的存储器空间 片内的4组8个通用寄存器 片内所有数据存储器(包括低、高128字节) 片内所有的SFR 示例(1) MOV R6, #10H ; (R6)=10H(2) MOV 68H, #34H ; (68H)=34H(3) MOV B, #68H ; (B)=68H(4) MOV DPTR
9、, #6688H ; (DPTR)=6688H, 即(DPH)=66H和(DPL)=88H特点称为“赋值语句”其中一个操作数必定是一个立即数00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH5252的的RAMRAM区区OR OR SFRSFR普通普通RAMRAM区区位寻址区位寻址区工作寄存器区工作寄存器区2022-2-312寄存器间接寻址方式指令所选中的寄存器内容是实际操作数地址(而不是操作数)可访问的存储器空间片内所有数据存储器(包括低128字节和高128字节RAM)所有扩展的(包括片内或片外)数据存储器和I/O端口示例(1) MOV A, R0
10、 ; (A)=(R0), R0所指向的单元(片内的)中的内容传送到A(2) MOVX A, R0 ; (A)=(R0), R0所指向的单元(扩展的)中的内容传送到A(3) MOV R1, A ; (R1)=(A)(4) MOVX DPTR, A ; (DPTR)=(A)特点称R0, R1和DPTR为指针, 准确地说R0和R1是8位数据指针, DPTR为16位的数据指针, 其中一个操作数在指针所指向的单元中除了R0, R1和DPTR外, 其它任何单元都不能作为指针00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH5252的的RAMRAM区区OR SF
11、ROR SFR普通普通RAMRAM区区位寻址区位寻址区工作寄存器区工作寄存器区2022-2-313寄存器间接寻址的图例R0R700H07H30H顺序执行 MOV 30H, #58H MOV R0, #30H MOV A, R0 问问1,接例数据接例数据 MOV 30H, #58H MOV R0, #58H 的结果一样吗的结果一样吗?问2,接例数据,执行结果? MOV R0, #32H MOV R0, 32H30H58H58H0AHE0HA32H2022-2-314基址+变址寄存器间接寻址方式可访问的存储器空间程序存储器 (包括所有64K字节程序存储空间)示例(仅有以下3个指令)(1) MOVC
12、 A, A+DPTR ; (A)=( (A)+(DPTR) ) (2) MOVC A, A+PC ; (A)=( (A)+(PC) )(3) JMP A+DPTR ; (PC)=(A)+(DPTR)特点称A为变址寄存器称DPTR和PC为基址寄存器示例(1)和(2)称为“查表指令”, 上面最后一个指令称为“程序散转指令”查表指令必须以累加器A为目的操作数, 基址寄存器和变址寄存器作为指针, 两个单元中内容之和(加法是最低位对齐)为源操作数地址2022-2-315变址寻址的图例MOVC A,A+DPTR设DPTR=2000H,A=E0HE0A程序存储区2141H 9320E0H 472140H D
13、PH 20DPL 00ALU20E0H47指令代码2022-2-316总结:寻址方式与相应的寻址空间方式方式利用的变量利用的变量寻址空间寻址空间寄存器R0R7片内通用寄存器直接寻址direct片内RAM低128字节特殊功能寄存器SFR寄存器间址R0,R1R0,R1,DPTR片内RAM片外RAM与I/O口立即数#data-变址寻址A+PC A+DPTR程序存储器 MCS-51单片机指令的一般格式单片机指令的一般格式 MCS-51单片机的寻址方式单片机的寻址方式 寄存器寻址寄存器寻址 直接地址寻址直接地址寻址 立即数寻址立即数寻址 寄存器间接寻址寄存器间接寻址 基址寄存器基址寄存器+变址寄存器间接
14、寻址变址寄存器间接寻址 MCS-51单片机的指令集单片机的指令集内容2022-2-318MCS-51 指令中所用符号说明Rn 通用寄存器R0R7中的一个#data 8位立即数#data16 16位立即数direct 8位直接地址Ri R0或R1,可以间接寻址DPTR 可按DPTR中地址对外部存储器寻址bit 8位位地址addr11 11位目标地址addr16 16位目标地址rel 8位地址偏移量$ 当前指令的地址2022-2-319MCS-51单片机的指令集共111条指令按指令所占字节数分类:单字节(49条);双字节(46条);3字节(16条)按指令执行时间分类:单周期(64条);双周期(45
15、条);4周期(2条)按指令的功能分类:数据传送类(29条);算术运算类(24条);逻辑运算及移位类(24);控制转移类(17条);位操作类(17条)2022-2-320掌握指令集的基本方法 指令集中每条指令都按以下3步S1: 指令的助记符指令的助记符, 操作数操作数(包括隐含的操作数包括隐含的操作数)S2: 指令的执行过程指令的执行过程S3: 指令的执行结果指令的执行结果, 结果的存储单元结果的存储单元 例1, 指令ADDC A, 30HS1: 助记符为助记符为“ADDC”, 操作数为操作数为A(被加数被加数), 30H(加数加数), 进位位进位位C(加数加数, C为隐含的操作数为隐含的操作数
16、)S2: 执行过程执行过程: (C)+(A)+(30H)(A), (C)S3: 结果结果: 和保存在和保存在A中中, 进位保存在进位保存在C中中2022-2-321“DA A”指令的示例S1: 操作数为操作数为A, C和和AC(其中其中C和和AC是隐含的是隐含的)S2: 执行过程执行过程: 顺序执行以下两步顺序执行以下两步 S2-1: 如果如果A的低半字节大于的低半字节大于9或或(AC)=1, 那么那么(A)=(A)+06H S2-2: 如果如果A的高半字节大于的高半字节大于9或或(C)=1, 那么那么(A)=(A)+06H 说明说明: 两次加法运算两次加法运算, 如果有进位仍保存在如果有进位
17、仍保存在C中中.S3: 结果保存在累加器结果保存在累加器A和进位位和进位位C中中2022-2-322总结指令的一般格式五种寻址方式及它们的访问空间掌握指令的基本方法总结指令的一般格式五种寻址方式及它们的访问空间掌握指令的基本方法问题和讨论24根据寻址方式的可访问空间以及它们特点, 讨论下面的指令分别属于哪种寻址方式?(1) MOV R5, #20H (2) CLR A (3) CLR C指令“MOV R5, A”是一条传送指令, 执行该指令后, 源操作数的内容发生变化了吗?问题和讨论25试写出完成以下操作的指令序列(1)将R0的内容传送到R1;(2)内部RAM单元60H的内容传送到寄存器R2;
18、(3)外部RAM单元1000H的内容传送到内部RAM单元60H;(4)外部RAM单元1000H的内容传送到寄存器R2;(5)外部RAM单元1000H的内容传送到外部RAM单元2000H下课下课 数据传送类指令:数据传送类指令: (29条条/11) 算术运算类指令:算术运算类指令: (24条条/8) 逻辑运算及移位类指令:逻辑运算及移位类指令: (24条条/2) 控制转移类指令:控制转移类指令: (17条)条) 位操作(布尔操作)类指令:(位操作(布尔操作)类指令:(17条)条) 伪指令伪指令补充内容 指令系统2022-2-327数据传送指令(5种/29条)内部存储器间传送:(MOV 16条)外
19、部数据存储器与累加器间传送: (MOVX 4条)程序存储器向累加器传送: (MOVC 2条)数据交换: (XCH,XCHD,SWAP 5条)堆栈操作:(PUSH,POP 2条)2022-2-328内部存储器间数据传送路径(16条)Direct 直接寻址直接寻址Acc 累加器累加器Rn 寄存器寄存器#data 立即数立即数Ri 间接寻址间接寻址MOV DPTR ,#data162022-2-329外部存储器间数据传送路径(4条)Acc 累加器累加器Rn 寄存器寄存器DPTR在51中,与外部RAM打交道的可以是A累加器。所有需要送入外部RAM的数据必需要通过A送去,而所有要读入的外部RAM中的数据
20、也必需通过A读入。 内部RAM间可以直接数据传递如,要将外部(设为0100H单元的数据)送入(设为0200H单元)MOV DPTR,#0100HMOVX A,DPTRMOV DPTR,#0200HMOVX DPTR,A2022-2-330应用举例1 8段数码管显示 MOV P1, #0FEH ; 11111110B可以使P1.0上的发光二极管点亮MOV P1, #0F0H ; 11110000B可以使P1口上的上面4个发光二极管点亮P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 5v2022-2-331应用举例1 8段数码管显示MOV P1, #00H ; 显示
21、 8.MOV P1, #0F8H; 显示 7MOV P1, #88H ; 显示 AP1.0 aP1.1 bP1.2 cP1.3 dP1.4 eP1.5 fP1.6 gP1.7 dp5v2022-2-332算术运算类指令不带进位加:(ADD 4条)带进位加:(ADDC 4条)增量指令:(INC 5条)十进制调整指令:(DA 1条)减法指令: (SUBB 4条)减量指令:(DEC 4条)乘法指令: (MUL 1条)除法指令:(DIV 1条)2022-2-333应用举例2 BCD加法 ALU只能进行二进制加法(即低4位向高4位逢16进1),为实现BCD加法,就必须对ALU的加法结果进行BCD调整,使
22、其变成BCD数(BCD加法是逢10进1的)。 例:写出85+59=144BCD加法程序,并对加法过程和BCD调整进行分析。 解: ORG1000HMOVA,#85H ; A #85HADDA,#59H ; A (A)+#59HDAA; A #44H,Cy=1SJMP$END2022-2-334上例加法操作及BCD调整过程:Cy中的进位1是百位BCD,累加器A中的高低4位分别是十位BCD和个位BCD(即44H)。2022-2-335逻辑运算指令(24条)逻辑与指令:(ANL 6条)逻辑或指令:(ORL 6条)逻辑异或指令:(XRL 6条)累加器清除与求反指令: (CLR、CPL 2条)移位指令:
23、 ( RL、RLC、RR、RRC 4条)2022-2-336控制转移指令(17条)无条件转移指令:(LJMP、AJMP、SJMP、JMP 4条)条件转移指令:(JZ、JNZ、CJNE、DJNZ 8条)子程序调用及返回指令:(LCALL、ACALL、RET、RETI 4条)空操作指令: (NOP 1条)2022-2-337AJMP 指令本指令是2KB范围内的绝对转移指令:AJMP addr11 ; PC(PC)+2(形成页面地址PC15-11); PC100 addr11 (形成页面地址)说明:本指令是双字节指令。指令码为:a10 a9 a8 0 0 0 0 1 a7 a6 a0 操作码其中a1
24、0a0为低11位目标地址。编程时addr11常用符号地址,汇编时翻译成机器码。2022-2-338AJMP 指令第0区第1区第32区0000H07FFH0800H0FFFHF800HFFFFH外部ROM的64KB可以分为32区,每区2KB。PC15PC11为页面地址PC10PC0为页内地址。0000H1 区0 区31 区AJMPPC15 PC14 PC13 PC12 PC11 PC10 PC9 PC8 PC7 PC00800H0FFFH1000H17FFHF800HFFFFHA10 A9 A8 00001 A7 A0在 2 区形成11 位目标地址保持高 5 位地址确定某区 图 3-11 指令 AJMP 执行过程0 0 0 1 02022-2-340布尔处理类指令(17条)布尔传送指令: (MOV 2条)布尔状态控制指令: (CRL、SETB、CPL 6条)布尔逻辑运算指令: (ANL、ORL 4条)布尔条件转移指令: (JC、JNC、JB、JNB、JBC 5条)解释程序语句,并填写运行结果(1)411. MOVA,#08H;2. MOV30H,A;3. MOV31H,A;4. MOV 32H,A;5. MOV 33H,#30H;6. MOV R6,#03H;7. MOV R0,#30H;8. MOV A,R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年团队管理机考试题及答案
- 2025年冰雪运动考试题库及答案
- 公园出租桌椅合同范本
- 2025年特岗文化素养题库及答案
- 拆迁门窗协议合同范本
- 帕金森病家庭护理者的支持与培训
- 疼痛管理护理视频教程
- 车尿素采购合同范本
- 冬至课件开头结尾摘抄
- 山东联通机考试题及答案
- GB/T 27995.1-2025半成品镜片毛坯第1部分:单焦和多焦
- 护理部主任年终汇报
- 《电力市场概论》 课件 第七章 发电投资分析
- 2024年新苏教版四年级上册科学全册知识点(复习资料)
- 题库二附有答案
- 市场拓展与销售渠道拓展方案
- 工地大门施工协议书
- 铁血将军、建军元勋-叶挺 (1)讲解
- 2023年西门子PLC知识考试题(附含答案)
- 鼻鼽(变应性鼻炎)诊疗方案
- 消防应急疏散和灭火演习技能培训
评论
0/150
提交评论