免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 立即寻址 immediate addressing 双字节指令 第一个字节是操作码 第二个字节是操作数 操作数在指令中直接给 出 故称为立即数 在立即数前面必须加上前缀 如 MOV DPTR 1234H 1234H 是立即数 指令功能是把 16 位立即数 1234H 送到数据指针 DPTR 中 如图 注意 立即寻址只能用于源操作数 MOV A 12H MOV DPTR 1200H MOV 1200H DPTR 2 直接寻址 direct addressing 在指令中直接给出操作数单元的地址 如 MOV A 3AH 指令功能 把片内 RAM 中 3AH 单元内的数据传送给累加器 A 如图所示 直接寻址方式只能给出直接寻址方式只能给出 8 位地址 限于片内位地址 限于片内 RAM 1 低低 128 单元单元 在指令中直接以单元地址形式给出 2 特殊功能寄存器特殊功能寄存器 在指令中直接以单元地址形式给出 还可以寄存器符号形式给出 如 PUSH DPH PUSH 83H 直接寻址访问累加器直接寻址访问累加器 A 时 用时 用 ACC 表示累加器 以便与寄存器寻址方式区别 表示累加器 以便与寄存器寻址方式区别 3 寄存器寻址 register addressing 在指令中将指定寄存器的内容指定寄存器的内容作为操作数 寄存器寻址方式中 用寄存器名表示寄存器用寄存器名表示寄存器 寻址范围寻址范围 四组通用寄存器 Rn R0 R7 部分专用寄存器 A B DPTR 如 INC R0 指令功能 把寄存器 R0 的内容加 1 再送回 R0 中 4 寄存器间接寻址 register indirect addressing 在指令中给出的寄存器内容是操作数的地址 从该地址中取出的才是操作数 在该寻址中 寄存器的名称前需加前缀 例如 指令 MOV A R0 指令功能 若 R0 寄存器的内容是 3AH 指令的功能是以 3AH 为地址 将 3AH 地 址单元的内容送到累加器 A 中 如下图 寄存器间接寻址的寻址范围 寄存器间接寻址的寻址范围 1 片内 RAM 的低 128 单元 只能采用 R0 或 R1 为间接寻址寄存器 其形式为 Ri i 0 1 如 MOV A R0 2 片外 RAM 的 64KB 单元 使用 DPTR 作为间接寻址寄存器 例如 MOVX A DPTR 3 片外 RAM 的低 256 单元 使用 R0 或 R1 作为间接寻址寄存器 4 堆栈区 堆栈操作指令 PUSH 和 POP 以 SP 作间接寻址寄存器 隐含 SP 5 相对寻址 relative addressing 仅用于相对转移指令 以 PC 的当前值的当前值 即相对转移指令执行后 PC 的内容 加上指令中给出的偏移量偏移量 形成程序转移的目的地址目的地址 即 目的地址目的地址 PC 的当前值的当前值 偏移量偏移量 偏移量是一个 8 位二进制补码数 取值范围为 128 127 例如 指令例如 指令 JC 16H 二字节指令 当标志位 二字节指令 当标志位 C 1 时转移 时转移 C 0 时不转移 时不转移 若进位位 C 0 则 PC PC 2 即顺序往下 若进位位 C 1 则 PC 中的当前内容 PC 2 加上偏移量 80H 所得结果为该转移指 令的目的地址 见下图 6 变址寻址 index addressing 以 DPTR 或 PC 为基址寄存器 累加器 A 为变址寄存器 以两者内容相加后形成的 16 位地址作为操作数地址 即 操作数的有效地址操作数的有效地址 基址寄存器基址寄存器 变址寄存器变址寄存器 例如 MOVC A A DPTR 功能 把 DPTR 和 A 的内容相加后得到的程序存储器地址单元的内容送 A 变址方式常用于访问程序存储器的数据表 即查表指令 例例 3 2 3 已知片外 已知片外 ROM 的的 0302H 单元有一常数单元有一常数 X 现欲把它取到累加器现欲把它取到累加器 A 中中 请编写相应请编写相应 的程序的程序 解解 根据变址寻址的根据变址寻址的 特点特点 基地址应取基地址应取 0300H 地址偏移量为地址偏移量为 02H 相应程序为相应程序为 MOV DPTR 0300H MOV A 02H MOVC A A DPTR 7 位寻址 bit addressing 位寻址是指按位进行的寻址操作 8051 单片机中 操作数不仅可以按字节进行操作 也可以按位进行操作 把某一 位作为操作数时 这个操作数的地址称为位地址 位寻址区包括 1 内部 内部 RAM 的位寻址区 地址范围是的位寻址区 地址范围是 20H 2FH 共 共 16 个个 RAM 单元 位地址为单元 位地址为 00H 7FH 2 特殊功能寄存器 特殊功能寄存器 SFR 中有中有 11 个寄存器可以进行位寻址 个寄存器可以进行位寻址 寻址位在指令中有以下寻址位在指令中有以下 4 种表示方法 种表示方法 1 直接使用位地址表示 2 特殊功能寄存器符号加位数 例如 PSW 寄存器的第 7 位 可表示为 PSW 7 3 位名称表示方法 特殊功能寄存器中的一些寻址位是有名称的 如 PSW 寄存器第 7 位 C 标志位 则可使用 C 表示该位 4 用 bit 定义的有名字的位地址 如 L1 bit PSW 7 用 L1 代替 PSW 7 MCS 51 的寻址方式 的寻址方式 P46 课堂练习 P73 3 1 第 8 小题 3 3 指令系统 MCS 51 单片机指令系统包括单片机指令系统包括 111 条指令 按功能可以划分为以下条指令 按功能可以划分为以下 5 类 类 1 内部内部 8 位数据传送指令 位数据传送指令 15 条 条 内部 8 位数据传送指令共 15 条 主要用于 MCS 51 单片机内部内部 RAM 与寄存器之间与寄存器之间 的数据传送 指令基本格式 指令基本格式 MOV MOV 指令在片内指令在片内 RAM 的允许操作图的允许操作图 课后习题课后习题 1 试编写把片内试编写把片内 RAM 30H 单元和单元和 40H 单元中的内容进行交换的程序单元中的内容进行交换的程序 2 16 位数据传送指令 位数据传送指令 1 条 条 格式格式 MOV DPTR data 16 功能功能 把 16 位常数送入数据指针 DPTR 其中 高位字节立即数送入 DPH 低位字 节立即数送入 DPL 唯一的 16 位立即数传送指令 例如例如 MOV DPTR 1234H 执行运行后 DPTR 1234H DPH 12H DPL 34H 注意 注意 外部数据存储器传送操作外部数据存储器传送操作 例题例题 3 3 3 把外部数据存储器 把外部数据存储器 2040H 单元中的数据传送到外部数据存储器单元中的数据传送到外部数据存储器 2560H 单元中去 单元中去 例例 3 3 4 设设 R0 30H 30H 4AH A 28H 则执行下列指令后的结果为 则执行下列指令后的结果为 执行 XCH A R0 后 执行 XCHD A R0 后 执行 SWAP A 后 注意 堆栈使用时一定先设堆栈指针 复位时 SP 07H 堆栈遵循后进先出的原则安排数据 堆栈操作必须是字节操作 且只能直接寻址 PUSH POP ACC 或 PUSH POP 0E0H PUSH POP A PUSH 00H PUSH R0 3 3 2 算术运算类指令算术运算类指令 1 加法指令 加法指令 4 条 条 指令格式 指令格式 ADD A 其中 其中 包括包括 Rn Ri direct data 功能 功能 A A 对标志位的影响 对标志位的影响 ADD 对对 PSW 中的所有标志位均产生影响 中的所有标志位均产生影响 2 带进位的加法指令 带进位的加法指令 4 条 条 指令格式 指令格式 ADDC A 其中 其中 包括包括 Rn Ri direct data 功能 功能 A A Cy 对标志位的影响 对标志位的影响 ADDC 对对 PSW 中的所有标志位均产生影响 中的所有标志位均产生影响 3 带借位的减法指令 带借位的减法指令 4 条 条 指令格式 指令格式 SUBB A 其中 其中 包括包括 Rn Ri direct data 功能 功能 A A Cy 对标志位的影响 对标志位的影响 SUBB 对对 PSW 中的所有标志位均产生影响 中的所有标志位均产生影响 加减法指令关系图 4 BCD 码调整指令 码调整指令 1 条 条 5 加加 1 指令 指令 5 条 条 6 减减 1 指令 指令 4 条 条 1 无条件转移指令 无条件转移指令 4 条 条 LJMP addr16 addr16 PC 转移范围 64KB 程序存储器的任何单元 见下图 AJMP addr11 先 PC 2 PC addr11 PC10 0 PC15 11不变 转移范围 含有下一条指令首地址的同一个 2KB 范围 即高 5 位地址相同 SJMP rel 先 PC 2 PC 后 PC rel PC 转移范围 128 127 对应 rel 值 00H 7FH 0 127 80H FFH 128 1 JMP A DPTR A DPTR PC 转移范围 是以 DPTR 为首地址的 256B LCALL addr16 PC 3 PC SP 1 SP PC 0 7 SP SP 1 SP PC 8 15 SP addr0 15 PC 说明 1 该指令执行前 PC 值为下一条指令的首地址 2 转移范围 整个程序存储空间 64KB 范围 例例 3 3 13 设 设 SP 5FH 符号地址 符号地址 SUBRTN 指向指向 5678H 分析下列指令的执行情况 分析下列指令的执行情况 地址地址 程序程序 0123H LCALL SUBRTN 0126H 解 调用指令执行后 解 调用指令执行后 PC 0126H SP 1 SP 60H PC 0 7 SP 即 60H 26H SP 1 SP 61H PC 8 15 SP 即 61H 01H PC 压栈保护后 压栈保护后 5678H PC 即新的 PC 值为 5678H 转去执行 SUBRTN 子程序 子程序返回指令子程序返回指令 RET SP PC 8 15 SP 1 SP SP PC 0 7 SP 1 SP 中断服务程序返回指令中断服务程序返回指令 RETI SP PC 8 15 SP 1 SP SP PC 0 7 SP 1 SP 开放中断逻辑 解解 相应的程序为相应的程序为 ORG1000H MOVSP 70H MOVR0 20H MOVR2 0BH ACALL ZERO MOVR0 30H MOVR2 0FH ACALL ZERO MOVR0 40H MOVR2 10H ACALL ZERO SJMP 包括位数据传送 位状态修改 逻辑运算 条件转移等指令 共包括位数据传送 位状态修改 逻辑运算 条件转移等指令 共 17 条 条 位地址的表示方法 位地址的表示方法 1 直接用位地址 如 D4H 2 用特殊功能寄存器名加位数 如 PSW 4 3 用位名称 如 RS1 RS0 4 用 bit 定义的有名字的位地址 如 N1 bit PSW 4 MOV C bit bit C MOV bit C C bit 注意 注意 其中一个操作数必须是位累加器其中一个操作数必须是位累加器 C 例如 MOV C TR0 MOV 08H C 1 位清 位清 0 指令指令 CLR C 0 C CLR bit 0 bit 2 位置 位置 1 指令指令 SETB C 1 C SETB bit 1 bit 3 位取反指令 位取反指令 CPL C C C CPL bit bit bit 1 位逻辑 位逻辑 与与 指令指令 ANL C bit C bit C ANL C bit C bit C 2 位逻辑 位逻辑 或或 指令指令 ORL C bit C bit C ORL C bit C bi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025液晶显示面板制造行业市场现状分析投资机遇规划行业评估报告
- 2025年仓储管理员(中级)练习题库及参考答案
- (2025年)医保政策调整与医疗保险覆盖范围考试练习题(答案+解析)
- 2025年自然灾害应急处理安全培训考试题库附答案
- 2025年选调生考试题库及答案
- 2025年精神分裂症诊疗及护理考核试题及答案
- 2025年office办公软件试题及答案合集
- 2025年吊装作业安全教育培训考试题含答案
- 2025年安全生产知识竞赛试题库判断题答案
- 2025年健康评估试卷及答案
- 见义勇为宣传课件
- 说话的艺术课件
- 个人信息保护规则及制度
- 货车安全培训案例分享课件
- 2025湖南张家界桑植县交通旅游建设投资集团有限公司招聘考试参考题库及答案解析
- 暖气费面积分摊合同协议
- GB/T 20805-2025饲料中酸性洗涤木质素(ADL)的测定
- 美甲美睫服务与产品移动店创新创业项目商业计划书
- 文化遗产融资机制分析-洞察及研究
- DBJT15-110-2015 广东省建筑防火及消防设施检测技术规程
- 2026年高考语文复习指导报告(全国适用)
评论
0/150
提交评论