考点7 伪指令《单片机原理与应用》四川省(对口招生)电子信息类 知识点讲解

2026-03-30
| 11页
| 20人阅读
| 0人下载
中职电子知识铺
进店逛逛

资源信息

学段 中职
学科 职教专业课
课程 单片机技术与应用
教材版本 -
年级 -
章节 -
类型 题集-综合训练
知识点 MCS-51系列指令系统
使用场景 中职复习-一轮复习
学年 2026-2027
地区(省份) 四川省
地区(市) -
地区(区县) -
文件格式 DOCX
文件大小 1.46 MB
发布时间 2026-03-30
更新时间 2026-03-30
作者 中职电子知识铺
品牌系列 上好课·一轮讲练测
审核时间 2026-03-30
下载链接 https://m.zxxk.com/soft/57077917.html
价格 3.00储值(1储值=1元)
来源 学科网

内容正文:

四川省(电子信息大类)对口招生《单片机原理与应用》 复习讲义 模块 3 单片机指令系统 考点七 伪指令 【考纲要求】 1.理解伪指令的意义。 2.能识读和简单运用单片机指令。 【知识网络】 【知识和技能要点】 位操作类指令 伪指令的作用:在MCS-51汇编语言源程序中向汇编程序发出的指示信息,告诉它如何完成汇编工作。也称为汇编程序控制命令。只有在汇编前的源程序中才有伪指令。经过汇编得到目标程序(机器代码)后,伪指令已无存在的必要,所以“伪”体现在汇编时,伪指令没有相应的机器代码产生。 常用的伪指令: 1.ORG汇编起始地址命令 在汇编语言源程序的开始,通常都用一条ORG伪指令来实现规定程序的起始地址。如不用ORG规定,则汇编得到的目标程序将从0000H开始。例如: ORG 2000H START:MOV A,#00H ┋ 规定标号START代表地址为2000H开始。 在一个源程序中,可多次使用ORG指令,来规定不同的程序段的起始地址。但是,地址必须由小到大排列,地址不能交叉、重叠。 2.END汇编终止命令 汇编语言源程序的结束标志,用于终止源程序的汇编工作。在整个源程序中只能有一条END命令,且位于程序的最后。 3.DB定义字节命令 在程序存储器的连续单元中定义字节数据。 ORG 2000H DB 30H,40H,24,“C”,“B” 汇编后: (2000H)=30H (2001H)=40H (2002H)=18H(10进制数24) (2003H)=43H(字符“C”的ASCII码) (2004H)=42H(字符“B”的ASCII码) DB功能是从指定单元开始定义(存储)若干个字节,10进制数自然转换成16进制数,字母按ASCII码存储。 4.DW定义数据字命令 从指定的地址开始,在程序存储器的连续单元中定义16位的数据字。例如: ORG 2000H DW 1246H,7BH,10 汇编后: (2000H)=12H;第1个字 (2001H)=46H (2002H)=00H;第2个字 (2003H)=7BH (2004H)=00H;第3个字(2005H)=0AH (2005H)=0AH 5.EQU(EQUate)赋值命令 用于给标号赋值。赋值以后,其标号值在整个程序有效。例如: TEST EQU 2000H 表示标号TEST=2000H,在汇编时,凡是遇到标号TEST时,均以2000H来代替。 EQU指令用于为程序中的任意标号赋值。程序中的常量通常可以用标号代替,便于修改。主程序前要先用equ指令为常量标号赋值。 6.预留存储空间伪指令DS: [标号:]DS表达式 该伪指令的功能是从标号地址开始,保留若干个字节的内存空间以备存放数据。保留字节单元数由表达式的值决定。 7.位地址定义伪指令BIT 标号:BIT位地址 该伪指令的功能是将位地址赋予BIT前面的标号,经赋值后可用该标号代替BIT后面的位地址。例如: PLG:BIT FO AI:BIT P1.0 经以上伪指令定义后,在程序中就可以把FLG和AI作为位地址来使用。 8.数据地址赋值伪指令: 字符名称 DATA 表达式 该伪指令的功能是将表达式指定的数据地址赋予规定的字符名称。 该指令与EQU相似,只是可先使用后定义,放在程序开头,结尾均可。 【练习题】 1、 填空题 1.假定累加器A中的内容为30H,执行指令               1000H:MOVC   A,@A+PC   后,把程序存储器 ________   单元的内容送入累加器A中。 2.ORG   2000H     LCALL  4000H     ORG    4000H ADD    A,R2     执行完LCALL指令后,PC= ________   。 3.用一条指令 ____________________ 可以取代下列4条指令:        MOV    DPTR,#1234H        PUSH    DPL        PUSH    DPH        RET 4.已知SP=25H,PC=2345H,(24H)=12H,(25H)=34H,(26H)=56H。问此时执行“RET” 指令后,SP=______________  ,PC=______________  。 5.若VAL EQU 20H,则指令MOV A,VAL的源操作数寻址方式为______。 6.伪指令______用于将一个符号赋值为位地址,仅作用于可位寻址空间。 二、选择题 1. 执行下列程序后,累加器A的内容为 ( ) 。 ODG 0000H MOV A, #00H ADD A, #02H MOV DPDR, #0050H MOVC A, @A+DPDR MOV @R0, A SJMP $ ORG 0050H BAO: DB 00H,08H,0BH,6H,09H,0CH END A.00H B.0BH C.06H D.0CH 2.执行下列程序后,内部RAM 30H单元的内容是( ) 。 MOV 30H,#00H MOV R0,#30H MOV A, 30H ADD A, #04H MOVC A, @A+PC MOV @R0, A SJMP $ TDB:DB 00H ,01H ,02H,03H,05H A.00H B.02H C.05H D.30H 3.下列指令判断若P1口最低位为高电平就转LP,否则就执行下一句的是( )。 A.JNB P1.0,LP B.JB P1.0,LP C.JC P1.0,LP D.JNZ P1.0,LP 4.LCALL指令操作码地址为2000H,执行完子程序返回指令后PC=( ) A.2000H B.2001H C.2003H D. 2001H 5.以下指令中,哪条指令执行后使标志位CY清0( ) A. MOV A,#00H B. ADD A,#00H C. MOVX A,@R2 D.CLR A 6.下列字定义的数表中,( )是错误的。 D.A.DW "AA" B.DW "A" C. DW "OABC" D.DW OABCH 7..MCS-51指令系统中,格式为:ORG16位地址的指令功能是( ) A.用于定义字节 B.用于定义字 C.用于定义汇编源程序的起始地址 D.用于定义某特定位的标识符 8.下列关于51单片机伪指令的描述,错误的是( ) A. EQU定义的符号不允许重复赋值 B. BIT只能用于定义可位寻址区的位地址 C. ORG可以在程序中多次使用,指定不同存储区域 D. DB和DW均可用于定义程序存储器中的执行指令 9.伪指令DATA 30H与EQU 30H的核心区别是( ) A. DATA可重复定义,EQU不可 B. EQU可重复定义,DATA不可 C. DATA只能定义字节,EQU只能定义位地址 D. 无本质区别 10.关于END伪指令,说法正确的是( ) A. 程序中可写多个END,CPU执行到第一个停止 B. 仅告知汇编器结束编译,不生成机器码 C. 会生成一条跳转指令,让程序跳转到结束位置 D. 必须写在数据定义伪指令之前 三、判断题 1..MCS—51指令系统中,执行指令ORG 2000H;BCD: DB “A,B,C,D”表示将A、B、C、D的ASII码值依次存入2000H开始的连续单元中。( ) 2.EQU定义的符号必须在使用前定义,而DATA可以先使用后定义。( ) 3.指令INC DPTR会影响PSW中的溢出标志OV。( ) 4.伪指令DB定义的数据存储在程序存储器中,运行时只能读取不能修改。( ) 5.执行MOV R1,A后,累加器A的值会被清零。( ) 6.ORG伪指令的地址设置不能超过51单片机程序存储器的最大寻址范围。( ) 7.指令SJMP $的功能是原地跳转,构成死循环,常用于程序结尾。( ) 8.所有数据传送类指令都不会影响程序状态字PSW的任何标志位。( ) 四、分析题 1.下面程序执行后(SP)=____________,(A)=____________,(B)=____________,并解释每条指令的作用。 ORG 2000H MOV SP,#40H MOV A,#30H LCALL 2500H ADD A,#10H MOV B,A HERE: SJMP HERE ORG 2500H MOV DPTR,#2009H PUSH DPL PUSH DPH RET 2. 下面的程序段经汇编后,从2000H开始的各有关存储器单元的内容是什么? ORG 2000H TAB:DW 10H,20H DW 2100H,23H DW TAB: DB 'WORK' 3.已知(SP)=60H,子程序SUBTRN的首地址为0345H,现执行位于0123H的ACALL SUBTRN双字节指令后,(PC)=_________,(61H)=__________,(62H)= _________。 【答案】 一、填空题 1.1031H 2.4000H 解析:LCALL 是长调用,执行后PC直接跳转到目标地址4000H。 3.LJMP 1234H 解析:压栈DPTR再RET = 间接长跳转,等价 LJMP。 4.SP=23H,PC=3412H 解析: ○RET 弹栈2次:SP从25H → 23H ○先弹(25H)=34H→PCH,再弹(24H)=12H→PCL,PC=3412H 5.立即寻址 解析:VAL EQU 20H 是常量,MOV A,#VAL 属于立即寻址。 6.BIT 解析:BIT 伪指令专门给可位寻址空间赋值符号。 二、选择题 1.B. 0BH 解析:A=02H,@A+DPTR=0052H,查表DB第3个数据是0BH。 2.C. 05H 解析:A=04H,@A+PC 指向 TDB+4 位置,数据是05H。 3.B. JB P1.0,LP 解析:JB = 为1跳转;JNB=为0跳转。 4.C. 2003H 解析:LCALL 3字节,返回PC=2000H+3=2003H。 5.B. ADD A,#00H 解析:只有算术运算会影响CY,ADD A,#0 会清CY。 6.C. DW "OABC" 解析:DW只能存1个字(2字符/16位数),"OABC"是4字符,非法。 7.C. 定义汇编源程序的起始地址 8.D. DB和DW均可用于定义程序存储器中的执行指令 解析:DB/DW是数据定义,不是可执行指令。 9.A. DATA可重复定义,EQU不可 10.B. 仅告知汇编器结束编译,不生成机器码 三、判断题 1.√ 2.√ 3.×(INC DPTR 不影响任何标志位) 4.√(程序存储器ROM只读) 5.×(传送不改变源操作数) 6.√ 7.√ 8.×(如MOV A,direct 不影响,但带进位/算术指令会影响) 四、分析题 1. 执行结果 SP=42H,A=40H,B=40H 以下是程序中每条指令的详细作用说明: ORG 2000H 这是一个伪指令,它指定了接下来的程序代码从程序存储器的 2000H 地址开始存放。 MOV SP, #40H 将十六进制数 40H 赋值给堆栈指针寄存器 SP。执行后,(SP) = 40H,这设置了堆栈的起始位置。 MOV A, #30H 将十六进制数 30H 赋值给累加器 A。执行后,(A) = 30H。 LCALL 2500H 长调用指令。它会执行两个操作: 保护断点:将下一条指令 ADD A, #10H 的地址(即 2008H)压入堆栈,以便子程序执行完毕后能正确返回。压栈时 SP 会先加1再存入数据,因此返回地址的低字节和高字节会依次存入 41H 和 42H 单元,最终 (SP) 变为 42H。 跳转:将程序计数器 PC 的值设置为 2500H,程序跳转到该地址开始执行子程序。 ADD A, #10H 将累加器 A 的值与立即数 10H 相加,结果存回 A。此指令在 LCALL 返回后执行。执行前 (A) = 30H,执行后 (A) = 30H + 10H = 40H。 MOV B, A 将累加器 A 的当前值传送给寄存器 B。执行后,(B) = (A) = 40H。 HERE: SJMP HERE 这是一个无限循环,程序执行到这里后会一直原地跳转,相当于程序结束并停在此处。 📜 子程序部分 ORG 2500H 指定子程序的代码从程序存储器的 2500H 地址开始存放。 MOV DPTR, #2009H 将十六进制数 2009H 赋值给16位的数据指针寄存器 DPTR。此时,高8位 DPH = 20H,低8位 DPL = 09H。 PUSH DPL 将 DPL 的内容压入堆栈。执行时 SP 先加1变为 43H,然后将 DPL 的值 09H 存入 43H 内存单元。 PUSH DPH 将 DPH 的内容压入堆栈。执行时 SP 先加1变为 44H,然后将 DPH 的值 20H 存入 44H 内存单元。 RET 子程序返回指令。它会从堆栈中弹出之前由 LCALL 指令保存的返回地址(2008H)到程序计数器 PC 中,使程序返回到主程序继续执行。执行此指令时,堆栈指针 SP 会减去2,恢复到调用子程序后的状态,即 (SP) = 42H。 2. 2000H 开始存储器内容 2000H: 00H 2001H:10H 2002H: 00H 2003H:20H 2004H: 21H 2005H:00H 2006H: 00H 2007H:23H 2008H: 00H 2009H:20H 200AH: 57H 200BH:4FH 200CH:52H 200DH:4BH •DW 存高字节在前 •DB 'WORK' = 57H,4FH,52H,4BH 3. ACALL 执行结果 •PC=0345H •(61H)=25H •(62H)=01H 解析: ACALL 是2字节指令,当前地址0123H,下一条PC=0125H 压栈:先低字节25H→61H,再高字节01H→62H SP从60H → 62H 【真题演练】 1.(25单招,单选题)MCS-51单片机中,RETI指令的功能是( ) A.中断程序调用 B.子程序调用 C.中断程序返回 D.子程序返回 【答案】 1.C 原创精品资源学科网独家享有版权,侵权必究 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

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