河北工业大学计算机硬件基础课答案讲解

上传人:最**** 文档编号:114693241 上传时间:2019-11-12 格式:DOC 页数:51 大小:1.58MB
返回 下载 相关 举报
河北工业大学计算机硬件基础课答案讲解_第1页
第1页 / 共51页
河北工业大学计算机硬件基础课答案讲解_第2页
第2页 / 共51页
河北工业大学计算机硬件基础课答案讲解_第3页
第3页 / 共51页
河北工业大学计算机硬件基础课答案讲解_第4页
第4页 / 共51页
河北工业大学计算机硬件基础课答案讲解_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《河北工业大学计算机硬件基础课答案讲解》由会员分享,可在线阅读,更多相关《河北工业大学计算机硬件基础课答案讲解(51页珍藏版)》请在金锄头文库上搜索。

1、实验一 熟悉键盘操作及数传指令编程设计一、 实验目的1 熟悉软件模拟调试的环境及键盘操作。2 掌握汇编语言程序设计的方法,加深对指令的理解。3 学会软件模拟调试和察看修改观察项的方法。二、 实验内容印证数据传送指令的功能、寻址方式以及PC指针、SP指针、DPTR指针、Ri指针分别对代码段、堆栈段、外扩数据存储器段、位寻址区等不同存储器的访问方式。 三、实验步骤1 进入调试软件环境,输入源程序;2 汇编源程序;3 用单步方式运行程序;4 检查并记录各寄存器和存储单元内容的变化。四、程序清单1. 内部RAM数据传送需要查看的数据有30H,31H,A,R0等。ORG 0000H MOV R0,#30

2、H (R0)30HMOV 30H,#45H (30H)45H MOV 31H,#46H (31H)46H MOV R2,30H (R2)45H MOV 02H,31H (02H)46H MOV A,#87H (A)87H MOV 0E0H,30H (A)45H MOV 30H,A (30H)45H MOV 31H,R0 (31H)45H SJMP $ END 最终结果 : (30H)45H (31H)45H (A)45H (R0)30H2. 外部数据传送需要查看的数据有外部数据存储器单元2000H,外部程序存储器单元2001H。ORG 0000H MOV A,#89H (A)89H MOV D

3、PTR,#2000H 设DPTR指针地址 MOVX DPTR,A (2000H)89H INC DPTR (DPTR)2001HCLR A (A)0 MOVC A,A+DPTR (A)78H SJMP $ ORG 2000H DB 44H DB 78H DB 67H END最终结果 : (2000H)89H (2001H)78H 3. 堆栈操作需要查看的数据有50H、51H、A及SP指针和堆栈区中数据随PUSH和POP指令执行后的变化情况和数据的存放次序等。1)可用于保护现场和恢复现场的程序ORG 0000H MOV SP,#5FH 设栈顶指针地址MOV 50H,#3BH (50H)3BHMO

4、V 51H,#2FH (51H)2FHMOV A,#12H (A)12H PUSH 50H 入栈 (60H)3BH PUSH 51H (61H)2FH PUSH ACC (62H)12HPOP 0E0H 出栈 (0E0H)12H POP 51H (51H)2FH POP 50H (50H)3BH SJMP $ END 2)可用于数据交换的程序ORG 0100H MOV SP,#6FH 设栈顶指针地址MOV 50H,#3BH (50H)3BHMOV 51H,#2FH (51H)2FH PUSH 50H 入栈 (70H)3BH PUSH 51H (71H)2FH POP 50H 出栈 (50H)2

5、FH POP 51H (51H)3BH SJMP $ END4.数据交换 记录每条指令运行后的结果,从而加深对各种不同的交换指令的理解。 ORG 0000H MOV A,#58H (A)58H SWAP A (A)=85H MOV 40H,A (40H)85H MOV A,#30H (A)30H MOV R0,#30H (R0)30H MOV R0,#09H (30H)09H XCHD A,R0 (A)=39H (30H)=00H MOV 50H,#1 (50H)01H MOV A,#89H (A)89H XCH A,50H (50H)=89H (A)=01H MOV R7,#3 (R7)03

6、H XCH A,R7 (A)=03H (R7)=01H XCH A,R0 (30H)=03H (A)=00H SJMP $ END五、 思考题1 寄存器寻址与寄存器间接寻址有什么区别?答:寄存器是将操作数存放在寄存器中,得到了寄存器就得到了操作数.寄存器间接寻址是将指令指定的寄存器内容作为操作数的地址.该地址所指定的单元内容作为被寻找的操作数.寄存器间接寻址用R0(0,1)或DPTR表示,以区别寄存器间接寻址.2 PC指针与SP指针有什么区别?答:PC是一个16位的程序地址寄存器,其内容是当前执行指令的下一条指令在程序地址寄存器的地址,寻址范围达64KB,PC具有自动加一的功能。PC单元本身没

7、有地址,是不可寻址的,用户无法对其进行读写。在堆栈时,SP指针用来存放栈顶地址。SP指针为8位,在片内128B内的RAM中开辟栈区,并随跟踪栈顶地址。SP初始化为07H,只有在进行堆栈操作时,SP指针才会变化。在进行入栈操作时,SP指针自动加1,然后将操作数存入SP指针所指地址。当进行出栈操作时,SP指针将操作数弹入所选地址,然后自动减13 DPTR指针与Ri(R0,R1)指针有什么区别?答:用Ri(0,1)指针可以寻址片内RAM低128B,用DPTR作为间接寻址器,可寻址片外数据存储器的64KB区域。Ri(0,1)与P2配合使用时,用Ri(0,1)指示低8位地址。P2口输出高8位地址。可寻址

8、片外数据存储器或I/O的64KB的区域,DPTR指针还可以访问外部ROM和扩展I/O接口时的地址。4 立即寻址与直接寻址有什么区别?答:立即寻址:指令直接给出操作数;直接寻址:指令中直接给出操作数所在的单元地址或位地址。5.同一个特殊功能寄存器不同表达形式。答:在直接寻址时,寄存器ACC可以表示为 ACC、OEOH,Cy、0D7H、PSW.7、0D0H.7都可以表示Cy,PSW可以表示为0D0H。实验二 数传指令和算数运算指令编程设计一、 实验目的1 掌握数据块的传送操作和算术运算指令的应用。2 进一步掌握汇编语言设计和调试方法。3 掌握观察窗口的使用方法。4 学会给存储单元赋初值的方法。二、

9、 实验内容1 数据区传送(1)把内部RAM 40H4FH置初值0A0H0AFH;(2)而后把40H4FH内容传送到外部RAM 9800H980FH中;(3)再把 9800H980FH内容传送到 50H5FH中。 2多字节十进制加法加数放在30H开始的单元中(最低位放在30H,按从小到大的顺序存放),被加数和结果存放在20H开始的单元(最低位在20H中),字节数放在2FH中,最高进位位放在位地址7FH单元中。三、 实验步骤1 分别用单步和连续运行方式,调试上述两个程序;2 在执行第二个程序之前,给被加数和加数单元赋初值;3 在观察窗口中观察结果。四、 实验程序清单1 数据块传送程序: ORG 0000H MAIN: MOV R0,#40H (R0)40H MOV R2,#10H (R2)10H MOV A,#0A0H (A)0A0H A1: MOV R0, A (40H)0A0H INC R0 (R0)=41H INC A (A)0A1H DJNZ R2, A1 循环指令,循环16次,(A)=0A0H (A)=0B0H(R0)=50H MOV R0, #40H (R0H)40H MOV DPTR, #9800H 设DPTR指针地址

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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