第三章指令系统总结及课后题PPT课件_第1页
第三章指令系统总结及课后题PPT课件_第2页
第三章指令系统总结及课后题PPT课件_第3页
第三章指令系统总结及课后题PPT课件_第4页
第三章指令系统总结及课后题PPT课件_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.,1,第三章指令系统小结及课后题,.,2,1.简述下列基本概念: 指令、指令系统、机器语言、汇编语言、高级语言。,指令:CPU根据人的意图来执行某种操作的命令 指令系统:一台计算机所能执行的全部指令集合 机器语言:用二进制编码表示,计算机能直接识别和执行的语言 汇编语言:用助记符、符号和数字来表示指令的程序语言 高级语言:独立于机器的,在编程时不需要对机器结构及其指令系统有深入了解的通用性语言,.,3,4、简述8951的寻址方式和所能涉及的寻址空间。,3、简述8951的汇编指令格式。,答: 操作码 目的操作数 ,源操作数,.,4,寻址方式中常用的符号注释,Rn(n=07):当前选中的工作寄存

2、器组R0R7。 Ri(I=0,1):作为地址指针的两个工作寄存器R0,R1。 #data:8位立即数。 #data16:16位立即数。 direct:8位片内RAM单元(包括SFR)的直接地址。 addr11:11位目的地址,用于ACALL和AJMP指令中。 addr16:16位目的地址。用于LCALL和LJMP指令中。 rel:补码表示的8位地址偏移量。范围:-128+127D。 bit:片内RAM或SFR的直接寻址位地址。 :间接寄存器的符号。 /:位操作指令中对该位先取反再参与操作,不影响原值。 ():中的内容。 ():指出的地址单元中的内容。 :指令操作流程方向。,.,5,5、访问特殊

3、功能寄存器和外数据存储器,应采用那些寻址方式? 答:,SFR:直接寻址,位寻址,寄存器寻址;片外RAM:寄存器 间接寻址,6、8951中已知(30H)=38H,请分析以下各是什么指令,说明源操作数的寻址方式以及执行结果。,MOV A,40H ; 直接寻址(40H)A MOV R0,A; 寄存器寻址(A)R0 MOV P1,#0F0H ; 立即数寻址0F0P1 MOV R0,30H; 直接寻址(30H) (R0) MOV DPTR,#3848H;立即数寻址 3848HDPTR MOV 40H,38H; 直接寻址 (38H) 40H MOV R0,30H; 直接寻址 (30H) R0 MOV P0

4、,R0; 寄存器寻址( R0 )P0 MOV 18H,#30H ; 立即数寻址30H18H MOV A,R0 ; 寄存器间接寻址 (R0) A MOV P2,P1 ; 直接寻址 (P1)P2 最后结果:(R0)=38H,(A)=40H,(P0)=38H,(P1)=(P2)=0F0H, (DPTR)=3848H,(18H)=30H,(30H)=38H,(38H)=40H, (40H)=40H,(48H)=38H,.,6,7、8951片内高128字节的地址寻址要注意什么/? 答: 用直接寻址,位寻址,寄存器寻址,8、指出些列指令的本质?,MOV A,DATA; MOV A,#DATA ; MOV

5、DATA1,DATA2 ; MOV 74H,#78H ;,直接寻址2字节1周期 立即数寻址2字节1周期 直接寻址3字节2周期 立即数寻址3字节2周期,9、设R0的内容分为32H,A的内容为48H,。请指出在执行下列程序段后上述各单元内容的变化?,MOVA,R0 ;(R0)=80HA MOVR0,40H;(40H)=08H(R0) MOV40H,A ; (A)=8040H MOVR0,#35H ;35HR0 最后结果:(R0)=35H (A)=80H,(32H)=08H,(40H)=80H,.,7,高128字节RAM区(SFR区,特殊功能寄存器区),字节地址,FF F0 E0 D0 B8 B0

6、A8 A0 99 98 90 8D 8C 8B 8A 89 88 87 83 82 81 80,B ACC PSW IP P3 IE P2 SBUF SCON P1 TH1 TH0 TL1 TL0 TMD TCON PCON DPH DPL SP P0,.,8,10、如何访问SFR,可采用那些寻址方式? 答:用直接寻址,位寻址,寄存器寻址 11、如何访问片外RAM,可使用那些寻址方式? 答:只能采用寄存器间接寻址(用MOVX指令) 12、如何访问片内RAM,可使用那些寻址方式? 答:低128字节:直接寻址,位寻址,寄存器间接寻址,寄存器寻址(R0R7) 高128字节:直接寻址,位寻址,寄存器寻

7、址 13、如何访问片内外程序存储器,可使用那些寻址方式? 答:采用变址寻址(用MOVC指令) 14、说明十进制调整的原因和方法? 答:压缩BCD码在进行加法运算时应逢十进一,而计算机只将其当作十六进制数处理,此时得到的结果不正确。用DA A指令调整(加06H,60H,66H) 15、说明8951布尔机处理机功能? 答:用来进行位操作,.,9,16. 已知(A)=83H,(R0)=17H,(17H)=34H。请写出执行完下列程序段后A的内容。 ANLA, #17H ORL17H, A XRLA, R0 CPLA,所以(A)=CBH,.,10,17. 使用位操作指令实现下列逻辑操作。要求不得改变未

8、涉及位的内容。 (1) 使ACC.0置1; (2) 清除累加器高4位; (3) 清除ACC.3,ACC.4,ACC.5,ACC.6。,(1)SETB ACC.0或SETB E0H ;E0H是累加器的地址 (2)CLR ACC.7 CLR ACC.6 CLR ACC.5 CLR ACC.4 (3)CLR ACC.6 CLR ACC.5 CLR ACC.4 CLR ACC.3,.,11,MOV 27H,R7 MOV 26H,R6 MOV 25H,R5 MOV 24H,R4 MOV 23H,R3 MOV 22H,R2 MOV 21H,R1 MOV 20H,R0,18. 编程实现把内部RAM R0R7

9、的内容传递到20H27H单元。,19. 试编写程序,将内部RAM的20H、21H和22H 3个连续单元的内容依次存入2FH、2EH和2DH中。,MOV 2FH,20 MOV 2EH,21 MOV 2DH,22,.,12,20、编程,进行两个16位数的减法:6F5DH-13B4H,结果存入内部RAM的30和31H单元,30H存低八位。,CLR C MOV A,#5DH ;被减数的低8位A MOV R2,#B4H ;减数低8位R2 SUBB A,R2 ;被减数减去减数,差A MOV 30H,A ;低8位结果30H MOV A,#6FH ;被减数的高8位A MOV R2,#13H ;减数高8位R2

10、SUBB A,R2 ;被减数减去减数,差A MOV 31H,A ;高8位结果30H,.,13,带借位减法指令(四条),.,14,(1)A10 CJNE A,#0AH,L1 ;(A)与10比较,不等转L1 LJMP LABEL ; 相等转LABEL L1:JNC LABEL ; (A)大于10,转LABEL,21、编程,若累加器A满足下列条件,则程序转至LABEL存储单元,设A中为无符号数。,(2)A10 CJNE A,#0AH,L1 ;(A)与10比较,不等转L1 RET ; 相等结束 L1:JC LABEL ;(A)大于10,转LABEL RET ;(A)小于10,结束,(3)A10 CJN

11、E A,#0AH,L1 ;(A)与10比较,不等转L1 L2:LJMP LABEL ; 相等转LABEL L1:JNC L2 ;(A)小于10,转L2 RET,(1) 10;(2) A10;(3) A10。,.,15,22.已知(SP)=25H,(PC)=2345H,(24H)=12H,(25H)=34H,(26H)=56H。问此时执行“RET”指令以后,(SP)=? (PC)=?,(SP)=23H,(PC)=3412H,23.若(SP)=25H,(PC)=2345H,标号LABEL所在的地址为3456H。问执行长调用指令“LCALL LABEL”后,堆栈指针和堆栈的内容发生什么变化?PC的值

12、等于什么?,(SP)=27H,(26H)=48H,(27H)=23H,(PC)=3456H,24. 上题中的LCALL指令能否直接换成ACALL指令,为什么?如果使用ACALL指令,则可调用的地址范围是什么?,.,16,MOV R2,#31H ;数据块长度R2 MOV R0,#20H ;数据块首地址R0 LOOP:MOV A,R0 ;待查找的数据A CLR C ;清进位位 SUBB A,#0AAH ;待查找的数据是0AAH吗 JZ L1 ;是,转L1 INC R0 ;不是,地址增1,指向下一个待查数据 DJNZ R2,LOOP ;数据块长度减1,不等于0,继续查找 MOV 51H,#00H ;

13、等于0,未找到,00H51H RET L1: MOV 51H,#01H ;找到,01H51H RET,25. 试编写程序,查找在内部RAM的20H50H单元中是否有0AAH这一数据。若有,则将51H单元置为01H;若未找到,则将51H单元清0。,.,17,26. 试编写程序,查找在内部RAM的20H50H单元中出现00H的次数,并将查找的结果存入51H单元。,MOV R2,#31H ;数据块长度R2 MOV R0,#20H ;数据块首地址R0 LOOP:MOV A,R0 ;待查找的数据A JNZ L1 ;不为0,转L1 INC 51H ;为0,00H个数增1 L1: INC R0 ;地址增1,

14、指向下一个待查数据 DJNZ R2,LOOP ;数据块长度减1,不等于0,继续查找 RET,.,18,27. 外部数据RAM中有一个数据块,存有若干字符、数字,首地址为SOURCE。要求将该数据块传送到内部RAM以DIST开始的区域,直到遇到字符“”时结束(“”也要传送,它的ASCII码为24H)。,MOV DPTR,#SOURCE ;源首地址DPTR MOV R0,#DIST ;目的首地址R0 LOOP:MOVX A,DPTR ;传送一个字符 MOV R0,A INC DPTR ;指向下一个字符 INC R0 CJNE A,#24H,LOOP ;传送的是“$”字符吗?不是,传送下一个字符 R

15、ET,.,19,已知R3和R4中存有一个十六位的二进制数,高位在3中,低位在4中,编程求其补,并存回原处。 MOV A,R3 ;取该数高8位A ANL A,#80H ;取出该数符号判断 JZ L1 ;是正数,转L1 MOV A,R4 ;是负数,将该数低8位A CPL A ;低8位取反 ADD A,#01H ;加1 MOV R4,A ;低8位取反加1后R4 MOV A,R3 ;将该数高8位A CPL A ;高8位取反 ADDC A,#00H ;加上低8位加1时可能产生的进位 MOV R3,A ;高8位取反加1后R L1: RET,.,20,29、 已知30H和31H中存有一个十六位的二进制数,高

16、位在前,低位在后,编程将它们乘2,并存回原处。 CLR C ;清进位位C MOV A,31H ;取该数低8位A RLC A ;带进位位左移1位 MOV 31H,A ;结果存回31H MOV A,30H ;取该数高8位A RLC A ;带进位位左移1位 MOV 30H,A ;结果存回30H,.,21,30、 内存中有两个4字节以压缩的BCD码形式存放的十进制数,一个放在30H-33H的单元中,一个放在40H-43H的单元中,编程求他们的和,结果放在30H-33H的单元中。 MOV R2,#04H ;字节长度R2 MOV R0,#30H ;一个加数首地址R0 MOV R1,#40H ;另一个加数首

17、地址R1 CLR C ;清进位位 LOOP:MOV A,R0 ;取一个加数 ADDC A,R1 ;两个加数带进位位相加 DA A ;十进制调整 MOV R0,A ;存放结果 INC R0 ;指向下一个字节 INC R1 ; DJNZ R2,LOOP ;数据块长度减1,不等于0,继续查找 RET,.,22,31、编程,把片外RAM从2000H开始存放的8个数传送到片内30H开始的单元中。 MOV R2,#08H ;数据块长度R2 MOV R0,#30H ;数据块目的地址R0 MOV DPTR,#2000H ;数据块源地址DPTR LOOP:MOVX A, DPTR ;传送一个数据 MOV R0,

18、A INC DPTR ;指向下一个数据 INC R0 ; DJNZ R2,LOOP ;数据块长度减1,没传送完,继续传送 RET,.,23,32. 要将片内RAM中0FH单元的内容传送到寄存器B,对0FH单元的寻址可以有3种方法: (1) R寻址; (2) R间址; (3) direct寻址。 请分别编出相应程序,比较其字节数、机器周期数和优缺点。,.,24,33. 阅读下列程序,要求: (1) 说明该程序的功能; (2) 填写所缺的机器码; (3) 试修改程序,使片内RAM的内容成为如图3-20所示的结果。 7A MOVR2,#0AH MOVR0,#50H E4CLRA F6LOOP:MOVR0,A 08INCR0 DA DJNZR2,LOOP DONE:,图3-20 片内RAM,.,25,34. 设(R0)=7EH,(DPTR)=10FEH,片内RAM中7E单元的内容为0FFH,7F单元

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论