南昌航空大学微机原理与接口技术实验报告8次.docx
- 文档编号:23562555
- 上传时间:2023-05-18
- 格式:DOCX
- 页数:29
- 大小:984.06KB
南昌航空大学微机原理与接口技术实验报告8次.docx
《南昌航空大学微机原理与接口技术实验报告8次.docx》由会员分享,可在线阅读,更多相关《南昌航空大学微机原理与接口技术实验报告8次.docx(29页珍藏版)》请在冰豆网上搜索。
南昌航空大学微机原理与接口技术实验报告8次
南昌航空大学
信息工程学院
实验报告
课程名称:
微机原理与接口技术_
学号:
______________
姓名:
______________
指导教师:
_周卫民_________________
成绩:
________________________
南昌航空大学实验报告
课程名称:
微机原理实验名称:
调试程序DEBUG的使用
班级:
学生姓名:
学号:
教师评定:
签名:
一、实验要求:
调试程序DEBUG的使用。
二、实验内容:
DEBUG.EXE是DOS提供的用于调试可执行程序的工具软件,是汇编语言程序设计中常用的调试工具。
在DEBUG环境下,不但可以调试经汇编、连接后生成的可执行程序,也可以编写简单的程序。
①在DOS提示符下键入:
DEBUG↙(表示回车)
Debug执行,屏幕显示提示符“-”,说明计算机
当前处于DEBUG的管理之下,可接受、并执行
DEBUG命令。
②在DOS提示符下键入:
DEBUG[路径\]文件名↙DEBUG执行,并将指定文件装入内存,供调试。
如不指定被调试程序,DEBUG设置所有段寄存器的值相同,并指向最低的、可用的段地址;SP指向本段的尾部;IP指向本段的0100H单元;其它通用寄存器和所有状态标志清0。
如带入的被调试程序扩展名不是.EXE,则BX、CX包含被调试文件长度(字节数,BX为高位),其他同上。
(带入.COM程序同此)
如带入的被调试程序扩展名是.EXE,则需要重新定位。
DS=ES指向当前最低的、可用的段地址(PSP的首字节);CS:
IP和SS:
SP根据被调试程序确定,分别指向代码段和堆栈段;BX.CX为文件长度,其它通用寄存器和状态标志清0。
演示:
DEBUG的两种启动方法
1.命令格式命令字母[参数]
字母不分大小写;只使用16进制数,不加H;分割符只在两个数值之间是必须的,命令和参数之间可有可无;键入回车键执行命令,Ctrl+Break或Ctrl+C中止命令的执行;如命令不符合DEBUG的规则,则提示“error”并使用“^”指示错误位置。
2.参数格式
①表示地址(逻辑地址):
段地址:
偏移地址D0400:
2500D10ac:
0Dds:
04Dcs:
100
偏移地址D2505D100;DEBUG认为输入的是偏移地址,段地址采用默认的段寄存器,不同的命令默认不同的段寄存器,例如汇编命令默认CS,显示数据命令默认DS。
既不送段地址,也不送偏移地址,段地址采用默认的段寄存器,偏移地址采用当前值。
只送段地址,省略偏移地址,非法。
如DDS:
或D0400:
②表示范围
开始地址结束地址
如“DDS:
050”,“D2AC0:
100200”,“D100120”
注意:
结束地址不能带段地址,开始地址L字节长度。
如“DDS:
0L10”,“D100L20”
命令索引
D命令E命令F命令R命令A命令U命令G命令T命令P命令Q命令N命令L命令W命令C命令H命令S命令I命令O命令M命令
§3.DEBUG命令
1.显示命令D
①D[地址]
②D[范围];如不指定范围,一次显示8行×16个字节。
-D;默认段寄存器为DS,当前偏移地址
-DDS:
100/-DCS:
200
-D200:
100
-D200;200为偏移地址,默认段寄存器DS
-DDS:
100110/-D100L10
2.修改命令E
①E地址;从指定地址开始,修改(或连续修改)存储单元内容。
DEBUG首先显示指定单元内容,如要修改,可输入新数据;空格键显示下一个单元内容并可修改,减号键显示上一个单元内容并可修改;如不修改,可直接按空格键或减号键;回车键结束命令。
②E地址数据表;从指定的地址开始用数据表给定的数据修改存储单元。
-EDS:
100F3‘AB’8D。
3.添充命令F
F范围数据表;将数据表写入指定范围的存储单元;数据个数多,忽略多出的数据,个数少,则重复使用数据表。
-FDS:
0L501,02,03,04,05
-FDS:
0L50102030405(空格分隔)
-FDS:
0L5FF;5个字节重复使用FF
注意和E命令的区别:
E地址数据表
4.显示修改寄存器命令R
①R;★显示所有寄存器和标志位状态;
★显示当前CS:
IP指向的指令。
显示标志时使用的符号:
标志标志=1标志=0
OFOVNV
DFDNUP
IFEIDI
SFNGPL
ZFZRNZ
AFACNA
PFPEPO
②R寄存器名;显示并修改指定的寄存器。
RAX;RIP;RF等
5.汇编命令A
A[地址];从指定的地址开始输入符号指令;如省略地址,则接着上一个A命令的最后一个单元开始;若第一次使用A命令省略地址,则从当前CS:
IP开始(通常是CS:
100)。
注释:
①在DEBUG下编写简单程序即使用A命令。
②每条指令后要按回车。
③不输入指令按回车,或按Ctrl+C结束汇编。
④支持所有8086符号硬指令,伪指令只支持DB、DW,不支持各类符号名。
6.反汇编命令U
①U[地址];从指定地址开始反汇编32个字节的机器指令;省略地址时,则接着上一个U命令的最后一个单元开始;若第一次使用U命令省略地址,则从当前CS:
IP开始(通常是CS:
100)。
②U范围;对指定范围的单元进行反汇编。
-U
-U100
-U100L10
6.反汇编命令U
①U[地址];从指定地址开始反汇编32个字节的机器指令;省略地址时,则接着上一个U命令的最后一个单元开始;若第一次使用U命令省略地址,则从当前CS:
IP开始(通常是CS:
100)。
②U范围;对指定范围的单元进行反汇编。
-U
-U100
-U100L10
7.运行程序命令G
①G;从CS:
IP指向的指令开始执行程序,直到程序结束或遇到INT3。
②G=地址;从指定地址开始执行程序,直到程序结束或遇到INT3。
③G断点1[,断点2,…断点10];从CS:
IP指向的指令开始执行程序,直到遇到断点。
④G=地址断点1[,断点2,…断点10]
-G;从CS:
IP指向的指令开始执行程序。
-G=100;从指定地址开始执行程序。
-G=100105110120
注释:
1)最多可设置10个断点。
2)断点必须设置在一条指令的首字节。
3)如设置了多个断点,程序在第一个断点停下后,显示寄存器、标志及下一条要执行的指令,再次输入G命令,程序继续往下执行,直到下一个断点或程序结束。
4)程序如有错误,执行时可能造成死机。
8.跟踪命令(单步执行命令)T
①T;从当前IP开始执行一条指令。
②T数值;从当前IP开始执行多条指令。
②T=地址;
③T=地址数值;
-T
-T5/-T=1005
9.跟踪执行并跳过子程序命令P
P[=地址][数值];类似T命令,但跳过子程序
和中断服务程序。
10.退出DEBUG命令Q
Q;返回DOS环境。
-Q
11.命名命令N
N文件标示符;指定文件,以便用W命令在磁盘上生成该文件,或者用L命令从磁盘装入该文件。
-NMY_PRO.COM
写盘:
在当前盘当前目录生成指定文件。
读盘:
在当前盘当前目录读取指定文件。
-NA:
\USER\MY_PRO.COM
12.装入命令L
①L[地址];装入N命令指定的文件,默认的内存地址为CS:
100。
-NMY_PRO.COM
-L
②L地址驱动器号扇区号扇区数;将某驱动器的若干扇区(最多80H个)装入内存;0=A,1=B,
2=C……;默认的段地址为CS。
-LDS:
200201
13.写盘命令W
①W[地址];将指定地址开始的内存数据写入磁盘,生成N命令指定的文件;默认的内存地址为CS:
100;写盘的字节数由BX(高位字)和CX(低位字)决定,可执行程序写盘时,文件扩展名应指定.COM。
-NMY_PRO.COM
-W
②W地址驱动器号扇区号扇区数;将内存数据写入磁盘的若干扇区(最多80H);默认的段地址为CS。
-WDS:
0201
注释:
写磁盘扇区要慎用。
14.其他命令
*比较命令C
C范围地址;将指定范围内的内容与以指定地址为起点的内容相比较。
*16进制数计算命令H
H数1,数2(H数1数2);同时计算两个数字的和与差。
*查找命令S
S范围数据;在指定范围内查找指定数据。
*输入命令I
I端口地址;输入一个字节并显示。
*输出命令O
O端口地址字节数据;输出到指定的端口。
*传送命令M
M范围地址;将指定范围的内容传送到以指
定地址为起点的存储单元。
3、实验体会:
通过本次实验,练习了各条常用DEBUG命令的使用,同时也在DBBUG条件下,运行了一些代码,能够得到理想中的答案,同时也发现指令中的值须全部转化为16进制的值,那样才能正常的运行。
同时也加深了自己对指令的理解。
南昌航空大学实验报告
课程名称:
微机原理实验名称:
完整汇编源程序的上机过程
班级:
学生姓名:
学号:
教师评定:
签名:
一、实验要求:
学会完整汇编源程序的上机过程和常用的DOS命令。
二、实验内容:
编写一段汇编源程序,在MASM中运行。
同时学会对MASM的灵活运用。
三、实验步骤:
3.1编辑录入源程序
EDIT[[盘符][路径]程序基本名。
ASM]
例如:
D:
\language\MASM50>editaa.asm
3.2汇编
汇编指令格式如下:
MASM[[盘符][路径]程序基本名[.ASM]]
例如:
D:
\language\MASM50>masmaa
若没有错误显示如下:
Microsoft(R)MacroAssmblerVersion5.10
Copyright(C)MicrosoftCorp1981,1988,Allrightsreserved.
Objectfilename[aa.OBJ]:
Sourselisting[NUL.LST]:
Cross-reference[NUL.CRF]:
49576+420869Bytessymbolspacefree
0WarningErrors
0SevereErrors
若有错时则会显示出相应错误信息,如下:
AA.ASM(6):
WarningA4001:
Extracharactersonline
AA.ASM(7):
errorA2062:
MissingorunreachableCS
AA.ASM(8):
errorA2009:
Symbolnotdefined:
DI
49510+411821Bytessymbolspacefree
1WarningErrors
2SevereErrors
3.3连接
连接命令格式如下:
LINK[[盘符][路径]程序基本名[.OBJ]]
例如:
D:
\language\MASM50>linkaa
连接显示信息如下:
Microsoft(R)OverlayLinkerVersion3.64
Copyright(C)MicrosoftCrop1983-1988.Allrightsreserved.
RunFlie[AA.EXE]
ListFile[NUL.MAP]
Libraries[.LIB]
LINK:
warningL4021:
nostacksegment;
3.4运行
运行命令的格式如下:
[盘符][路径]程序基本名[.EXE]
例如:
P:
\(language\MASM50)AA
调试运行的格式如下:
[盘符][路径]DEBUG[盘符][路径]程序基本名.EXE
如执行DEBUGAA.EXE
3.5其他用到的DOS命令
DIR[盘符][路径][文件名]
MD[盘符][路径]新目录名
CD[盘符][路径]
4、实验体会
通过本次实验,理解了用汇编语言编写的指令在MASM中的运行情况。
对它的步骤有了一定的了解以及使用。
南昌航空大学实验报告
课程名称:
微机原理实验名称:
两个多位十进制数相加
班级:
学生姓名:
学号:
教师评定:
签名:
4、实验目的:
熟悉对DVCC实验系统的使用。
5、实验内容:
本程序将两个多位十进制数相加,其中加数与被加数均以ASCII码形式存放在以DATA1和DATA2为首的5个内存单元中,相加结果被送回DATA1处。
程序中先要把加数与被加数由十进制ASCII码转化为十六进制的数字串,然后将他们进行带进位相加并做AAA调整,然后将结果保存。
6、程序清单:
定义堆栈段:
STACK_SEGSEGMENTPARASTACK
'STACK'DB100DUP(?
)
STACK_SEGENDS
;定义数据段
DATA_SEGSEGMENTPARAPUBLIC'DATA'
;定义被加数与加数(DATA1\DATA2)的存放(低位在前):
DATA1DB'4','A','5','9','C'
DATA2DB'6','8','1','6','B'
DATA_SEGENDS
;定义代码段
CODE_SEGSEGMENTPARAPUBLIC'CODE'
MAINPROCFAR
ASSUMECS:
CODE_SEG,DS:
DATA_SEG,SS:
STACK_SEG
START:
PUSHDS
MOVAX,0
PUSHAX
MOVAX,DATA_SEG
MOVDS,AX
MOVSI,PFFESTDATA1
MOVDI,OFFESTDATA2
CALLADDA
RET
MAINENDP
ADDAPROCNEAR
MOVDX,SI
MOVBP,DI
MOVBX,05H
AD1:
SUBBYTEPTR[SI+BX-1]
SUBBYTEPTR[DI+BX-1]
DECBX
JNZAD1
MOVSI,DX
MOVDI,BP
MOVCX,05H
CLC
AD2:
MOVAL,[SI]
MOVBL,[DI]
ADCAL,BL
AAA
MOV[SI],AL
INCSI
INCDI
LOOPAD2
MOVSI,DX
MOVBX,05H
AD3:
ADDBYTEPTR[SI+BX-1],30H
ADDBYTEPTR[DI+BX-1],30H
DECBX
JNZAD3
RET
ADDAENDP
CODE_SEGENDS
ENDSTART
7、实验体会:
通过本次实验学会了对DVCC实验系统的使用。
同时编写了一个代码,在DVCC实验系统上编译,发现如果编译成功的话,出现的结果会是errornotincluded.一旦出现错误就需要根据所在的行进行结果。
至于实验的结果由于还没有连接硬件和以上程序没有显示的代码。
所以在masm下演示出结果。
南昌航空大学实验报告
课程名称:
微机原理实验名称:
硬件实验
班级:
学生姓名:
学号:
教师评定:
签名:
1、实验目的:
加深理解逐次逼近模数转换器的特征和工作原理,掌握ADC0809的接口方法以及A/D输入程序的设计和调试方法。
2、实验内容:
2.1系统硬件安装(各种开关设置和连线必须在断电状态下进行)
2.1.1设置实验台开关:
开关名称
开关位
ON/OFF
KB1
1--5
6--10
OFF
ON
KB2
1--2
OFF
KB3
1--8
OFF
KB4
1--8
ON
KB5
1--8
ON
KBB卧式
86
KBB立式
86
2.1.2设置短路块:
DL3-DL4:
3-4位相联
2.1.3安装插板:
将88CPU卡插入J6和J9;
2.1.4实验台通电:
打开实验台电源,显示闪烁的‘P’为正常;否则,不正常,关掉电源检查。
2.2当DVCC微机仿真实验系统独立工作时
8、将固化区EPROM中实验程序目标码传送到仿真RAM区,操作如下:
输入0后按F1键,再输入0FFF后按F2键,再输入0后按EPMOV稍等,系统返回初始状态,显示“P.”。
9、按F2键进入仿真1态,仿真实验系统显示闪动“P.................."时,根据表一所示,通过键盘输入实验程序的起始地址0030H,再按执行键EXEC,表示连续运行该程序,稍后,按RESET键退出运行,如果以单步运行程序,则输入0300后,按STEP键,按一次执行一条语句,直到执行到003CH为止,按MON键退出运行,如果以断电运行程序,则先输入003C,再按F1键,再输入0030,然后再按EXEC键执行程序,当执行到003CH时自动停下来,此时按MON键退出。
10、用存储器读写方法检查7000H-70FFH中的内容应为00H。
3、实验体会:
通过本次实验,对硬件的设置有了一定的了解,同时通过硬件上的键盘输入相应的数据,得到与理论上相同的结果。
由于实验箱上缺少一些按钮和有些数码管的路线坏了,导致无法得到理想中的结果。
但是可以很确定它的有效性,得到验证。
南昌航空大学实验报告
课程名称:
微机原理实验名称:
并行口8255A应用
班级:
学生姓名:
学号:
教师评定:
签名:
一、实验目的:
进一步掌握8255A可编程并行口使用方法。
二、实验内容:
1、实验原理
PB4~PB7和PC0~PC7分别为发光二极管电路L1~L12相连,本实验为模拟交通灯实验。
交通灯的亮灭规律如下:
设有一个十字路口,1、3为南北方向,2、4为东西方向,初始为四个路口的红灯全亮,之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车:
延时一段时间后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁若干次以后,1、3路口红灯亮,而同时2、4路口的绿灯亮,2、4路口方向通车;延时一段时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次后,再切换到1、3路口方向,之后重复上述过程。
8255A的PB4~PB7对应黄灯,PC0~PC3对应红灯,PC4~PC7对应绿灯。
8255A工作于模式0,并置为输出。
由于各发光二极管为反向驱动,使其点亮使8255A相应端口置1.
2、实验线路连接
L1---PC0L4---PC1L7----PC2L10---PC3
L2---PB4L5---PB5L8----PB6L11---PB7
L3---PC4L6--PC5L9---PC6L12--PC7
三、实验步骤:
运行实验程序:
单机时,实验程序起始地址为F000:
90E0。
在系统显示监控提示符“P."时:
输入F000按F1键输入90E0按EXEC键在系统上显示执行符"T",同时L1~L12发光二级管模拟交通灯显示。
四、实验结果:
通过观察L1~L12发光二级管的灯的亮灭情况,发现与本实验要求的交通灯的亮灭规律情况一样。
在实验中,假设L1~L3和L7~L9的亮灯情况完全一样,同理也可验证其他的灯。
11、实验参考程序:
ORG0630H;?
HA4S:
MOVSP,#60H
MOVDPTR,#0FF2BH
MOVA,#80H
MOVX@DPTR,A
MOVDPTR,#0FF29H
MOVA,#49H
MOVX@DPTR,A
INCDPTR
MOVA,#49H
MOVX@DPTR,A
MOVR2,#25H
LCALLDELAY
HA4S3:
MOVDPTR,#0FF29H
MOVA,#08H
MOVX@DPTR,A
INCDPTR
MOVA,#61H
MOVX@DPTR,A
MOVR2,#55H
LCALLDELAY
MOVR7,#05H
HA4S1:
MOVDPTR,#0FF29H
MOVA,#04H
MOVX@DPTR,A
INCDPTR
MOVA,#51H
MOVX@DPTR,A
MOVR2,#20H
LCALLDELAY
MOVDPTR,#0FF29H
MOVA,#00H
MOVX@DPTR,A
INCDPTR
MOVA,#41H
MOVX@DPTR,A
MOVR2,#20H
LCALLDELAY
DJNZR7,HA4S1
MOVDPTR,#0FF29H
MOVA,#03H
MOVX@DPTR,A
INCDPTR
MOVA,#0cH
MOVX@DPTR,A
MOVR2,#55H
LCALLDELAY
MOVR7,#05H
HA4S2:
MOVDPTR,#0FF29H
MOVA,#02H
MOVX@DPTR,A
INCDPTR
MOVA,#8aH
MOVX@DPTR,A
MOVR2,#20H
LCALLDELAY
MOVDPTR,#0FF29H
MOVA,#02H
MOVX@DPTR,A
INCDPTR
MOVA,#08H
MOVX@DPTR,A
MOVR2,#20H
LCALLDELAY
DJNZR7,HA4S2
LJMPHA4S3
DELAY:
PUSH02H
DELAY1:
PUSH02H
DELAY2:
PUSH02H
DELAY3:
DJNZR2,DELAY3
POP02H
DJNZR2,DELAY2
POP02H
DJNZR2,DELAY1
POP02H
DJNZR2,DELAY
RET
END
南昌航空大学实验报告
课程名称:
微机原理实验名称:
定时、计数器8253A应用
班级:
学生姓名:
学号:
教师评定:
签名:
一、实验目的:
学习8253A可编程定时、计数器与8088CPU的接口方法;了解8253A的工作方式;掌握8253A在各种方式下的编程方法。
二、实验内容:
1、实验原理
8253A的A0、A1接系统地址总线A0、A1,故8253A有四个端口地址。
8253A的片选地址为40H~4FH。
因此,本实验仪中的8253A四个端口地址为40H、4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 南昌 航空 大学 微机 原理 接口 技术 实验 报告