12901952840008750微机原理实验指导书
实验须知
一、预习要求
实验前认真阅读实验教程中有关内容,明确实验目的、内容和实验任务。
每次实验前做好充分的预习,对所需预备知识做到心中有数。
实验前应编好源程序,并对调试过程、实验结果进行预测。
二、实验要求
实验课请勿迟到,缺席。
爱护设备,保持清洁,不随意更换设备。
认真完成实验任务,实验结果经教师检查。
做硬件实验时,严禁带电操作,即所有的接线、改线及拆线操作均应在不带电的状态下进行,并注意防止导线堵塞插孔。
发生事故,应立即切断电源,并马上向教师报告,检查原因,吸取教训。
实验完毕,请整理实验设备,正常关机,再离开实验室。
三、报告要求
每次实验后,应递交一份实验报告,报告中应包含下列内容:
实验名称、实验人姓名、学号、班级,所用设备号。
实验目的、任务。
硬件实验应画出各任务的完整电路图。
画出各任务程序流程图。
写出实验调试情况,包括上机时遇到的问题及解决办法、实验结果分析等, 并附上调试好的程序清单(应加适量注释)。
总结实验中的心得体会,提出对实验内容、方案等的建议、意见或设想等。
软件部分实验
实验一 DEBUG的使用
【】
验证性实验(学时数:2H)。
【】
5.用命令A汇编下列指令,并判断指令正误并说明原因。
ROR AX,8
LEA DI,[AX]
MOV DS,2010
PUSH AL
OUT 900,AL
MOV [BX],0
【预习要求】
1.仔细阅读附录中“汇编语言上机操作过程及程序调试技术”部分的内容。
2.根据实验要求,对各项结果进行预测。
【思考题】
1.指令MOV [BX],AX中,操作数[BX]的寻址方式是什么?在DEBUG下执行完该指令后,如何查看执行结果?
2.可否随意在DEBUG提示符“-”后不带参数发出命令G?什么情况下使用命令G时,可不用“ ”给出执行首地址?
【报告要求】
1.分析任务5中各条指令错误原因。
2.说明命令T和P的区别。
3.写出任务3的编辑调试过程,并附上调试记录。
4.回答思考题。
【实验提示】
1.DEBUG的进入
⑴如果是首次进入DEBUG编程,则只要在DOS提示符下键入DEBUG ↙,即可进入DEBUG环境,显示提示符“-”。
⑵如果要对某个程序使用DEBUG进行调试,只要在DOS提示符下键入DEBUG 文件名↙,即可进入DEBUG环境,显示提示符“-”。如:C debug exam.exe↙
2.程序的汇编与反汇编
⑴源程序可以在DEBUG下,用汇编命令A输入到内存中,只需在DEBUG提示符“-”下,键入汇编命令A ↙,并在显示“段寄存器地址:偏移地址”后面键入你自己编写的程序,每键入一条,按一次回车键。
-A ↙
127B:0100MOV CX,5 ↙
127B:0103MOV AL,0 ↙
127B:0105MOV BX,2000 ↙
┇
⑵如果进入DEBUG时是使用“DEBUG 文件名↙”进入的,那么在进入DEBUG状态后,可用反汇编命令U,将调入的程序显示出来:
-U ↙
127B:0100B90500MOV CX,5
127B:0103B000MOV AL,0
127B:0105BB0020MOV BX,2000
┇
3.在DEBUG状态下,对所编写文件存盘的步骤
⑴给程序命名
-N 文件名.COM ↙
⑵将文件长度放入BX、CX中(高位放入BX,低位放入CX中)
-R BX ↙(注意!!!由于文件长度一般较小,所以切记BX中付0值)
-R CX ↙(文件最末偏移地址减去文件开始的偏移地址即文件长度)
⑶用写盘命令W把正在调试的内存中程序写入磁盘中
-W 〈地址〉↙(文件开始地址)
退出DEBUG状态用Q命令:-Q ↙
4.在DEBUG状态下,建议使用DOS分配给用户的内存可用区
在DEBUG状态下,用户可对所有寄存器、RAM内存随意查看和修改,但由于对DOS操作系统在内存中存放情况不了解,可能会将存放有操作系统程序的内存内容破坏,从而可能引起系统的异常,出现死机现象,故建议使用DOS分配给用户的内存可用区,其低端地址是刚进入DEBUG时,用命令R查看到的DS:IP。
5.用连续执行命令G应注意问题
用连续执行命令G执行程序时,注意给出执行程序的首地址,并注意执行的程序中有返回DEBUG功能的程序段,如指令INT 20H或断点设置INT 3,否则发出命令后,很容易出现死机,原因是无返回程序段使系统返回命令接受状态,CPU将不断到内存中取指令、执行指令,使用户失去对系统的控制。为避免这种情况,可在用户程序段结尾加上一条INT 20H指令,或INT 3指令。
6.关于任务5
DS:2000单元开始的5个字节内容,可用填充命令F给其赋值。
-F 2000 L5 01 02 03 04 05↙(在执行程