考点13 掌握程序调用及返回指令(ACALL、LCALL、RET、RETI)《单片机原理及应用》四川省(对口招生)电子信息类 知识点讲解

2026-04-21
| 14页
| 18人阅读
| 0人下载

资源信息

学段 中职
学科 职教专业课
课程 单片机技术与应用
教材版本 -
年级 -
章节 -
类型 题集-综合训练
知识点 汇编语言程序设计方法,中断原理及应用
使用场景 中职复习-一轮复习
学年 2026-2027
地区(省份) 四川省
地区(市) -
地区(区县) -
文件格式 DOCX
文件大小 163 KB
发布时间 2026-04-21
更新时间 2026-04-21
作者 xkw_086668129
品牌系列 上好课·一轮讲练测
审核时间 2026-04-21
下载链接 https://m.zxxk.com/soft/57459562.html
价格 3.00储值(1储值=1元)
来源 学科网

内容正文:

四川省(对口招生)电子信息类《单片机原理及应用》 知识点讲解 考点13掌握程序调用及返回指令(ACALL、LCALL、RET、RETI) 【考情分析】 本专题是 51 单片机指令系统核心考点,在高职单招、中职升高职联考及电子信息类专业技能高考中高频考查,考查形式以单选题、判断题、填空题为主,也常作为程序阅读、程序设计题的基础考点,侧重四条指令的核心功能、寻址范围、使用场景、关键区别及应用规范识记,是理解单片机子程序设计、中断服务程序设计的核心基础,需重点掌握指令间的差异与使用规则。 考纲解读 1 掌握ACALL、LCALL、RET、RETI四条指令的核心定义与功能 2 熟记ACALL与LCALL的寻址范围、调用规则,能区分两条长/短调用指令的适用场景 3 掌握RET与RETI的核心区别,明确两条返回指令的使用规范与禁忌 4 理解子程序调用与返回的完整执行流程,能结合程序场景判断指令的正确使用 指令概述 51单片机的程序调用及返回指令,是实现子程序模块化设计、中断服务程序处理的核心指令,分为两类:子程序调用指令(ACALL、LCALL)和子程序/中断返回指令(RET、RETI)。 调用指令用于主程序中跳转到指定的子程序入口地址,同时自动保护断点地址;返回指令用于子程序/中断服务程序末尾,自动恢复断点地址,使程序回到主程序断点处继续执行。 51单片机程序存储器寻址空间为64KB,程序计数器PC始终指向当前即将执行的指令地址,调用与返回指令的核心操作均围绕PC 值的修改与保护展开,是考试核心,也是理解单片机模块化程序设计的关键。 四条核心指令详解 绝对子程序调用指令 ACALL(短调用指令) 定义:2字节的子程序绝对调用指令,可在当前指令所在的 2KB程序存储器空间内调用子程序,是短距离子程序调用的核心指令。 核心执行流程: 先将PC值自动加2,获取下一条指令的地址(即断点地址,因为 ACALL是2字节指令)。 将断点地址的低8位、高8位依次压入堆栈保护,堆栈指针SP 自动加2。 将指令中携带的11位地址送入PC的低11位,PC的高5位保持不变,实现程序跳转到子程序入口地址。 核心寻址范围:调用目标地址必须与 ACALL 指令下一条指令的首地址,处于同一个 2KB 的程序存储器分区内(即PC高5位相同),否则会出现地址越界错误。 典型示例:若ACALL指令所在地址为0100H,PC加2后为 0102H,PC高5位为 00000B,则可调用的子程序地址范围为 0000H~07FFH(2KB空间)。 补充说明:ACALL为2字节指令,占用程序空间小,执行速度快,适用于同分区内的短距离子程序调用,是考试中考查寻址范围的核心指令。 长子程序调用指令 LCALL(长调用指令) 定义:3字节的子程序长调用指令,可在64KB的全程序存储器空间内任意调用子程序,无地址分区限制,是通用子程序调用指令。 核心执行流程(考试重点): 先将PC值自动加3,获取下一条指令的地址(断点地址,因为 LCALL是3字节指令)。 将断点地址的低8位、高8位依次压入堆栈保护,堆栈指针SP 自动加2。 将指令中携带的16位完整地址直接送入PC,实现程序跳转到 64KB空间内任意子程序入口地址。 核心寻址范围:64KB全程序存储器空间(0000H~FFFFH),无地址分区限制,调用灵活。 典型示例:LCALL 1000H 指令,可直接将程序跳转到1000H地址处的子程序执行,无论该指令本身在64KB空间的任何位置。 补充说明:LCALL 为3字节指令,调用无地址限制,使用便捷,是子程序设计中最常用的调用指令,考试重点考查与ACALL的寻址范围、字节数、执行流程的区别。 子程序返回指令 RET 定义:子程序专用返回指令,放置在子程序的末尾,用于完成子程序执行后,回到主程序断点处继续执行。 核心执行流程(考试重点): 自动从堆栈中弹出断点地址的高8位、低8位,依次送回PC 寄存器,堆栈指针SP自动减2。 程序回到主程序中调用指令的下一条指令处,继续执行后续代码。 核心使用规则:必须与 ACALL/LCALL 指令成对使用,只能用于普通子程序的末尾,严禁用于中断服务程序中。 典型示例: Plain Text 主程序:0100H LCALL 1000H ;调用子程序,断点地址为0103H 子程序:1000H MOV A,#01H 1002H ADD A,#02H 1004H RET ;执行后,PC恢复为0103H,回到主程序继续执行 补充说明:RET指令仅完成断点地址的恢复,不涉及中断状态的操作,是普通子程序返回的唯一专用指令。 中断服务程序返回指令 RETI 定义:中断服务程序专用返回指令,放置在中断服务程序的末尾,用于完成中断服务后,回到主程序断点处继续执行,同时恢复中断系统的状态。 核心执行流程(考试重点): 自动从堆栈中弹出断点地址的高8位、低8位,依次送回PC 寄存器,堆栈指针SP自动减2。 清除中断响应时被置1的内部中断优先级触发器,开放同级中断的响应权限,恢复中断系统的正常工作状态。 程序回到主程序中断发生时的断点地址处,继续执行后续代码。 核心使用规则:必须用于中断服务程序的末尾,严禁用于普通子程序中;RETI指令执行后,CPU至少要再执行一条主程序指令,才会响应新的中断请求。 高频考点:RET与RETI的核心区别 ——RETI具备中断系统状态恢复的功能,RET没有;二者使用场景完全隔离,不可混用。 补充说明:若在普通子程序中使用RETI,或在中断服务程序中使用RET,会导致单片机中断系统工作异常,是考试判断题的高频易错点。 四条指令核心知识点总结 核心对比表 指令名称 指令类型 字节数 寻址范围 核心功能 专用场景 ACALL 绝对调用指令 2 字节 当前 PC 所在 2KB 分区内 短距离子程序调用,保护断点 普通子程序短调用 LCALL 长调用指令 3 字节 64KB 全程序空间 全范围子程序调用,保护断点 普通子程序通用调用 RET 子程序返回指令 1 字节 无 恢复断点地址,返回主程序 普通子程序末尾 RETI 中断返回指令 1 字节 无 恢复断点地址 + 中断状态,返回主程序 中断服务程序末尾 调用先加PC,断点入栈里,跳转去执行;返回弹PC,断点回原位,RET子程序,RETI管中断。 易错点区分(高频考点) 易错点1:混淆ACALL与LCALL的寻址范围 ——ACALL是2KB 分区内调用,LCALL是64KB 全空间调用,二者字节数不同,PC自加数值不同(ACALL+2,LCALL+3)。 易错点2:RET与RETI 混用 ——RET 仅恢复断点,用于普通子程序;RETI恢复断点+中断状态,用于中断服务程序,二者绝对不能互换使用。 易错点3:调用指令的断点地址计算 —— 断点地址是调用指令的下一条指令首地址,不是调用指令本身的地址,需根据指令字节数(ACALL2 字节、LCALL3 字节)计算 PC 自加后的值。 易错点 4:堆栈操作的顺序 —— 调用时先压入断点低8位、再压高8位;返回时先弹出高8位、再弹低8位,考试判断题常考查顺序错误。 例题 1. 51 单片机中,LCALL 指令的寻址范围是( ) A. 2KB B. 4KB C. 64KB D. 128B 【解析】核心考点:LCALL 长调用指令的寻址范围,LCALL 为 3 字节指令,携带 16 位地址,可寻址 64KB 全程序存储器空间。答案:C 例题 2. 下列关于 ACALL 指令的说法,正确的是( ) A. 是 3 字节指令 B. 可在 64KB 空间内任意调用 C. 执行时 PC 先自动加 2 D. 用于中断服务程序调用 【解析】ACALL 是 2 字节短调用指令,执行时 PC 先加 2 获取断点地址,仅能在 2KB 分区内调用,专用于普通子程序调用。答案:C 例题 3. 51 单片机中断服务程序的末尾,必须使用的返回指令是( ) A. RET B. RETI C. LJMP D. ACALL 【解析】RETI 是中断服务程序专用返回指令,具备恢复中断系统状态的功能,必须用于中断服务程序末尾。答案:B 例题 4.(判断题)51 单片机中,RET 指令可以放在中断服务程序的末尾,实现中断返回功能。( ) 【解析】RET 仅能用于普通子程序返回,不具备恢复中断系统状态的功能,中断服务程序末尾必须使用 RETI,二者不可混用。答案:× 例题 5. 执行 ACALL 指令时,单片机自动完成的操作不包括( ) A. PC 值自动加 2 B. 断点地址压入堆栈保护 C. 跳转到子程序入口地址 D. 清除中断优先级触发器 【解析】清除中断优先级触发器是 RETI 指令的功能,ACALL 作为调用指令,仅完成 PC 自加、断点入栈、地址跳转操作。答案:D 【参考答案】 C C B × D 【高考题实战】 真题 1(2025 高考 单选)51 单片机 ACALL 指令的最大寻址范围是( ) A. 2KB B. 4KB C. 64KB D. 256B 答案:A 真题 2(2024 高考 单选)下列指令中,属于 3 字节子程序调用指令的是( ) A. ACALL B. LCALL C. RET D. RETI 答案:B 真题 3(2023 高考 单选)RETI 指令的核心作用,除了恢复断点地址外,还包括( ) A. 保护累加器 A 的内容 B. 清除中断优先级触发器,恢复中断系统状态 C. 压入断点地址到堆栈 D. 实现 64KB 空间的长跳转 答案:B 真题 4(2025 高考 判断)51 单片机中,LCALL 指令可以调用 64KB 程序存储器内任意位置的子程序。( ) 答案:√ 真题 5(2024 单招 单选)普通子程序的末尾,必须使用的返回指令是( ) A. RET B. RETI C. SJMP D. LJMP 答案:A 真题 6(2023 高考 判断)ACALL 和 LCALL 指令执行时,都会自动将断点地址压入堆栈进行保护。( ) 答案:√ 【参考答案】 A B B √ A √ 【模拟演练】 一、单选题 1. 51 单片机中,ACALL 指令是()字节的指令 A. 1 B. 2 C. 3 D. 4 2. 执行 LCALL 指令时,PC 会先自动加()获取断点地址 A. 1 B. 2 C. 3 D. 4 3. 下列指令中,可实现 64KB 全空间子程序调用的是() A. ACALL B. SJMP C. LCALL D. AJMP 4. 下列关于 RET 与 RETI 的说法,错误的是() A. 二者都是 1 字节指令 B. 都能恢复断点地址 C. 都可以用于中断服务程序末尾 D. 执行时都会操作堆栈指针 SP 5. ACALL 指令执行时,断点地址压入堆栈的顺序是() A. 先压入高 8 位,再压入低 8 位 B. 先压入低 8 位,再压入高 8 位 C. 高低 8 位同时压入 D. 无固定顺序 6. 若 ACALL 指令下一条指令的地址为 0800H,则该指令可调用的子程序地址范围是() A. 0000H\07FFH B. 0800H\0FFFH C. 0000H\FFFFH D. 0800H\08FFH 7. 下列指令中,必须成对使用的是() A. LCALL 与 RET B. ACALL 与 RETI C. LCALL 与 RETI D. RET 与 RETI 8. 执行 RET 指令时,堆栈指针 SP 会() A. 自动加 1 B. 自动加 2 C. 自动减 1 D. 自动减 2 9. 下列场景中,必须使用 RETI 指令的是() A. 普通子程序末尾 B. 主程序的跳转处 C. 中断服务程序末尾 D. 子程序调用处 10. 下列关于子程序调用指令的说法,正确的是() A. ACALL 无地址分区限制 B. LCALL 执行速度比 ACALL 更快 C. 二者都会自动保护断点地址 D. 二者都属于返回类指令 二、判断题 1. 51 单片机的 ACALL 指令可以在 64KB 程序空间内任意调用子程序。() 2. LCALL 是 3 字节指令,执行时 PC 先自动加 3 获取断点地址。() 3. 普通子程序的末尾可以使用 RETI 指令实现返回功能。() 4. 调用指令执行时,会自动将断点地址压入堆栈保护。() 5. RET 指令执行时,会清除中断优先级触发器,恢复中断系统状态。() 6. ACALL 指令的调用目标地址,必须与下一条指令处于同一个 2KB 分区内。() 7. RET 和 RETI 指令执行时,都会从堆栈中弹出断点地址送回 PC 寄存器。() 8. 子程序调用指令与返回指令的核心操作,都围绕 PC 寄存器与堆栈展开。() 9. 中断服务程序末尾可以使用 RET 指令,不会影响中断系统的正常工作。() 10. LCALL 指令比 ACALL 指令的调用范围更广,使用限制更少。() 【参考答案】 一、单选题 B C C C B B A D C C 二、判断题 × √ × √ × √ √ √ × √ 原创精品资源学科网独家享有版权,侵权必究 学科网(北京)股份有限公司zxxk.com 学科网(北京)股份有限公司 $

资源预览图

考点13 掌握程序调用及返回指令(ACALL、LCALL、RET、RETI)《单片机原理及应用》四川省(对口招生)电子信息类 知识点讲解
1
考点13 掌握程序调用及返回指令(ACALL、LCALL、RET、RETI)《单片机原理及应用》四川省(对口招生)电子信息类 知识点讲解
2
考点13 掌握程序调用及返回指令(ACALL、LCALL、RET、RETI)《单片机原理及应用》四川省(对口招生)电子信息类 知识点讲解
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。