




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第3章MCS 51单片机的指令系统 3 1单片机指令系统概述3 2MCS 51单片机的寻址方式3 3MCS 51单片机的指令系统 2 指令 指挥计算机工作的命令 一种计算机所能执行的指令集合称之为计算机指令系统 3 1单片机指令系统概述 汇编语言指令 机器语言指令 3 机器语言指令 用二进制代码表示的指令 也称机器码例如 累加器A加1 指令用二进制数表示时 是 00000100 在程序存储器中占用一个字节单元 汇编语言指令 用容易记忆的缩写符号表示机器语言指令就是汇编语言指令 例如 A加B 用英语写出来是 AddBtoA 缩写成 ADDA B 这个 ADDA B 就是汇编语言指令 编写机器语言程序实质上就是用汇编语言编写程序 3 1单片机指令系统概述 两种语言指令对照 汇编语言指令机器语言指令MOVA 0AH74H0AHADDA 14H24H14H 5 MCS 51单片机汇编语言语句格式MCS 51单片机汇编语言语句的标准格式如下 方括号 表示该项是可选项 可有可无 标号是用户设定的符号 它实际代表该指令所在的地址 标号由1 8个ASCII字符组成 必须以字母开头 其后跟字母 数字或其他特定字符 并以 与操作码进行间隔 例如 LOOP ADDA 10H A A 10H 6 关于标号的说明 不能使用本汇编语言已经定义的符号 保留字 作为标号 如指令助记符 伪指令助记符 寄存器的符号名称等 同一标号在一个程序中只能定义1次 不能重复定义 一条语句可以有标号 也可以没有标号 标号的有无取决于本程序中其他语句是否需要访问这条语句 7 操作码是用英文 或缩写 表示的指令功能助记符 它确定了CPU运行本条指令完成什么样的操作功能 如 ADD表示加法操作 任何一条指令都必须有操作码项 不能省略 注释部分是在编写程序时 为了增加程序的可读性 由用户拟写对该条指令或该段程序功能的说明 它与操作码或操作数之间以分号 间隔 可以用中文 英文或某些符号来表示 它不被编译成目标代码 只出现在源程序中 8 操作数为指令操作提供数据 它与操作码之间必须以一个或几个空格分隔 在一条语句中 可以没有操作数 可以有1 2 3个操作数 各操作数之间用逗号 分隔 对于两个操作数的指令 前面的操作数称为目的操作数 后面的操作数称为源操作数 80C51的操作数有寄存器寻址 直接寻址 寄存器间接寻址 立即寻址 变址寻址 相对寻址 位寻址7种不同的寻址方式 注 指令与语句的关系 没有标号和注释的语句就是指令 指令的描述中经常用到一些特殊符号 10 MCS 51单片机指令中常用符号的意义Ri和Rn R表示当前工作寄存器区中的工作寄存器 当前工作寄存器的选定是由PSW的RS1和RS0位决定的 i 0或1 即R0和R1 可用作间接寻址的寄存器 Ri n 0 7 即R0 R7 当前工作寄存器组的8个寄存器 data 表示立即数 data为8位常数 data是指包含在指令中的8位立即数 data16 包含在指令中的16位立即数 11 rel 相对地址 以补码形式表示的8位地址偏移量 范围为 128 127 主要用于无条件相对短转移指令SJMP和所有的条件转移指令中 addr16 16位目的地址 目的地址可在全部程序存储器的64KB空间范围内 主要用于无条件长转移指令LJMP和子程序长调用指令LCALL中 addr11 11位目的地址 目的地址应与下条指令处于相同的2KB程序存储器地址空间范围内 主要用于绝对转移指令AJMP和子程序绝对调用指令ACALL指令中 MCS 51单片机指令中常用符号的意义 12 direct 表示直接寻址的地址 即内部数据存储器RAM单元的8位地址 0 127或0 255 或特殊功能寄存器SFR的地址 对于SFR可直接用其名称来代替其直接地址 bit 位地址 指内部RAM和特殊功能寄存器SFR中可的直接寻址的位地址 间接寻址寄存器的前缀标志 如 Ri DPTR 表示寄存器间接寻址 MCS 51单片机指令中常用符号的意义 13 X 表示某寄存器或某单元X中的内容 X 表示由X间接寻址的单元中的内容 即 X 作地址 该地址的内容用 X 表示 表示对该位操作数取反 但不影响该位的原值 表示指令操作流程 将箭头右边的内容送入箭头左方所指的寄存器或单元中去 表示将箭头双方的内容相互交换 MCS 51单片机指令中常用符号的意义 我的信在她那 找信去 注 找信是寻找信的 地址 寻址方式 就是指如何找到存放被操作数据的位置 地址 的方法 3 2MCS 51单片机的寻址方式 15 寻址方式 指定操作数存放位置的方法 MCS 51单片机的7种寻址方式 3 2MCS 51单片机的寻址方式 寄存器寻址方式 直接寻址方式寄存器间接寻址方式 立即寻址方式 变址寻址方式位寻址方式相对寻址方式 16 操作数在寄存器中 只要指定了寄存器就能得到操作数 指令中以符号名称来表示寄存器 寄存器寻址方式的寻址范围 工作寄存器 4组共32个工作寄存器 但寄存器寻址只能使用当前寄存器组 因此指令中的寄存器名只能是R0 R7 当前工作寄存器组通过PSW中RS1 RS0位状态确定 部分特殊功能寄存器 如累加器A 寄存器B 数据指针DPTR 位累加器CY等 1 寄存器寻址方式 R0 R7 A B DPTR等 1 寄存器寻址方式 寄存器 目的地 MOVA R1 18 指令中操作数直接以存储单元地址的形式给出 直接寻址方式只能使用8位二进制数表示的地址 因此 该方式的对RAM的寻址范围只限于内部RAM 低128单元 在指令中直接以单元地址形式给出 特殊功能寄存器 可以单元地址形式给出 也可以寄存器符号形式给出 例如 MOVA 80HMOVA P0 直接寻址是访问特殊功能寄存器的唯一方式 源操作均是特殊功能寄存器P0 2 直接寻址方式 2 直接寻址方式 XXH 目的地 MOVA 3AH 例 MOVA 3AH 操作码 直接地址 10011111 A 21 寄存器寻址方式举例 MOVA R3 将R3内容送累加器AINCR0 R0 R0 1直接寻址方式举例 MOV65H A 将累加器A的内容送内部RAM65H单元中MOVA 3AH 将直接地址单元3AH中的内容送累加器AMOV10H 3AH 将3AH单元中的内容送10H单元MOVIE 85H 立即数85H送中断允许寄存器IE 22 以指定寄存器的内容为地址 由该寄存器所指定的单元内容作为操作数 寄存器中存放的是操作数的地址 寄存器间接寻址方式的寻址范围 内部RAM低128单元 只能使用R0或R1作间址寄存器 地址指针 其通用形式为 Ri i 0或1 外部RAM64KB 通常使用DPTR作间址寄存器 其形式为 DPTR外部RAM的低256单元 既能用DPTR作间址寄存器寻址 也可使用R0或R1作间址寄存器寻址 堆栈操作指令 PUSH和POP 以堆栈指针SP作间址寄存器寻址 3 寄存器间接寻址方式 XXH 目的地 MOVA R1 3 寄存器间接寻址方式 信在XXH中 寄存器 可寻址内部RAM128B 外部RAM 寻址DPTR 24 76H 3AH 3AH 例 假定寄存器R0的内容是3AH 则指令MOVXA R0功能 以寄存器R0的内容3AH为地址 把该外部RAM地址单元中的内容送累加器A 76H 寄存器R0 累加器A 外部RAM 25 操作数在指令中直接给出 立即数 作为指令的一部分与操作码一起存放在ROM内 取指后即得到操作数本身 不需要另外去寄存器或存储器等处寻找和取数 立即寻址方式主要用来给寄存器或存储单元赋初值 并且只能用作源操作数 不能用作目的操作数 例如 MOVA 70H A 70HMOVDPTR 8200H DPH 82H DPL 00H 4 立即寻址方式 26 变址寻址是为了访问程序存储器 ROM 中的数据表格 查表指令 以DPTR或PC作为基址寄存器 以累加器A作为变址寄存器 并以两者内容相加形成的16位程序存储器地址 作为操作数所在的地址 注意 累加器A中的数为无符号数 变址寻址是专门针对程序存储器的寻址方式 寻址范围可达64KB 5 变址寻址方式 基址寄存器加变址寄存器间接寻址 27 变址寻址指令只有3条 均为1字节指令 MOVCA A DPTRMOVCA A PCJMP A DPTR第1条查表指令中DPTR在使用前可以赋值 查表范围可达64KB 第2条指令中查表基址值PC是固定的 而A的内容是8位无符号数 因此只能在当前指令以下的256个地址单元范围内进行查表 第3条指令是无条件转移指令 28 变址寻址示意图 例如 MOVCA A DPTR A A DPTR 29 MCS 51单片机具有位处理功能 可以对数据位进行传送及逻辑操作 因此具有相应的位寻址方式 位寻址的寻址范围 内部RAM中的位寻址区 20H 2FH 16个单元共128个位 位地址范围 00H 7FH 位寻址区中的位有两种表示方法 位地址 例 2FH单元的第0位表示为78H单元地址加位 例 2FH单元的第0位表示为2FH 0 6 位寻址方式 30 内部RAM位寻址区的位地址 31 位寻址的寻址范围 特殊功能寄存器的可寻址位可供位寻址的特殊功能寄存器共有11个 特殊功能寄存器的可寻址位在指令中有4种表示方法 直接使用位地址表示 PSW第5位地址为D5H位名称表示 PSW第5位是标志位F0 可用F0表示该位单元地址加位表示 PSW的单元地址为0D0H 第5位可表示为0D0H 5特殊功能寄存器加位表示 PSW 5 32 相对寻址方式是为了解决程序转移而专门设置的 只为转移指令所采用 以PC的当前值加上指令中给出的相对地址偏移量 rel 就构成了程序转移的目的地址 PC当前值是指该转移指令下面一条指令的首地址值 即转移指令的PC值加上它的字节数 偏移量rel是一个带符号的8位二进制补码数 所能表示的数的范围是 128 127 转移的目的地址可用公式表示为 目的地址 转移指令地址 源地址 转移指令字节数 rel 7 相对寻址方式 33 例如 假设以下双字节条件转移指令的源地址为2050H 若条件转移指令为JZ08H 则程序将如何执行 若条件转移指令为JZ0F4H 则程序将如何执行 b 指令JZF4H寻址示意图 a 指令JZ08H寻址示意图 a 表示满足累加器A为0的条件后 从源地址向下转移至205AH单元 b 表示满足累加器A为0的条件后 从源地址向上转移至2046H单元 34 MCS 51单片机的7种寻址方式及相应的存储器空间 判断下列指令各操作数的寻址方式 1 MOVA 65H 2 MOV R1 65H 3 MOV30H R2 4 MOVC 20H 5 DJNZR2 LOOP 6 MOV60H R1 7 MOVCA A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年高考数学立体几何专题训练:真题解析与高分策略
- 王牌课件五官速写
- 研发面试场景题目及答案
- 民法典婚姻家庭篇课件
- 上海市第八中学2026届化学高一第一学期期末质量检测模拟试题含解析
- 2025年远程医疗设备维护与应急响应服务合同
- 2025年度铁矿石海上运输包船服务合同
- 2025生态环保型办公楼装饰装修工程材料检测与绿色认证合同
- 2025年城市间企业差旅商务包车合作协议
- 2025年金融服务业员工劳动合同履行与风险控制专项协议
- 贵州省建筑工程施工资料管理导则
- 无损探伤工技师技能考试题库(附答案)
- 2025年军队文职人员(司机岗)历年考试真题库及答案(重点300题)
- 部编教科书语文一年级上册教师教学用书
- 压裂作业中的职业健康安全措施
- 人教版五年级道德与法治上册教学计划(及进度表)
- 小学《义务教育语文课程标准(2022年版)》解读课件
- DB42-T 2163-2023 水利工程质量监督规程
- 工程资质挂靠合作协议书范本
- 牛奶培训资料
- 《贝叶斯估计》课件
评论
0/150
提交评论