3.5-3.6 逻辑运算类指令、控制转移类指令(练习)-《单片机技术与应用》(高教版第二版) 同步精品课堂

| 2份
| 11页
| 77人阅读
| 1人下载

内容正文:

逻辑运算类指令. 控制转移类指令 一、名词解释 1. 逻辑运算类指令 【答案】逻辑运算类指令共 24 条,其中逻辑指令有与. 或. 异或. 累加器 A 清 0 和求反等 20 条,移位指令有 4 条。该类指令中,累加器 A 清 0 和取反、移位指令都是针对累加器 A 进行操作的单操作数指令。与、或、异或操作指令除操作码助记符不同外,后跟两个操作数的寻址方式组合完全相同,且有一部分寻址方式组合与加. 减法指令相同。这类指令的特点是不影响程序状态字寄存器 PSW 中的算术标志位,只有带进位循环移位指令才影响 CY,所有逻辑运算均按位进行。 2. 控制转移类指令 【答案】凡是能够使程序改变执行顺序的指令称为控制转移类指令,又称跳转指令。控制转移类指令共有 17 条,可分为无条件转移指令、条件转移指令、子程序调用及返回指令。有了丰富的控制转移类指令,就能很方便地实现程序向前. 向后转移,并根据条件实现分支运行. 循环运行及调用子程序等。 二、单项选择题 1. 逻辑运算类指令中,不影响程序状态字寄存器 PSW 中算术标志位的是( ) A. 逻辑与. 或. 异或指令 B. 带进位循环移位指令 C. 所有逻辑运算类指令 D. 除带进位循环移位指令外的其他逻辑运算类指令 【答案】D 【解析】逻辑运算类指令的特点是不影响程序状态字寄存器 PSW 中的算术标志位,只有带进位循环移位指令才影响 CY,所以除带进位循环移位指令外的其他逻辑运算类指令不影响 PSW 中算术标志位,答案选 D。 2. 在逻辑与指令 “ANL A,Rn” 中,操作结果保存在( ) A. 累加器 A B. Rn 寄存器 C. @Ri 所指单元 D. direct 所指单元 【答案】A 【解析】“ANL A,Rn” 的操作功能是 A←(A)∧(Rn),即操作结果保存在累加器 A 中,答案选 A。 3. 逻辑或指令 “ORL direct,#data” 的字节数和机器周期数分别是( ) A. 2,1 B. 2,2 C. 3,1 D. 3,2 【答案】D 【解析】由表格可知 “ORL direct,#data” 的字节数是 3,机器周期数是 2,答案选 D。 4. 逻辑异或指令常用来( ) A. 使字节中某些位进行取反操作,其他位保持不变 B. 使累加器 A 清 0 C. 对累加器 A 取反 D. 实现算术运算 【答案】A 【解析】逻辑异或指令常用来使字节中某些位进行取反操作,其他位保持不变。欲使某位取反,则该位与 1 相异或;欲使某位保留,则该位与 0 相异或。还可利用逻辑异或指令对某单元自身异或,以实现清 0 操作,答案选 A。 5. 累加器 A 清 0 指令 “CLR A” 的功能是( ) A. 将累加器 A 的内容按位逻辑取反 B. 使累加器 A 清 0 C. 对累加器 A 进行移位操作 D. 对累加器 A 进行逻辑与操作 【答案】B 【解析】“CLR A” 的功能是累加器 A 清 0,不影响 CY、 AC、OV 等标志,答案选 B。 6. 无条件转移指令中,可在 64KB 范围内无条件转移的是( ) A. LJMP addr16 B. AJMP addr11 C. SJMP rel D. JMP @A+DPTR 【答案】A 【解析】长转移指令 LJMP addr16 执行时把指令操作数提供的 16 位目标地址 A15~A0 装入 PC 中,可使程序从当前地址转移到 64KB 程序存储器地址空间的任意地址,答案选 A。 7. 绝对转移指令 AJMP addr11 的转移范围是( ) A. 64KB B. 2KB C. 256 字节 D. 相对 PC 当前值向前转移 128 字节,向后转移 127 字节 【答案】B 【解析】绝对转移指令 AJMP addr11 提供 11 位地址,可在 2KB 范围内无条件转移到由 A0~A10 所指出的地址单元中去,答案选 B。 8. 短转移指令 SJMP rel 的转移范围是( ) A. 64KB B. 2KB C. 256 字节 D. 相对 PC 当前值向前转移 128 字节,向后转移 127 字节 【答案】D 【解析】SJMP 指令的操作数 rel 用 8 位带符号数补码表示,转移范围是相对 PC 当前值向前转移 128 字节,向后转移 127 字节,答案选 D。 9. 条件转移指令中,判断累加器是否为零转移指令是以( )作为转移的条件。 A. 累加器 A 的内容是否为 0 B. 两个操作数是否相等 C. 源操作数减 1 后是否为 0 D. 进位标志 CY 的值 【答案】A 【解析】判断累加器是否为零转移指令是以累加器 A 的内容是否为 0 作为转移的条件,累加器 A 为 0,则转移,累加器 A 不为 0,则顺序执行,答案选 A。 10. 子程序调用指令执行时,首先( ) A. 将断点地址压栈保存 B. 转向子程序入口地址 C. 执行子程序 D. 返回主程序 【答案】A 【解析】子程序调用指令使程序执行转向子程序入口,执行完子程序要返回主程序继续执行。为了实现返回,执行子程序调用指令时,首先将断点地址压栈保存,然后才转向子程序入口地址,答案选 A。 三、判断题 1. 逻辑运算类指令都会影响程序状态字寄存器 PSW 中的算术标志位。( ) 【答案】× 【解析】逻辑运算类指令的特点是不影响程序状态字寄存器 PSW 中的算术标志位,只有带进位循环移位指令才影响 CY,所以该说法错误。 2. 逻辑与指令 “ANL direct,A” 的操作功能是将 direct 单元的内容与累加器 A 的内容进行逻辑与操作,结果保存在 direct 单元。( ) 【答案】√ 【解析】“ANL direct,A” 的操作功能是 direct←(direct)∧(A),即将 direct 单元的内容与累加器 A 的内容进行逻辑与操作,结果保存在 direct 单元,所以该说法正确。 3. 无条件转移指令 JMP @A+DPTR 可以实现多分支转移功能。( ) 【答案】√ 【解析】间接转移指令 JMP @A+DPTR 是以数据指针 DPTR 的内容为基址,以累加器 A 的内容为相对偏移量,在 64KB 范围内无条件转移。该指令的特点是当 DPTR 作为基地址时,根据 A 的不同值就可以实现多分支转移,所以该说法正确。 4. 条件转移指令中的比较转移指令执行时,会保存两个操作数比较的差值。( ) 【答案】× 【解析】比较转移指令是先对两个规定的操作数进行比较,根据比较的结果来决定是否转移。比较是做一次减法运算,但其差值不保存,两个数的原值不受影响,而标志位要受到影响,所以该说法错误。 5. 子程序调用指令和转移指令没有本质区别。( ) 【答案】× 【解析】子程序调用指令和转移指令相似,但两者有本质的区别:子程序调用指令使程序执行转向子程序入口,执行完子程序要返回主程序继续执行。为了实现返回,执行子程序调用指令时,首先将断点地址压栈保存,然后才转向子程序入口地址。而转移指令只是使程序转移到目标地址,不涉及返回主程序的操作,所以该说法错误。 四、简答题 1. 简述逻辑运算类指令的分类及特点。 【答案】逻辑运算类指令分类及特点如下: · 分类:包括逻辑指令(与. 或. 异或. 累加器 A 清 0 和求反等 20 条)和移位指令(4 条)。 · 特点:累加器 A 清 0 和取反. 移位指令都是针对累加器 A 进行操作的单操作数指令。与. 或. 异或操作指令除操作码助记符不同外,后跟两个操作数的寻址方式组合完全相同,且有一部分寻址方式组合与加. 减法指令相同。这类指令的特点是不影响程序状态字寄存器 PSW 中的算术标志位,只有带进位循环移位指令才影响 CY,所有逻辑运算均按位进行。 2. 说明控制转移类指令的分类及各类指令的功能。 【答案】控制转移类指令分为以下几类及功能如下: · 无条件转移指令:当程序执行到无条件转移指令时,程序将无条件地转移到指令所提供的目标地址处执行。包括长转移指令 LJMP addr16(可使程序从当前地址转移到 64KB 程序存储器地址空间的任意地址). 绝对转移指令 AJMP addr11(可在 2KB 范围内无条件转移). 短转移指令 SJMP rel(转移范围是相对 PC 当前值向前转移 128 字节,向后转移 127 字节). 间接转移指令 JMP @A+DPTR(可实现多分支转移功能)。 · 条件转移指令:按照某一标志或特定条件转移的指令,当条件满足时,程序转移执行;当条件不满足时,程序仍按原来顺序执行。可分为判断累加器是否为零转移指令(以累加器 A 的内容是否为 0 作为转移的条件). 比较转移指令(先对两个规定的操作数进行比较,根据比较结果决定是否转移). 减 1 条件转移指令(把源操作数减 1,判断结果是否为 0,不为 0 则转移,为 0 则终止循环)。 · 子程序调用与返回指令:子程序调用指令使程序执行转向子程序入口,执行完子程序要返回主程序继续执行。包括长调用指令 LCALL addr16(可调用 64KB 范围内的子程序). 绝对调用指令 ACALL addr11(只能调用与 PC 在同一 2KB 范围内的子程序)。返回指令包括子程序返回指令 RET(必须作为子程序的最后一条指令)和中断服务程序的返回指令 RETI(必须作为中断服务程序的最后一条指令)。 3. 阐述逻辑异或指令的用途及使用方法。 【答案】逻辑异或指令的用途及使用方法如下: · 用途:常用来使字节中某些位进行取反操作,其他位保持不变,还可利用逻辑异或指令对某单元自身异或,以实现清 0 操作。 · 使用方法:欲使某位取反,则该位与 1 相异或;欲使某位保留,则该位与 0 相异或。例如,若 (A)=B5H = 10110101B,执行指令 “XRL A,#0F0H”,A 的高 4 位取反,低 4 位保留,(A)=01000101B = 45H;执行 “XRL A,30H”(假设 30H 单元内容为 45H),可使 A 清 0。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $ 逻辑运算类指令. 控制转移类指令 一、名词解释 1. 逻辑运算类指令 2. 控制转移类指令 二、单项选择题 1. 逻辑运算类指令中,不影响程序状态字寄存器 PSW 中算术标志位的是( ) A. 逻辑与. 或. 异或指令 B. 带进位循环移位指令 C. 所有逻辑运算类指令 D. 除带进位循环移位指令外的其他逻辑运算类指令 2. 在逻辑与指令 “ANL A,Rn” 中,操作结果保存在( ) A. 累加器 A B. Rn 寄存器 C. @Ri 所指单元 D. direct 所指单元 3. 逻辑或指令 “ORL direct,#data” 的字节数和机器周期数分别是( ) A. 2,1 B. 2,2 C. 3,1 D. 3,2 4. 逻辑异或指令常用来( ) A. 使字节中某些位进行取反操作,其他位保持不变 B. 使累加器 A 清 0 C. 对累加器 A 取反 D. 实现算术运算 5. 累加器 A 清 0 指令 “CLR A” 的功能是( ) A. 将累加器 A 的内容按位逻辑取反 B. 使累加器 A 清 0 C. 对累加器 A 进行移位操作 D. 对累加器 A 进行逻辑与操作 6. 无条件转移指令中,可在 64KB 范围内无条件转移的是( ) A. LJMP addr16 B. AJMP addr11 C. SJMP rel D. JMP @A+DPTR 7. 绝对转移指令 AJMP addr11 的转移范围是( ) A. 64KB B. 2KB C. 256 字节 D. 相对 PC 当前值向前转移 128 字节,向后转移 127 字节 8. 短转移指令 SJMP rel 的转移范围是( ) A. 64KB B. 2KB C. 256 字节 D. 相对 PC 当前值向前转移 128 字节,向后转移 127 字节 9. 条件转移指令中,判断累加器是否为零转移指令是以( )作为转移的条件。 A. 累加器 A 的内容是否为 0 B. 两个操作数是否相等 C. 源操作数减 1 后是否为 0 D. 进位标志 CY 的值 10. 子程序调用指令执行时,首先( ) A. 将断点地址压栈保存 B. 转向子程序入口地址 C. 执行子程序 D. 返回主程序 三、判断题 1. 逻辑运算类指令都会影响程序状态字寄存器 PSW 中的算术标志位。( ) 2. 逻辑与指令 “ANL direct,A” 的操作功能是将 direct 单元的内容与累加器 A 的内容进行逻辑与操作,结果保存在 direct 单元。( ) 3. 无条件转移指令 JMP @A+DPTR 可以实现多分支转移功能。( ) 4. 条件转移指令中的比较转移指令执行时,会保存两个操作数比较的差值。( ) 5. 子程序调用指令和转移指令没有本质区别。( ) 四、简答题 1. 简述逻辑运算类指令的分类及特点。 2. 说明控制转移类指令的分类及各类指令的功能。 3. 阐述逻辑异或指令的用途及使用方法。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $

资源预览图

3.5-3.6  逻辑运算类指令、控制转移类指令(练习)-《单片机技术与应用》(高教版第二版) 同步精品课堂-第1页
1
3.5-3.6  逻辑运算类指令、控制转移类指令(练习)-《单片机技术与应用》(高教版第二版) 同步精品课堂-第2页
2

由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。