第3章答案指令系统1

上传人:夏** 文档编号:509620692 上传时间:2022-12-12 格式:DOCX 页数:9 大小:50.36KB
返回 下载 相关 举报
第3章答案指令系统1_第1页
第1页 / 共9页
第3章答案指令系统1_第2页
第2页 / 共9页
第3章答案指令系统1_第3页
第3页 / 共9页
第3章答案指令系统1_第4页
第4页 / 共9页
第3章答案指令系统1_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《第3章答案指令系统1》由会员分享,可在线阅读,更多相关《第3章答案指令系统1(9页珍藏版)》请在金锄头文库上搜索。

1、第3章 指令系统1,简述下列基本概念:指令,指令系统,机器语言,汇编语言,高级语言。1、指令:CPU根据人的意图来执行某种操作的命令 指令系统:一台计算机所能执行的全部指令集合 机器语言:用二进制编码表示,计算机能直接识别和执行的语言 汇编语言:用助记符、符号和数字来表示指令的程序语言 高级语言:独立于机器的,在编程时不需要对机器结构及其指令系统有深入 了解的通用性语言2,什么是计算机的指令和指令系统?2、见第 1 题。3,简述89C51汇编指令格式。3、操作码 目的操作数 ,源操作数4,简述89C51寻址方式和所能涉及的寻址空间。4、寻址方式寻址空间立即数寻址程序存储器ROM直接寻址片内RA

2、M低128B、特殊功能寄存器寄存器寻址工作寄存器 R0-R7、A、B、C、DPTR寄存器间接寻址片内RAM 低128B、片外RAM变址寻址程序存储器(A+PC,A+DPTR)相对寻址程序存储器256B范围(PC+偏移量)位寻址片内RAM的20H-2FH字节地址、部分SFR5,要访问特殊功能寄存器和片外数据寄存器,应采用哪些寻址方式?5、SFR:直接寻址,位寻址,寄存器寻址;片外RAM:寄存器间接寻址6,在 89C51 片内 RAM 中,已知 (30H)=38H, (38H)=40H, (40H)=48H, (48H)=90H, 请分析下面各是什么指令,说明源操作数的寻址方式以及按顺序执 行每条

3、指令后的结果。6、 MOVA, 40H ;直接寻址(40H)AMOVR0,A;寄存器寻址( A)ROMOVP1,#0F0H;立即数寻址OFOP1MOVR0,30H ;直接寻址 ( 30H) f( R0)MOVDPTR,#3848H;立即数寻址 3848HfDPTRMOV40H,38H直接寻址 ( 38H) f40HMOVR0,30H;直接寻址 ( 30H) fR0MOVP0,R0;寄存器寻址( R0)fP0MOV18H, #30H;立即数寻址 30Hf18HMOVA, R0;寄存器间接寻址 (R0) fAMOVP2, P1;直接寻址 (P1)fP2最后结果:(RO) =38H, (A) =40

4、H, (P0) =38H, (Pl) = (P2) =0F0H, (DPTR) =3848H,(18H) =30H,(30H) =38H,(38H) =40H,(40H) =40H,(48H) =38H 注意:f左边是内容,右边是单兀7,对89C51片内RAM的高128字节的地址空间寻址要注意什么7、用直接寻址,位寻址,寄存器寻址 8,指出下列指令的本质区别。8, MOV A,DATA ;直接寻址2字节1周期MOV A,#DATA ;立即数寻址2字节1周期MOV DATA1,DATA2 ;直接寻址 3字节2周期MOV 74H,#78H ;立即数寻址3字节2周期如果想查某一指令的机器码,字节数或

5、周期数可查阅书本后面的附录A9,设R0内容为32H, A的内容为48H,片内RAM的32H单元内容为80H, 40H单元 内容为08H,请指出在执行下列程序段后上述各单元内容的变化。9、MOVA,R0;(R0)=80HfAMOVR0,40H;(40H)=08Hf(R0)MOV40H,A;(A)=80f40HMOVR0,#35H;35HfR0最后结果:( R0) =35H( A) =80H,( 32H) =08H,( 40H) =80H10,如何访问SFR,可使用哪些寻址方式?10、用直接寻址,位寻址,寄存器寻址11, 如何访问片外RAM,可使用哪些寻址方式?11、只能采用寄存器间接寻址(用 M

6、OVX 指令)12, 如何访问片内RAM,可使用哪些寻址方式?12、低128字节:直接寻址,位寻址,寄存器间接寻址,寄存器寻址(R0R7) 高 128 字节:直接寻址,位寻址,寄存器寻址13,如何访问片内外程序存储器,可使用哪些寻址方式?13、采用变址寻址(用MOVC指令)14,说明十进制调整的原因和方法。14、压缩BCD码在进行加法运算时应逢十进一,而计算机只将其当作十六进制 数处理,此时得到的结果不正确。用 DA A 指令调整(加 06H,60H,66H)15, 说明89C51的布尔处理机功能。15、用来进行位操作16,已知(A)=83H, (R0)=17H, (17H)=34H,请写出执

7、行完下列程序段后A的内容。16 、 ANLA,#17H;83HA17H=03HAORL17H ,A;34HV03H=37H17HXRLA,R0;03H 37H=34HCPLA; 34H 求反等于 CBH所以(A)=CBH17,使用位操作指令实现下列逻辑功能,要求不得改变未涉及位的内容。(1)使ACC.0置1;(2)清除累加器高4位;(3)清除ACC.3, ACC.4,ACC.5, ACC.6 。17、(1)SETB ACC.0 或 SETB E0H ;E0H 是累加器的地址(2) CLR ACC.7CLR ACC.6CLR ACC.5CLR ACC.4(3) CLR ACC.6CLR ACC.

8、5CLR ACC.4CLR ACC.318,编程实现把内部RAM R0R7的内容传递到20H27H单元。 18 、 MOV 27H , R7MOV 26H,R6MOV 25H,R5MOV 24H,R4MOV 23H,R3MOV 22H,R2MOV 21H,R1MOV 20H,R019,试编写程序,将内部RAM 20H、21H和22H3个连续单元的内容依次存入 2FH、2EH 和 2DH 中。19 、 MOV 2FH, 20HMOV 2EH,21HMOV 2DH,22H 20,编写程序,进行两个16位数减法,6F5DH -13B4H,结果存入内部RAM的30H和31H单元,30H存储低8位。20

9、、CLR CMOVA, #5DH;被减数的低8位一AMOVR2, #0B4H;减数低8位一R2SUBBA, R2;被减数减去减数,差fAMOV30H, A;低8位结果一30HMOVA, #6FH;被减数的高8位一AMOVR2, #13H;减数高8位fR2SUBBA, R2;被减数减去减数,差fAMOV31H, A;高8位结果一30H注意:如果在你的程序中用到了进位位,在程序开始的时候要记得清 0 进位位21,编写程序,若累加器A的内容分别满足下列条件,则程序转至LABEL存 储单元。设A中存储的是无符号数。(1) AM10; (2)A10;AW10。21、(1) A210CJNE A,#0AH

10、,L1LJMP LABELL1:JNC LABEL 或者:CLR C;(A)与10比较,不等转L1;相等转 LABEL;(A)大于 10,转 LABEL;(A)与10比较,不等转L1;相等结束;(A)大于 10,转 LABEL;(A)小于10,结束;(A)与10比较,不等转L1;相等转 LABEL(A)小于10,转L2SUBB A,#0AHJNC LABEL(2) A10CJNE A,#0AH,L1RETL1:JNC LABELRET或者:CLR CSUBB A,#0AHJNC L1RETL1:JNZ LABELRET(3) AW10CJNE A,#0AH,L1L2:LJMP LABELL1:

11、JC L2;RET或者:CLR CSUBB A, #0AHJC LABELJZ LABELRET22, 已知(SP)=25H, (PC)=2345H, (24H)=12H, (25H)=34H, (26H)=56H。问此时 执行“RET”指令以后,(SP)=? (PC)=?22、(SP)=23H,(PC)=3412H参看书上80 页23, 若(SP)=25H, (PC)=2345H,标号LABEL所在地址为3456H。问执行长调用 指令“LCALL LABEL”后,堆栈指针和堆栈内容发生什么变化? PC值等于什 么?23、(SP)=27H,(26H)=48H,(27H)=23H,(PC)=34

12、56H 参看书上79 页24, 上题中LCALL指令能否直接换成ACALL指令,为什么?如果使用ACALL 指令,则可调用的地址范围是什么?24、不能。ACALL是短转指令,可调用的地址范围是2KB。在看这个题的时候同时看一下AJMP指令。同时考虑调用指令ACALL和LCALL 指令和RET指令的关系。25、MOVR2,#31H;数据块长度fR2MOVR0,#20H;数据块首地址一R0LOOP:MOVA,R0;待查找的数据fACLRC;清进位位SUBB A,#0AAH;待查找的数据是0AAH吗JZL1;是,转 L1INCR0;不是,地址增 1,指向下一个待查数据DJNZR2,LOOP;数据块长

13、度减 1,不等于 0,继续查找MOV51H,#00H;等于0,未找到,00H-51HRETL1:MOV51H,#01H;找到,01HT1HRET26,编写指令,査找在内部RAM的20H50H单元中出现00H的次数,找结果存入51H单元。26、MOVR2,#31H;数据块长度fR2MOVR0,#20H;数据块首地址fR0LOOP:MOVA,R0;待查找的数据fAJNZL1;不为0,转L1INC51H;为 0,00H 个数增 1L1:INCR0;地址增 1,指向下一个待查数据并将查25,编写指令,査找在内部RAM的20H50H单元中是否有0AAH这一数据。 若有,则将51H单元置为01H;若未找到

14、,则将51H单元清0。DJNZ R2,LOOP ;数据块长度减 1,不等于 0,继续查找 RET27,外部数据RAM中有一个数据块,存有若干字符、数字,首地址为SOURCE。 要求将该数据块传送到内部RAM以DIST开始的区域,直到遇到字符“$”时 结束(“$”也要传送,它的ASCII码是24H)。27、MOV DPTR,#SOURCEMOV R0,#DISTLOOP:MOVX A,DPTRMOV R0,AINC DPTRINC R0CJNE A,#24H,LOOP 下一个字符RET;源首地址f DPTR;目的首地址f R0;传送一个字符;指向下一个字符;传送的是“ $”字符吗?不是,传送28,已知R3和R4中存有一个16位的二进制数,高位在R3中,低位在R4中。 请编程将其求补,并存回原处。28、MOVA,R3;取该数高8位一AANLA,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号