欢迎来到天天文库
浏览记录
ID:50856830
大小:63.00 KB
页数:5页
时间:2020-03-08
《单片机原理与C51基础 教学课件 作者 赵丽清 习题及答案 第4章.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、思考题:【4-1】说明伪指令的作用。“伪”的含义是什么?常用伪指令有哪些,其功能如何?【4-2】解释下列术语:(1)手工汇编(2)机器汇编【4-3】下列程序段经汇编后,从1000H开始的各有关存储单元的内容是什么?ORG1000HTAB1EQU1234HTAB2EQU3000HDB0,1,4,5DWTAB1,TAB2,70H【4-4】设计子程序时应注意哪些问题?【4-5】试编写一个程序,将内部RAM中45H单元的高4位清0,低4位置1。【4-6】已知程序执行前有A=02H,SP=42H,(41H)=FFH,(42H)=FFH。下述程序执行后,A=();SP=(
2、);(41H)=();(42H)=();PC=()。POPDPHPOPDPLMOVDPTR,#3000HRLAMOVB,AMOVCA,@A+DPTRPUSHACCMOVA,BINCAMOVCA,@A+DPTRPUSHACCRETORG3000HDB10H,80H,30H,80H,50H,80H【4-7】试编写程序,查找在内部RAM的30H~50H单元中是否有0AAH这一数据。若有,则将51H单元置为“01H”;若未找到,则将51H单元置为“00H”。【4-8】试编写程序,查找在内部RAM的20H~40H单元中出现“00H”这一数据的次数,并将查找到的结果存入4
3、1H单元。【4-9】在内部RAM的21H单元开始存有一组单字节无符号数,数据长度为20H,编写程序,要求找出最大数存入MAX单元。【4-10】若SP=60H,标号LABEL所在的地址为3456H。LCALL指令的地址为2000H,执行如下指令:2000HLCALLLABEL后,堆栈指针SP和堆栈内容发生了什么变化?PC的值等于什么?如果将指令LCALL直接换成ACALL是否可以?如果换成ACALL指令,可调用的地址范围是什么?【4-11】若80C51的晶振频率为6MHZ,试计算延时子程序的延时时间?DELAY:MOVR7,#0F6;1个机器周期LP:MOVR6
4、,#0FA;1个机器周期DJNZR6,$;2个机器周期DJNZR7,LP;2个机器周期RET;2个机器周期【4-12】编写子程序,将R1中的2个十六进制数转换为ASCII后存入R3和R4。第四章思考题答案:【4-1】解答:程序设计者使用汇编语言编写的源程序必须经过编译才能在单片机中运行,因此在汇编语言源程序中一般会采用伪指令来向编译器发出指示(命令)信息,告诉它如何完成汇编工作。“伪”表示其不能命令CPU执行某种操作,也没有对应的机器代码。常用伪指令及其功能(略)。【4-2】解答:手工汇编是把程序用助记符指令写出后,人为查找指令代码表,逐个把助记符指令翻译成机
5、器码。由于手工汇编是按绝对地址进行定位的,所以对于偏移量的计算和程序的修改有诸多不便,现在已经不被采用。机器汇编是在计算机上使用编译软件对源程序进行汇编。整个工作由PC机来完成,且最后生成一个*.HEX或*.BIN机器码形式的目标程序文件,整个传输过程既快捷又方便。【4-3】解答:首先,我们应该清楚EQU只是声明TAB1代表1234H值,TAB2代表3000H,而TAB1和TAB2仅在后边在做相应的替换时候,才会分配内存空间。因此,在本题中只有DB,DW分配了相应的内存空间。DB,DW分别为定义字节和字,所以从1000H开始的空间分配如下所示:存储单元地址存储
6、单元存放的内容1000H00H1001H01H1002H04H1003H05H1004H34H1005H12H1006H00H1007H30H1008H70H1009H00H共10个字节的存储单元。【4-4】解答:(1)要给每个子程序赋一个名字,实际上是子程序入口地址的符号。(2)明确入口条件、出口条件。所谓入口条件,表明子程序需要哪些参数,放在哪个寄存器和哪个内存单元;出口条件则表明子程序处理的结果是如何存放的。(3)注意保护现场和恢复现场。在执行子程序时,可能要使用累加器或某些工作寄存器。而在调用子程序之前,这些寄存器中可能存放有主程序的中间结果,这些中间
7、结果在主程序中仍有用,这就要求在子程序使用累加器和这些工作寄存器之前,要将其中的内容保护起来,即保护现场。当子程序执行完毕,即将返回主程序之前,再将这些内容取出,送到累加器或原来的工作寄存器中,这一过程称为恢复现场。【4-5】解答:ORG0000HAJMPSTARTORG0100HSTART:MOV45H,#0FHEND或ORG0000HAJMPSTARTORG0100HSTART:ANL 45H,#0FH ORL 45H,#0FHEND【4-6】解答:上述程序执行后,A=(80H);SP=(40H);(41H)=(50H);(42H)=(80H);PC=
8、(8050H)。【4-7】解答:程序如
此文档下载收益归作者所有