- 1、本文档共62页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
指令概述 指令分类 指令格式 指令格式 一、寻址方式 (1)数据存储器 (2)程序存储器 立即数寻址是指将操作数直接写在指令中,把出现在指令中的操作数称为立即数。注意:立即数前面必须加“#”号,以区别立即数和直接地址。 (1)8位立即数操作。MOV A,#data (2)16位立即数操作。MOV DPTR,#data16 指令MOV A,#3AH执行的操作是将立即数3AH送到累加器A中,该指令就是立即数寻址 直接寻址是指把存放操作数的内存单元地址直接写在指令中。在MCS-51单片机中,可以直接寻址的存储器有内部RAM区和特殊功能寄存器SFR区。 例如:指令MOV A,3AH执行的操作是将片内RAM中地址为3AH的单元的内容传送到累加器A中,其操作数3AH就是存放数据的单元地址。 寄存器寻址是指将操作数存放于寄存器中,寄存器包括工作寄存器R0~R7,累加器A,通用寄存器B,地址寄存器DPTR等。一般以寄存器符号名称来表示。 例如:指令MOV R1,A的操作是把累加器A中的数据传送到寄存器R1中,其操作数存放在累加器A中,所以寻址方式为寄存器寻址。 寄存器间接寻址是指将存放操作数的内存单元的地址放在寄存器中,指令中只给出该寄存器。执行指令时,首先根据寄存器的内容,找到所需要的操作数地址,再由该地址找到操作数。 在MCS-51指令系统中,用于寄存器间接寻址的寄存器有R0、R1和DPTR,称为寄存器间接寻址寄存器。注意:间接寻址寄存器前面必须加上符号“@”,以区别寄存器寻址和寄存器间接寻址。 寻址范围: (1)内部RAM低128单元。间址寄存器:R0或R1;通用形式:MOV指令及@Ri(i = 0或1) (2)外部RAM的64K空间。间址寄存器:DPTR;通用形式:MOVX指令及@DPTR (3)外部RAM的低256单元。间址寄存器:DPTR或R0、R1;通用形式:MOVX指令及@DPTR或@Ri(i = 0或1) (4)堆栈操作指令(PUSH和POP)也算作寄存器间接寻址,利用堆栈指针SP 寻址比较 寻址比较 变址寻址是指将基址寄存器与变址寄存器的内容相加,结果作为操作数的地址。DPTR或PC是基址寄存器,累加器A是变址寄存器。该类寻址方式主要用于访问程序存储器中的表格。 形式:MOVC A,@A+DPTR MOVC A,@A+PC 相对寻址是指程序计数器PC的当前内容与指令中的操作数相加,其结果作为目的地址。该类寻址方式主要用于转移指令。 形式:SJMP rel;目的地址 = 转移指令地址 + 转移指令字节数 + rel;偏移量rel由编译程序自动计算,其范围(-128~127) 位寻址地址表 位寻址是按位进行的操作,而上述介绍的其他寻址方式都是按字节进行的操作。MCS-51单片机中,操作数不仅可以按字节为单位进行操作,也可以按位进行操作。当我们把某一位作为操作数时,这个操作数的地址称为位地址。 例如:MOV C,3AH;由于目的操作数C为位地址,因此源操作数也必为位地址。 寻址范围: (1)内部RAM中的位寻址区。单元地址20H~2FH,共16个单元,位地址00H~7FH,共128位; (2)专用寄存器中的可寻址位。SFR中的有11个寄存器可以位寻址,共有寻址位83位,可以参见前面章节中位地址定义。 专用寄存器的寻址位在指令中的表示方法: (1)使用位地址 SETB D5H 位地址D5 (2)使用位名称 SETB F0 位名称F0 (3)使用单元地址加位数 SETB D0.5 PSW的单元地址D0 (4)专用寄存器名称加位数 SETB PSW.5 PSW中的第5位 二、指令系统 2、MCS-51的指令 2.1 数据传送指令(29条)??? 2.2 算术运算指令(24条) 2.3 逻辑运算和移位指令(24条) 2.4 控制转移指令(17条) 2.5 位操作指令 (17条) 2.1 数据传送指令(29条) ★ 内部8位数据传送指令(15条) ★ 内部16位数据传送指令(1条) ★ 交换类指令(5条) 2.2算术运算类指令(24条) ★加法指令(8条) ★加1,减1指令(9条) 2.3逻辑运算及移位类指令(24条) ★逻辑与指令(6条) ★逻辑或指令(6条) ★逻辑异或指令(6条) ★累加器A清0和取反指令(2条) ★循环移位指令(4条) RL A RR A RLC A RRC A 2.4 控制转移类指令(17条) ★无条件转移指令(4条) 1) 长转移指令 LJMP addr16 ;addr16?PC 2)绝对转移指令 3)相对转移指令 ★条件转移指令(8条)1)
您可能关注的文档
最近下载
- 城市轨道交通车厢LCD电子地图设置标准、列车车门号编号设置原则、各线线路号.pdf VIP
- 乡镇政法委员个人述职报告.docx VIP
- 伍德里奇计量经济学答案.doc
- 2023年天津中德应用技术大学公共课《思想道德基础与法律修养》科目期末试卷A(有答案).docx VIP
- 2023年广东省深圳市育才第二中学中考一模物理免费试卷完整版.docx VIP
- Q XMJL 644-2016_XML504系列工程车 企业标准.pdf
- 数字化转型驱动经济高质量发展的路径分析.docx VIP
- 冷锅串串项目商业计划书.pptx VIP
- 计算机程序设计员理论试题(题库).pdf VIP
- 晕血晕针的应急处理.pptx
文档评论(0)