




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章习题参考答案3.1 (略)3.2 (略)3.3 (略)3.4 指出下列指令源操作数的寻址方式和功能。1) MOVA,# 40H;立即寻址。 40H A2) MOVA, 40H;直接寻址。(40H) A3) MOV A, R1;寄存器间址。(R1) A4) MOV A, R3;寄存器寻址。 R3 A5) MOVC A,A+PC ;变址寻址。(A+PC) A6) SJMP LOOP;相对寻址。程序转到标号为LOOP的语句处执行。3.5 内部RAM的00H单元的寻址方式:1) 直接寻址,MOV A,00H2) 因为00H是工作寄存器区,所以还可以寄存器寻址。MOV A, R0特殊功能寄存器中的操作数的寻址方式:1) 直接寻址,MOV A, SP2) 部分SFR可以位寻址,MOV C, ACC.73.6 变址寻址和相对寻址中的地址偏移量异同:1) 变址寻址的偏移量是一个00H FFH范围内的无符号数;相对寻址偏移量是一个带符号的8位二进制补码,范围为-128 +127。2) 变址寻址的偏移量放在累加器A中,相对寻址的偏移量直接在指令中给出。3) 都是将基地址与地址偏移量相加,形成操作数地址。3.7 写出下列指令的机器码,指出指令中50H和66H各代表什么?1) 指 令 50H的含义机器码MOV A,# 50H源操作数7450HMOV A,50H源操作数的地址E550HMOV 50H,# 20H目的操作数的地址755020HMOV C, 50H 位地址A250HMOV 50H,20H目的操作数的地址852050H2) 指 令 66H的含义机器码MOV R0,# 66H源操作数7666HMOV R6,#66H源操作数7E66HMOV 66H,# 45H目的操作数的地址756645HMOV 66H,C位地址9266HMOV 66H,R1目的操作数的地址8966H3.8 写出下列指令的机器码,指出下列程序执行后的结果。1) MOV A,# 60H机器码: 7460HMOV R0,# 40H7840HMOV R0,AF6 HMOV 41H,R08841HXCH A,R0C8 H 结果:A = 40H,R0 = 60H,(40H)= 60H,(41H)= 40H2) MOV DPTR, # 2003H机器码:902003HMOV A, # 18H7418HMOV 20H,# 38H752038HMOV R0, # 20H7820HXCH A, R0C8H结果:A = 38H,R0 = 20H,(20H)= 18H3.9 写出能完成下列数据传送的指令。1) R1中的内容传送到R0MOV R0, 01H 或: MOV A, R1 MOV R0, A2) 内部RAM 20H单元中的内容送到30HMOV 30H, 20H3) 外部RAM 20H单元中的内容送到内部RAM 20H单元 MOV R0, # 20HMOV P2, # 00H; 外部RAM区16位地址的高8位清0MOVX A, R0 MOV 20H, A4) 外部RAM 2000H单元中的内容送到内部RAM 20H单元MOV DPTR, # 2000HMOVX A, DPTRMOV 20H, A5) 外部ROM 2000H单元中的内容送到内部RAM 20H单元MOV DPTR, # 2000HMOV A, # 00HMOVC A, A+DPTRMOV 20H,A6) 外部ROM 2000H单元中的内容送到外部RAM 3000H单元MOV DPTR, # 2000HMOV A, # 00HMOVC A, A+DPTRMOV DPTR, # 3000HMOVX DPTR, A70H栈底71HX72HY73HZ60H栈底61HZ62HY63HXSPSP3.10 试编出把外部RAM的2050H单元中的内容与2060H单元中的内容相交换的程序MOV DPTR, # 2050HMOVX A, DPTRMOV R0,AMOV DPTR, # 2060HMOVX A, DPTRXCH A, R0MOVX DPTR,AMOV DPTR,# 2050HMOV A, R0MOVX DPTR,A3.11 已知(20H)= X,(21H)= Y,(22H)= Z。请用图示说明下列程序执行以后堆栈中的内容是什么?MOV SP,# 70H PUSH 20HPUSH 21HPUSH 22H1) MOV SP,# 60H PUSH 22HPUSH 21HPUSH 20H70H栈底71HX72HY73HZSP数据出栈后SP的位置3.12 已知SP = 73H,(71H)= X,(72H)= Y,(73H)= Z。试问执行下列程序后20H,21H和22H单元中的内容是什么?并用图示说明堆栈指针SP的指向和堆栈中数据的变化。1) POP 20H;(20H)= ZPOP 21H;(21H)= YPOP 22H;(22H)= X2) POP 22H;(22H)= ZPOP 21H;(21H)= YPOP 20H;(20H)= X3.13 试问如下程序执行后累加器A和PSW中的内容是什么?1) MOV A,# 0FEHADD A,# 0FEH;A = FCH,PSW = C0H2) MOV A,# 92HADD A,# 0A4H;A = 36H,PSW = 84H3.14 指令结果如下:1) A = 20H,Cy = 1,(30H)= A6H2) A = D5H,Cy = 13) A = 49H,Cy = 0,R0 = 2FH4) A = 4AH,Cy = 0,(30H)= A4H3.15 已知内部RAM的M1、M2和M3单元中有无符号数X1、X2和X3。编程令其相加,并把和存入R0和R1(R0中为高8位)中。 参考程序如下:ORG 1000HMOV R0, # M1MOV R1, # M2MOV A, R0ADD A, R1MOV B, AMOV A, # 00HADDC A, # 00H MOV R1, AMOV A, BMOV R0, # M3 ADD A, R0MOV R0, AMOV A, # 00HADDC A, R1MOV R1, ASJMP $END3.16 参考程序:ORG 1000HMOV R0, # M1MOV A, R0;取被乘数低8位MOV R1, # M2MOV B, R1;取乘数MUL AB ;被乘数低8位与乘数相乘MOV R4, A;保存低8位MOV R3, BINC R0 MOV A, R0;取被乘数高8位MOV B, R1MUL ABADD A ,R3 MOV R3, AMOV A, BADDC A, # 00H;加上进位MOV R2, A;保存高8位SJMP $ END3.17 参考程序:- 6 -ORG 1000HMOV R0, # 20HMOV A, R0;取被除数INC R0MOV B, R0;取除数DIV AB;A / B = ABMOV R0, # 20HMOV P2, # 00HMOVX R0, A;保存商INC R0MOVX R0, B;保存余数SJMP $END 3.18 参考程序:ORG 1000HCLR CMOV A, # 5DHSUBB A, # B4HMOV R0, # 30HMOV R0, A;保存商的低8位MOV A, # 6FHSUBB A, # 13HINC R0MOV R0, A;保存商的高8位SJMP $END 3.19 参考答案:1) A = E1H, (30H)= ABH2) A = AAH3) A = 10H4) A = F0H3.20 参考程序:1) ANL 20H, 3FH2) ORL 20H, C0H3) XRL 20H, C0H4) XRL 20H, FFH或:MOV A, 20HCPL AMOV 20H, A3.21 参考程序:(用移位指令,两操作数为8位无符号数,操作结果255)1)ORG 1000HMOV DPTR, # 2000HMOVX A, DPTRMOV R0, ACLR CRLC AADD A, R0MOV R0, AINC DPTRMOVX A, DPTRCLR CRLC AADD A, R0MOV 20H, ASJMP $END2)ORG 1000HMOV DPTR, # 2000HMOVX A, DPTRMOV R0, ACLR CRLC ACLR CRLC AADD A, R0MOV R0, AINC DPTRMOVX A, DPTRCLR CRLC AXCH A, R0CLR CSUBB A, R0MOV 20H, ASJMP $END3.22 设A为无符号数,当A满足以下条件时转到LABEL的参考程序段:1) A 20 CJNE A, # 14H,COMP;若A20,则形成Cy并转到COMP SJMP LABEL;若A = 20,则转到LABELCOMP: JNC LABEL;若Cy = 0,表示没有进位,则A20,转到LABEL SJMP $2) A 20 CJNE A, # 14H,COMP;若A20,则形成Cy并转到COMP SJMP DONE;若A = 20,则停机COMP: JC LABEL;若Cy = 0,表示没有进位,则A 10 CJNE A, # 0AH,COMP;若A10,则形成Cy并转到COMP SJMP DONE;若A = 10,则停机COMP: JC DONE;若Cy = 1,表示A 10,转到LABELDONE: SJMP $70H栈底71H47H72H23H SP3.23 参考程序: ORG 1000H MOV DPTR, # DATA1;源操作区的起始地址 MOV R0, #30H;目的操作区的起始地址 MOV R2, #14H;数据块长度NEXT: MOVX A, DPTR MOV R0, A;从源操作取操作数 INC DPTR INC R0DJNZ R2, NEXT;判断数据块是否传送结束SJMP $ END3.24 执行完调用指令后,堆栈指针SP = 72H, 堆栈中的内容为 2345H+02H = 2347H,如图所示:调用的子程序在:3456H3.25 执行RET指令后,SP = 70H,PC = 2347H71H、72H中的内容不变,仍为47H和23H,但不属于堆栈区。3.26 若SUPER = 4060H,则程序2、3都是正确的。程序3更好一点。程序1是绝对调用指令,只能在2KB区域内寻址。若SUPER = 2060H,程序1最好,因为绝对调用指令是在页内寻址,比长调用指令更有效。3.27 参考程序: ORG 1000H MOV R0, #20H;目的操作区的起始地址 MOV R2, #14H;数据块长度 MOV DPTR, # 2000H;源操作区的起始地址LOOP: MOVX A,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《水循环的原理与意义:初中地理教学教案》
- 2022学年上海进才中学高一(下)期中历史试题及答案
- 诗歌鉴赏技巧与方法:高一语文诗歌教学教案
- 书包苹果250字(9篇)
- 八面山公司团建活动方案
- 公交公司清明节活动方案
- 公交爱心活动方案
- 公众互动展览活动方案
- 公众微信推广活动方案
- 公共机构节能活动方案
- 福建省福州市2023−2024学年高一下册期末考数学试卷附解析
- 2024年中国铁路成都局集团有限公司招聘考试《铁路基本常识》真题库及答案
- 生态草场使用权转让协议
- 粮食熏蒸作业管理制度
- 医院医保奖惩管理制度
- 2025年中级经济师之中级经济师金融专业题库练习试卷A卷附答案
- Python数据科学与机器学习结合试题及答案
- 2025-2030中国EHS管理软件行业市场现状供需分析及投资评估规划分析研究报告
- 海鲜水产电商商业计划书
- 高考数学基本技能试题及答案
- 建筑工程项目的整体策划与实施试题及答案
评论
0/150
提交评论