单片机习题解第三章 P841. 简述下列基本概念:指令、指令系统、机器语言、汇编语言、高级语言。答:指令是计算机能识别,执行某种操作的命令;指令系统是全部指令的集合;机器语言是用二进制代码编写的指令,计算机可以直接识别和执行;汇编语言是用指令助记符编写的程序,直接操作硬件,可通过汇编程序翻译成机器代码;高级语言是按人的思维习惯编写的程序,不过多涉及硬件,也需要编译程序进行翻译后才能生成可执行文件。2. 什么是计算机的指令和指令系统? 略3. 简述89C51汇编语言格式答:标准的89C51汇编语言可由5个段落:标号:指令助记符 第一操作数,第二操作数;注释LOOP: MOVA, #20H; 把20H立即数传送到A累加器 上述5段中,有些是可以省略的,但是指令助记符必须存在。4. 简述89C51的寻址方式和所能涉及的寻址空间答:寻址方式应指指令中寻找源操作数的方式和途径,89C51有7种方式:寄存器寻址:片内RAM,如 MOV A,R0\直接寻址:片内RAM,如 MOV A,$20H立即寻址:ROM空间,如 MOV A,#40H寄存器间接寻址:片内RAM,如 MOV A,@R1 片外RAM或I/O ,如 MOVX A,@DPTR基地址+变址寻址:ROM空间,如 MOVC A,@A+DPTR相对寻址: 程序存储器 ,如 DJNZ R7,rel位寻址: 程序存储器, 如 JBC $01H, rel5. 要访问特殊功能寄存器和片外数据存储器,应采用哪些寻址方式?答:特殊功能寄存器只能用直接寻址方式,访问片外数据存储器只能用寄存器间接寻址方式。6. 在89C51片内RAM中,已知 (30H)=38H,(38H)=40H,(40H)=48H,(48H)=90H。请分析下面各是什么指令,说明源操作数的寻址方式以及按顺序执行每条指令后的结果。注意:()应理解为容器MOVA,40H A=48H 40H是容器,其中数值是48HMOVR0,A R0=48HMOVP1,#0F0H P1MOV@R0,30H(48H)=38H R0间址地址为48H,30H容器内数值为38HMOVDPTR,#3848H DPH=38H,DPL=48HMOV40H,38H(40H)=40H此前(40H)=48H,而 (38H)=40HMOVR0,30H R0=38HMOVP0,R0 P0=38HMOV18H,#30H(18H)=30HMOVA,@R0 A=(38H)=40HMOVP2,P1 P2=P1=0F0H解答此类问题应注意:看清容器和数据的区别,并随时跟踪记录各容器的数值变化。7. 对89C51片内RAM的高128字节的地址空间寻址要注意什么?答:这部分空间地址只能用直接寻址方式,尽管有时直接写出了SFR的名字,但翻译成机器码时仍然可见是该专用寄存器的直接地址。8. 指出下列指令的本质区别MOVA,data直接地址内容送累加器MOVA,#data立即数送累加器MOVdata1,data2直接地址2内容送直接地址1单元MOV74H,#78H立即数送直接地址单元9. 设R0的内容为32H,A的内容为48H,片内RAM的32H单元内容为80H,40H单元的内容为08H。请指出在执行下列程序段后上述各单元内容的变化。MOVA,@R0 A=80HMOV@R0,40H(32)H=08HMOV40H,A(40H)=80HMOVR0,#35H R0=35H10. 如何访问SFR,可使用哪些寻址方式?答:只能使用直接寻址方式11. 如何访问片外RAM单元,可使用哪些寻址方式?答:只能使用寄存器间接寻址方式12. 如何访问片内RAM单元,可使用哪些寻址方式?答:寄存器寻址,寄存器间址,直接寻址,相对寻址13. 如何访问片内外程序存储器,可使用哪些寻址方式?答:立即寻址,基地址加变址寻址14. 说明十进制调整的原因和方法答:进行压缩型BCD代码运算时,其运算结果可能超出BCD码的表达范围。如果半字节数据的数值超过9就不再是BCD码,因此需要调整。调整过程是:如果半字节内容大于9,则必须加6,再考虑半进位或进位标志,决定是否做进位运算。这样做的结果是保证半字节数据总是0-9的BCD代码。15. 说明89C51的布尔处理机功能。答:硬件上,有位累加器C,位地址空间和SFR中的可寻址位; 软件上,有完整的位操作指令集 可实现位变量的传送、赋值和测试转移等功能16. 已知 (A)=83H,(R0)
内存中有两个4字节以压缩的bcd_单片机习题解.pptx
最新推荐文章于 2024-05-15 16:07:26 发布