微机原理与接口技术指导书Read.docx
- 文档编号:27461265
- 上传时间:2023-07-01
- 格式:DOCX
- 页数:22
- 大小:49.87KB
微机原理与接口技术指导书Read.docx
《微机原理与接口技术指导书Read.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术指导书Read.docx(22页珍藏版)》请在冰豆网上搜索。
微机原理与接口技术指导书Read
微机原理与接口技术1
实验指导书
纪平张雷编写
安徽工业大学计算机学院
二○○四年三月
实验一DEBUG的启动及其基本命令的使用
一.实验目的:
掌握DEBUG的基本命令及其功能
二.实验内容:
DEBUG是专门为汇编语言设计的一种调试工具,它通过步进,设置断点等方式为汇编语言程序员提供了非常有效的调试手段。
1、DEBUG程序的启动
在DOS提示符下,可键入命令:
C>DEBUG[d:
][path][文件名][参数1][参数2]
其中文件名是被调试文件的名称,它须是执行文件(EXE),两个参数是运行被调试文件时所需要的命令参数,在DEBUG程序调入后,出现提示符“-”,此时,可键入所需的DEBUG命令。
在启动DEBUG时,如果输入了文件名,则DEBUG程序把指定文件装入内存。
用户可以通过DEBUG的命令对指定文件进行修改、显示和执行。
如果没有文件名,则是以当前内存的内容工作,或者用命名命令和装入命令把需要的文件装入内存,然后再用DEBUG的命令进行修改、显示和执行。
2、DEBUG的主要命令
(1)汇编命令A,格式为:
-A[地址]
该命令从指定地址开始允许输入汇编语句,把它们汇编成机器代码相继存放在从指定地址开始的存储器中。
(2)反汇编命令U,有两种格式:
1)-U[地址]
该命令从指定地址开始,反汇编32个字节,若地址省略,则从上一个U命令的最后一条指令的下一个单元开始显示32个字节。
2)-U范围
该命令对指定范围的内存单元进行反汇编,例如:
-U04BA:
01000108或–U04BA:
0100L9
此二命令是等效的。
(3)运行命令G,格式为:
-G[=地址1][地址2[地址3。
。
。
]]
其中地址1规定了运行起始地址,后面的若干地址均为断点地址。
(4)追踪命令T,有两种格式:
1)逐条指令追踪:
-T[=地址]
该命令从指定地址起执行一条指令后停下来,显示寄存器内容和状态值。
2)多条指令追踪:
-T[=地址][值]
该命令从指定地址起执行n条命令后停下来,n由[值]确定。
(5)显示内存单元内容的命令D,格式为:
-D[地址]或-D[范围]
(6)修改内存单元内容的命令E,它有两种格式:
1)用给定的内容代替指定范围的单元内容:
-E地址内容表
例如:
-E2000:
0100F3“XYZ”8D
其中F3,“X”“Y”“Z”和8D各占一个字节,用这五个字节代替原内存单元2000:
0100到0104的内容,“X”“Y”“Z”将分别按它们的ASCII码值代入。
2)逐个单元相继地修改:
-E地址
例如:
-E100:
18E4:
010089.78
此命令是将原100号单元的内容89改为78。
78是程序员键入的。
(7)检查和修改寄存器内容的命令R,它有三种方式:
1)显示CPU内部所有寄存器内容和标志位状态;格式为:
-R
R命令显示中标志位状态的含义如下表所示:
标志名
置位
复位
溢出Overflow(是/否)
OV
NV
方向Direction(减量/增量)
DN
UP
中断Interrupt(允许/屏蔽)
EI
DI
符号Sign(负/正)
NG
PL
零Zero(是/否)
ZR
NZ
辅助进位AuxiliaryCarry(是/否)
AC
NA
奇偶Parity(偶/奇)
PE
PO
进位Carry(是/否)
CY
NC
2)显示和修改某个指定寄存器内容,格式为:
-R寄存器名
例如打入:
-RAX
系统将响应如下:
AXFIF4
:
表示AX当前内容为F1F4,此时若不对其作修改,可按ENTER键,否则,打入修改后内容,如:
-RBX
BX0369
:
059F
则BX内容由0369改为059F
3)显示和修改标志位状态,命令格式为:
-RF
系统将给出响应,如
OVDNEINGZRACPECY-
这时若不作修改可按ENTER键,否则在“-”号之后键入修改值,键入顺序任意。
如
OVDNEINGZRACPECY-PONZDINV
(8)命名命令N,格式为:
-N文件名
此命令将文件名格式化在CS:
5CH的文件控制块内,以便使用L或W命令把文件装入内存进行调试或者存盘。
(9)装入命令L,它有两种功能:
1)把磁盘上指定扇区的内容装入到内存指定地址起始的单元中,格式为:
-L地址驱动器扇区号扇区数
2)装入指定文件,格式为:
-L[地址]
此命令装入已在CS:
5CH中格式化的文件控制块所指定的文件。
在用L命令前,BX和CX中应包含所读文件的字节数。
(10)写命令W,有两种格式:
1)把数据写入磁盘的指定扇区:
-W地址驱动器扇区号扇区数
2)把数据写入指定文件中:
-W[地址]
此命令把指定内存区域中的数据写入由CS:
5CH处的FCB所规定的文件中。
在用W命令前,BX和CX中应包含要写入文件的字节数。
(11)退出DEBUG命令Q,该命令格式为
Q
它退出DEBUG程序,返回DOS,但该命令本身并不把在内存中的文件存盘,如需存盘,应在执行Q命令前先执行写命令W。
三.实验要求:
用汇编语言编写一个计算“3+5”的加法程序
四.实验报告:
写出在DEBUG状态下编写、运行程序的过程以及调试所中遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。
实验二内存操作数及寻址方法
一.实验目的:
1、熟练掌握DEBUG的常用命令,学会用DEBUG调试程序。
2、掌握数据在内存中的存放方式和内存操作数的几种寻址方式。
3、掌握简单指令的执行过程。
二.实验内容:
1、设堆栈指针SP=2000H,AX=3000H,BX=5000H;请编一程序段将AX和BX的内容进行交换。
请用堆栈作为两寄存器交换内容的中间存储单元,用DEBUG调试程序进行汇编与调试。
2、设DS=当前段地址,BX=0300H,SI=0002H;请用DEBUG的命令将存储器偏移地址300H~304H连续单元顺序装入0AH,0BH,0CH,0DH,0EH。
在DEBUG状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程,当数据传送完毕时,AX中的内容是什么。
程序清单如下:
MOVAX,BX
MOVAX,0304H
MOVAX,[0304H]
MOVAX,[BX]
MOVAX,0001[BX]
MOVAX,[BX][SI]
MOVAX,0001[BX][SI]
HLT
三.实验要求:
1、实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析等。
2、本实验只要求在DEBUG调试程序状态下进行,包括汇编程序、调试程序和执行程序。
四.实验报告:
1、程序说明。
说明程序的功能、结构。
2、调试说明。
包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。
3、写出源程序清单和执行结果。
实验三汇编语言程序的调试与运行
一.实验目的
1.学习串处理指令的用法。
2.熟悉在PC机上编辑、汇编、连接、调试和运行汇编语言程序的过程。
二.实验内容
比较两个字符串string1和string2所含的字符是否相同。
若相同则显示‘Match’,否则显示‘Nomatch’。
三.编程提示
使用串比较指令来完成程序所要求的功能。
四.调试步骤
1.编辑源程序,建立一个以后缀为.ASM的文件.
2.汇编源程序,检查程序有否错误,有错时回到编辑状态,修改程序中错误行。
无错时继续第3步。
3.连接目标程序,产生可执行程序。
4.DEBUG调试可执行程序,记录数据段的内容。
5.在操作系统状态下,运行程序,并记录屏幕显示内容。
string1
string2
屏幕显示内容
五.思考题
将上述程序改为从字符串string1中查找一个指定的字符,如何实现?
六.实验要求:
实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析等
七.实验报告:
1、简单叙述上机步骤,调试方法。
2、对调试过程中的问题进行分析。
3、写出源程序清单和执行结果。
实验四查表程序设计
一.实验目的:
1、熟练掌握编写汇编语言原程序的基本方法和基本框架。
2、掌握查表法和查表指令XLAT。
3、熟练使用DEBUG调试程序。
二.实验内容:
用查表的方法将一位十六进制数转换成与它相应的ASCII码,并将结果存放到ASCI单元中。
三.编程提示:
既然指定用查表的方法,那么首先要建立一个表TABLE。
我们在表中按照十六进制数从小到大的顺序放入他们对应的ASCII码值。
DATASEGMENT
TABLEDB30H,31H,32H,33H,34H,35H,36H,37H
DB38H,39H,41H,42H,43H,44H,45H,46H
HEXDBX;X为待转换的十六进制数
ASCIDB?
;存放转换后的ASCII码
DATAENDS
四.实验要求:
实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析等
五.实验报告:
1、程序说明。
说明程序的功能、结构。
2、调试说明。
包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。
3、写出源程序清单和执行结果。
实验五系统功能调用
一.实验目的:
1、掌握接受键盘数据的方法,并了解将键盘数据显示时,须转为ASCII码的原理。
2、掌握DOS功能调用的编程方法。
二.实验内容:
试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。
三.编程提示:
利用DOS功能调用INT21H的1号功能从键盘输入字符和2号功能在显示器上显示一个字符。
四.实验要求:
实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析等。
五.实验报告:
1、程序说明。
说明程序的功能、结构。
2、调试说明。
包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。
3、写出源程序清单和执行结果。
实验六分支程序设计
一.实验目的:
1、掌握分支程序的结构。
2、掌握分支程序的设计、调试方法。
二.实验内容:
假设有一组数据:
5,-4,0,3,100,-51,请编一程序,判断:
每个数大于0,等于0,还是小于0;并输出其判断结果。
即:
1当x>0
y=0当x=0
-1当x<0
三.实验要求:
实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析等。
四.编程提示:
1、首先将原始数据装入起始地址为XX的字节存储单元中。
2、将判断结果以字符串的形式存放在数据区中,以便在显示输出时调用。
3、其中判断部分可采用CMP指令,得到一个分支结构,分别输出“y=0”,“y=1”,“y=-1”。
4、程序中存在一个循环结构,循环6次,调用6次分支结构后结束。
五.思考题:
程序中的原始数据是以怎样的形式存放在数据区中的?
请用DEBUG调试程序观察并分析。
六.实验报告:
1、程序说明。
说明程序的功能、结构。
2、调试说明。
包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。
3、画出程序框图。
4、写出源程序清单和执行结果。
5、回答思考题。
实验七循环程序设计
一.实验目的
1.加深对循环结构的理解。
2.掌握循环程序的设计方法。
二.实验内容与要求
1.编制程序计算S=1+2·3+3·4+4·5+……+N(N+1)+……直到N(N+1)大于200为止,并将结果由屏幕上显示出来。
其程序的流程图如图7.1所示。
2.将从3000H内存单元开始的100个字节存储单元全部清0。
本实验要求在DEBUG调试状态下进行,包括汇编程序、运行程序、检查结果。
三.程序框图
图7.1程序框图
四.实验步骤
实验内容一:
1)按程序流程图编制实验程序。
2)输入源程序。
3)汇编、连接程序,执行程序,检查结果。
实验内容二:
1)输入源程序并检查无误。
2)对内存单元3000H开始的100个存储单元用E命令输入任意数。
3)程序的执行可用DEBUG的G命令,也可用T命令单步跟踪执行。
4)用D命令检查执行结果。
五.实验报告
1、列出源程序。
2、对程序中用到的寄存器说明其功能。
3、总结计数控制循环程序的设计方法。
4、说明怎样使用DEBUG进行程序调试的。
调试过程中所遇到的问题是如何解决的。
实验八子程序设计
一.实验目的
1、掌握程序设计方法,合理划分层次
2、掌握子程序的调用与返回的方法
3、了解子程序的嵌套与递归
二.实验内容与要求
编制一程序,要求键入一个班的学生成绩,并存放于50字的ERADE数组中,然后根据ERADE中的成绩,把学生名次填入50字的RANK数组中,再按学号顺序把名次从终端上显示出来。
提示:
1程序MAIN
功能:
根据输入的学生成绩,计算并显示出学生名次。
2子程序INPUT
功能:
接收一个班级学生的成绩,各成绩之间用空格隔开。
3子程序RANKP
功能:
计算一个班级学生的名次。
4子程序OUTPUT
功能:
输出(显示)一个班级的学生名次
5子程序DECIBIN
功能:
十进制转换二进制,存入BX
6子程序BINDEC
功能:
十进制转换二进制,并在屏幕上显示。
7子程序DEC_DIV
功能:
BX的内容除以CX的内容,并在屏幕上显示一位商。
三.程序框图:
图8.1程序流程图
四.步骤
1、自编主程序与子程序。
2、输入本班级某门基础课成绩。
五.思考题
1、写出4位BCD码转二进制数的算法。
2、写出AX中进二制数转BCD码的算法。
3、将上述子程序结构改为模块化程序设计。
六.实验报告:
1、程序说明。
说明程序的功能、结构。
2、调试说明。
包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。
3、写出源程序清单和执行结果。
4、回答思考题。
实验九综合程序设计
一.实验目的:
1、掌握分支、循环、子程序调用、DOS功能调用等基本的程序结构。
2、掌握综合程序的编制及调试方法。
二.实验内容:
设有十个学生成绩分别是76,69,84,90,73,88,99,63,100和80分。
试编制一个子程序,统计低于60分,60~69分,70~79分,80~89分,90~99分和100分的人数,并输出显示统计结果。
三.编程提示:
1、成绩分等部分采用分支结构,统计所有成绩则用循环结构完成,显示统计结果采用DOS功能调用。
2、统计学生成绩和显示统计结果两部分内容用子程序结构来完成。
四.实验报告:
1、程序说明。
说明程序的功能、结构。
2、调试说明。
包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。
3、画出程序框图。
4、写出源程序清单和执行结果。
5、体会和意见。
附录实验报告
实验报告
系班级学号姓名
同组者指导教师
实验报告
系班级学号姓名
同组者指导教师
实验报告
系班级学号姓名
同组者指导教师
实验报告
系班级学号姓名
同组者指导教师
实验报告
系班级学号姓名
同组者指导教师
实验报告
系班级学号姓名
同组者指导教师
实验报告
系班级学号姓名
同组者指导教师
实验报告
系班级学号姓名
同组者指导教师
实验报告
系班级学号姓名
同组者指导教师
实验报告
系班级学号姓名
同组者指导教师
实验报告
系班级学号姓名
同组者指导教师
实验报告
系班级学号姓名
同组者指导教师
实验报告
系班级学号姓名
同组者指导教师
实验报告
系班级学号姓名
同组者指导教师
实验报告
系班级学号姓名
同组者指导教师
实验报告
系班级学号姓名
同组者指导教师
实验报告
系班级学号姓名
同组者指导教师
实验报告
系班级学号姓名
同组者指导教师
实验报告
系班级学号姓名
同组者指导教师
实验报告
系班级学号姓名
同组者指导教师
实验报告
系班级学号姓名
同组者指导教师
实验报告
系班级学号姓名
同组者指导教师
实验报告
系班级学号姓名
同组者指导教师
实验报告
系班级学号姓名
同组者指导教师
实验报告
系班级学号姓名
同组者指导教师
实验报告
系班级学号姓名
同组者指导教师
实验报告
系班级学号姓名
同组者指导教师
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 指导书 Read
