微机原理实验指导书11.docx
- 文档编号:2134095
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:44
- 大小:298.43KB
微机原理实验指导书11.docx
《微机原理实验指导书11.docx》由会员分享,可在线阅读,更多相关《微机原理实验指导书11.docx(44页珍藏版)》请在冰豆网上搜索。
微机原理实验指导书11
微机原理及其接口技术
实验指导书
电子与信息工程学院编
目录
第一章汇编语言程序上机实验快览1
1.1汇编语言程序上机应具备的工具软件1
1.2调试程序(DEBUG)功能简介1
1.3预习报告格式3
1.4实验报告格式3
第二章软件实验4
实验一Debug程序的使用4
实验二.汇编语言上机环境及基本步骤8
实验三两个多位十进制数相加的实验11
实验四循环结构程序设计14
实验五子程序设计16
第三章硬件实验18
3.1DICE-8086K实验箱使用说明18
3.2系统安装与使用20
实验一 存储器读写实验21
实验二 8259单级中断控制器实验24
实验三 8255A并行口实验30
实验四 定时器/计数器32
实验五 数码管显示实验34
第一章汇编语言程序上机实验快览
1.1汇编语言程序上机应具备的工具软件
汇编语言程序上机操作,必须经过文件的“建立-汇编-连接-执行”四个阶段。
因此系统磁盘上还应具备下列工具软件。
1.全屏幕编辑程序。
用以将程序键入内容,经编辑后生成源文件(.ASM)存盘。
常用的编辑程序有记事本、EDIT.EXE,SK.EXE。
2.宏汇编程序,如MS的MASM.EXE,用以将源文件(.ASM)汇编生成二进制代码的目标文件(.OBJ)、列表文件(.LST)、及符号交叉引用表文件(.CRF)。
3.连接程序LINK.EXE。
用以将目标文件(.OBJ)与欲使用的库文件(.LIB)及其它目标模块,连接装配生成一个可执行文件(.EXE)、及各段空间分配的列表文件(.MAP)。
4.调试程序DEBUG.COM。
用以对.EXE或.COM文件进行调试,排错。
值得提出的是,人工输入的现成程序,或自编程序,难免不出现键入错误、疏漏错误、语法错误及逻辑错误。
虽然在静态自查及汇编阶段均可被查出,但程序内在的逻辑功能性错误,还必须借助调试工具,在监测环境下动态运行程序时才能表露出来。
因此程序调试这一环节必不可少。
1.2调试程序(DEBUG)功能简介
<1>A----行汇编
命令格式:
A[起始地址]
(起始地址缺省时:
前面未用过汇编命令,则从CS:
100单元开始;前面已用过汇编命令,则仅紧接上述汇编的最后一个单元开始。
)退出A命令:
如:
-A0100↙
则可从CS:
0100单元开始输入指令。
<2>U----反汇编
命令格式:
U[地址范围]
(如仅指定起始地址:
则从指定的地址开始,反汇编32个字节;如未指定地址范围:
则将上一个U命令的最后一个单元地址加1作为起始地址。
)
如:
-U0030↙
则反汇编CS:
0030单元开始的指令。
<3>D----显示内存单元内容
(内容可为十六进制数或相应的ASCII码字符)
命令格式:
D[地址范围]
(显示指定内存单元中的十六进制数或相应的ASCII码字符)。
如:
-D0010↙
则显示DS:
0010单元的内容。
<4>E----修改内存单元内容
命令格式:
E始地址[字符串]
如:
-EDS:
100AABB↙
则将AA、BB存入DS:
0100――DS:
0101单元。
<5>R----查看、修改寄存器内容
命令格式:
R[寄存器名]
如:
-R↙
则显示所有寄存器内容、标志位状态及下一条指令。
如:
-RAX↙
则显示AX寄存器内容。
如需修改,则输入1-4个十六进制数,再按回车。
如不需修改,直接按回车。
如:
-RF↙
则显示八个标志位状态,如需修改,则输入此标志位的相应值,再按回车。
如不需修改,直接按回车。
<6>G----运行――连续运行或设断点运行
命令格式:
G[=起始地址][断点地址](断点地址必需是有效指令的第一个字节)
若缺省“=起始地址”,则以CS:
IP(现行地址)为起始地址,程序执行到断点处,显示断点处所有寄存器内容和八个标志位状态,以及下一条指令。
如:
-G9↙
(断点地址为0009)若缺省“断定地址”,程序顺序执行完毕,显示:
Programterminatednormally(程序执行完毕)。
如:
-G↙
若前面已设过断点,然后程序再顺序执行完毕。
<7>T----跟踪――单步运行
命令格式:
T[=起始地址][N](指令条数)若缺省“=起始地址”,则以CS:
IP(现行地址)为起始地址,程序执行N条指令后,显示断点处所有寄存器内容和八个标志位状态,及下一条指令。
如:
-T5↙
则执行5条指令。
如:
-T↙
则只执行一条指令。
注意:
若调试程序中有过程调用(包括软中断调用INTN指令),则需使用P命令。
(如用T命令,程序进入调用子程序内。
如:
-P↙
则执行一条指令或一个子程序。
<8>Q----退出
如:
-Q↙
退出DEBUG返回DOS状态。
1.3预习报告格式
1.实验目的与要求
2.实验内容
3.实验仪器
4.实验原理(软件实验画流程图,硬件实验画电路图)
5.实验步骤
6.实验源程序
7.实验现象或结果记录
1.4实验报告格式
1.实验目的与要求
2.实验内容
3.实验仪器
4.实验原理(软件实验画流程图,硬件实验画电路图)
5.实验步骤
6.实验源程序
7.实验现象或实验结果
8.实验总结(实验过程遇到的问题如何解决?
实验体会,思考题解答等)
第二章软件实验
实验一Debug程序的使用
一、实验目的
1.学习使用DEBUG调试命令。
2.学习用DEBUG调试简单程序。
3.通过程序验证码制及其对标志位的影响。
4.通过调试熟悉和掌握个寄存器的作用与特点。
二、实验内容
用DEBUG调试简单程序。
三、实验仪器
微机一台
四、实验步骤
1.由DOS进入DEBUG调试环境。
(1)C:
>DEBUG将调试程序装入内存
注意:
当机器控制权由DOS成功地转移给调试程序后,将显示“-”号,它是DEBUG的状态提示符,表示可以接受调试子命令了。
(2)-R显示CPU中各寄存器当前初始内容,请记录下列各项:
AX=
BX=
CX=
DX=
BP=
SI=
DI=
DS=
ES=
SS=
SP=
CS=
IP=
FLAG寄存器中的8个标志位状态值是:
OF
DF
IF
SF
ZF
AF
PF
CF
说明:
1)此时,调试工作区的四个段值相同,指向同一起点,表明公用一个64KB空间;
2)SS:
SP指向堆栈顶单元,SP为FFFE或FFEE,正好是本段的最高可用地址,表明堆栈自动使用最高地址,栈区由底向上生长;
3)CS:
IP为约定的调试工作区地点(IP=0100),可由此装入待调试程序代码,或汇编键入的程序小段,工作区由低址往下使用;
4)DEBUG用符号给出标志寄存器中8个标志位的当前状态,其含义如下表所示。
标志位含义
‘1’的对应符号
‘0’的对应符号
OF溢出
OV有
NV无
DF方向
DN递减
UP递增
IF中断
EI允许
DI禁止
SF符号
NG负
PL正
ZF全零
ZR零
NZ非零
AF辅助进位
AC有
NA无
PF奇偶性
PE偶
PO奇
CF进位
CY有
NC无
(3)结束程序,返回DOS。
-Q
2.用DEBUG调试简单程序
例1-ACS:
0106
MOVAX,1234
MOVBX,2345
MOVCX,0
ADDAX,BX
MOVCX,AX
INT20
运行程序
(注:
执行程序时IP应指向要执行的指令,需要修改时
-RIP
当前值
输入需要值该处为0106
当然也可以在T或G命令中指出程序起始地址)
-R显示各寄存器当前内容及首条指令
-T3跟踪执行三条赋值传送指令,记录寄存器及标志位变化
-T2跟踪执行相加及送和数指令,记录寄存器及标志位变化
-G执行软件中断指令INT20,机器将显示“程序正常终止”的信息,并显示“-”,表明仍处在DEBUG的调试控制状态下,注意未用T命令,因为我们不想进入到20H中断处理程序中去,P命令也可实现相同操作
实验现象记录:
记录每条指令执行后各相关寄存器值及标志位状态
例2-ACS:
116
MOVAX,[0124]
MOVBX,[0126]
ADDAX,BX
MOV[0128],AX
INT20
DW2222
DW8888
DW0
设置断点分段运行程序
-G=CS:
11611D从指定入口运行程序,至断点11D停,可见两个数已取至AX,BX,但还没有求和
-G122从上一断点运行至新断点停,已完成求和并存入指定结果单元
-G完成程序
观看内存内容
-DCS:
11612A显示本程序小段目标代码和数据单元内容
-UCS:
11612A反汇编指定范围的内存内容-
实验现象记录:
通过反汇编,记录程序执行前指定范围的内存内容,并记录每条指令执行后各相关寄存器值及指定范围的内存内容
例3-ACS:
0192
MOVDX,19B
MOVAH,9
INT21
INT20
DB‘HELLO,WORLD!
$’
-P命令单步执行(从P=CS:
0192开始)
实验现象记录:
观察每条指令执行后各寄存器的变化,记录DX,AX的变化。
思考:
根据程序输入情况,考虑‘HELLO,WORLD!
$’在内存中的ASCⅡ码和地址范围
-D
ASCⅡ码为:
;
例4自己设计一段小程序验证补码的加法、进位、溢出的概念;
参考程序(可对数据进行修改):
-ACS:
0100
MOVAL,74
ADDAL,70
MOVAL,7A
ADDAL,94
MOVAL,43
ADCAL,65
INT20
-P命令单步执行
实验现象记录:
记录每条指令执行后AX及标志位变化
例5
1.使用R命令,实现AX=0108,BX=F1AA
-R-R
2.编辑下列程序
-ACS:
0100
XCHGAL,BH
SUBAX,BX
AAS
INT20
-P命令执行单步执行
实验现象记录:
记录每条指令执行后,AX、BX以及标志位的变化。
例6执行下列程序,用P命令或T命令跟踪
-ACS:
0100
MOVAX,0200
MOVDX,1E4F
CALLAX
MOVDX,167C
ADDDH,DL
MOV[0300],DX
INT20
-ACS:
0200
PUSHAX
MOVAX,010B
POPAX
RET
实验现象记录:
1)用T命令单步执行跟踪执行程序,观察在子程序调用前、中、后过程中
IPSP(CALL前)堆栈区域内容
(CALL后)
(PUSH后)
(POP后)
(RET后)
2)程序运行完毕后DS:
[0300]中的内容为
3)如果去掉POPAX,程序执行后DS:
[0300]中内容为
实验二.汇编语言上机环境及基本步骤
一、实验目的:
1.掌握编写汇编源程序的基本格式。
2.熟悉汇编语言上机环境。
3.掌握汇编源程序的编辑和修改,熟悉EDIT或记事本的使用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 实验 指导书 11