南昌航空大学微机原理与接口技术实验报告8次Word文件下载.docx
- 文档编号:7065576
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:30
- 大小:986.84KB
南昌航空大学微机原理与接口技术实验报告8次Word文件下载.docx
《南昌航空大学微机原理与接口技术实验报告8次Word文件下载.docx》由会员分享,可在线阅读,更多相关《南昌航空大学微机原理与接口技术实验报告8次Word文件下载.docx(30页珍藏版)》请在冰点文库上搜索。
只使用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
100110/-D100L10
2.修改命令E
①E地址;
从指定地址开始,修改(或连续修改)存储单元内容。
DEBUG首先显示指定单元内容,如要修改,可输入新数据;
空格键显示下一个单元内容并可修改,减号键显示上一个单元内容并可修改;
如不修改,可直接按空格键或减号键;
回车键结束命令。
②E地址数据表;
从指定的地址开始用数据表给定的数据修改存储单元。
-EDS:
100F3‘AB’8D。
3.添充命令F
F范围数据表;
将数据表写入指定范围的存储单元;
数据个数多,忽略多出的数据,个数少,则重复使用数据表。
-FDS:
0L501,02,03,04,05
0L50102030405(空格分隔)
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:
②U范围;
对指定范围的单元进行反汇编。
-U
-U100
-U100L10
7.运行程序命令G
①G;
从CS:
IP指向的指令开始执行程序,直到程序结束或遇到INT3。
②G=地址;
从指定地址开始执行程序,直到程序结束或遇到INT3。
③G断点1[,断点2,…断点10];
IP指向的指令开始执行程序,直到遇到断点。
④G=地址断点1[,断点2,…断点10]
-G;
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。
-W
②W地址驱动器号扇区号扇区数;
将内存数据写入磁盘的若干扇区(最多80H);
-WDS:
0201
注释:
写磁盘扇区要慎用。
14.其他命令
*比较命令C
C范围地址;
将指定范围内的内容与以指定地址为起点的内容相比较。
*16进制数计算命令H
H数1,数2(H数1数2);
同时计算两个数字的和与差。
*查找命令S
S范围数据;
在指定范围内查找指定数据。
*输入命令I
I端口地址;
输入一个字节并显示。
*输出命令O
O端口地址字节数据;
输出到指定的端口。
*传送命令M
M范围地址;
将指定范围的内容传送到以指
定地址为起点的存储单元。
三、实验体会:
通过本次实验,练习了各条常用DEBUG命令的使用,同时也在DBBUG条件下,运行了一些代码,能够得到理想中的答案,同时也发现指令中的值须全部转化为16进制的值,那样才能正常的运行。
同时也加深了自己对指令的理解。
完整汇编源程序的上机过程
学生姓名:
学号:
学会完整汇编源程序的上机过程和常用的DOS命令。
编写一段汇编源程序,在MASM中运行。
同时学会对MASM的灵活运用。
三、实验步骤:
3.1编辑录入源程序
EDIT[[盘符][路径]程序基本名。
ASM]
例如:
D:
\language\MASM50>
editaa.asm
3.2汇编
汇编指令格式如下:
MASM[[盘符][路径]程序基本名[.ASM]]
D:
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:
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[盘符][路径]
四、实验体会
通过本次实验,理解了用汇编语言编写的指令在MASM中的运行情况。
对它的步骤有了一定的了解以及使用。
两个多位十进制数相加
四、实验目的:
熟悉对DVCC实验系统的使用。
五、实验内容:
本程序将两个多位十进制数相加,其中加数与被加数均以ASCII码形式存放在以DATA1和DATA2为首的5个内存单元中,相加结果被送回DATA1处。
程序中先要把加数与被加数由十进制ASCII码转化为十六进制的数字串,然后将他们进行带进位相加并做AAA调整,然后将结果保存。
六、程序清单:
定义堆栈段:
STACK_SEGSEGMENTPARASTACK
'
STACK'
DB100DUP(?
)
STACK_SEGENDS
;
定义数据段
DATA_SEGSEGMENTPARAPUBLIC'
DATA'
定义被加数与加数(DATA1\DATA2)的存放(低位在前):
DATA1DB'
4'
'
A'
5'
9'
C'
DATA2DB'
6'
8'
1'
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
MOVBX,05H
AD3:
ADDBYTEPTR[SI+BX-1],30H
ADDBYTEPTR[DI+BX-1],30H
JNZAD3
RET
ADDAENDP
CODE_SEGENDS
ENDSTART
七、实验体会:
通过本次实验学会了对DVCC实验系统的使用。
同时编写了一个代码,在DVCC实验系统上编译,发现如果编译成功的话,出现的结果会是errornotincluded.一旦出现错误就需要根据所在的行进行结果。
至于实验的结果由于还没有连接硬件和以上程序没有显示的代码。
所以在masm下演示出结果。
硬件实验
一、实验目的:
加深理解逐次逼近模数转换器的特征和工作原理,掌握ADC0809的接口方法以及A/D输入程序的设计和调试方法。
2.1系统硬件安装(各种开关设置和连线必须在断电状态下进行)
2.1.1设置实验台开关:
开关名称
开关位
ON/OFF
KB1
1--5
6--10
OFF
ON
KB2
1--2
KB3
1--8
KB4
KB5
KBB卧式
86
KBB立式
2.1.2设置短路块:
DL3-DL4:
3-4位相联
2.1.3安装插板:
将88CPU卡插入J6和J9;
2.1.4实验台通电:
打开实验台电源,显示闪烁的‘P’为正常;
否则,不正常,关掉电源检查。
2.2当DVCC微机仿真实验系统独立工作时
八、将固化区EPROM中实验程序目标码传送到仿真RAM区,操作如下:
输入0后按F1键,再输入0FFF后按F2键,再输入0后按EPMOV稍等,系统返回初始状态,显示“P.”。
九、按F2键进入仿真1态,仿真实验系统显示闪动“P.................."
时,根据表一所示,通过键盘输入实验程序的起始地址0030H,再按执行键EXEC,表示连续运行该程序,稍后,按RESET键退出运行,如果以单步运行程序,则输入0300后,按STEP键,按一次执行一条语句,直到执行到003CH为止,按MON键退出运行,如果以断电运行程序,则先输入003C,再按F1键,再输入0030,然后再按EXEC键执行程序,当执行到003CH时自动停下来,此时按MON键退出。
十、用存储器读写方法检查7000H-70FFH中的内容应为00H。
通过本次实验,对硬件的设置有了一定的了解,同时通过硬件上的键盘输入相应的数据,得到与理论上相同的结果。
由于实验箱上缺少一些按钮和有些数码管的路线坏了,导致无法得到理想中的结果。
但是可以很确定它的有效性,得到验证。
并行口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的亮灯情况完全一样,同理也可验证其他的灯。
十一、实验参考程序:
ORG0630H;
?
HA4S:
MOVSP,#60H
MOVDPTR,#0FF2BH
MOVA,#80H
MOVX@DPTR,A
MOVDPTR,#0FF29H
MOVA,#49H
INCDPTR
MOVR2,#25H
LCALLDELAY
HA4S3:
MOVA,#08H
MOVA,#61H
MOVR2,#55H
MOVR7,#05H
HA4S1:
MOVA,#04H
MOVA,#51H
MOVR2,#20H
MOVA,#00H
MOVA,#41H
DJNZR7,HA4S1
MOVA,#03H
MOVA,#0cH
MOVR7,#05H
HA4S2:
MOVA,#02H
MOVA,#8aH
DJNZR7,HA4S2
LJMPHA4S3
DELAY:
PUSH02H
DELAY1:
DELAY2:
DELAY3:
DJNZR2,DELAY3
POP02H
DJNZR2,DELAY2
DJNZR2,DELAY1
DJNZR2,DELAY
END
定时、计数器8253A应用
学习8253A可编程定时、计数器与8088CPU的接口方法;
了解8253A的工作方式;
掌握8253A在各种方式下的编程方法。
8253A的A0、A1接系统地址总线A0、A1,故8253
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 南昌 航空 大学 微机 原理 接口 技术 实验 报告