模板4微型计算机原理与接口技术实验指导答案.docx
《模板4微型计算机原理与接口技术实验指导答案.docx》由会员分享,可在线阅读,更多相关《模板4微型计算机原理与接口技术实验指导答案.docx(13页珍藏版)》请在冰豆网上搜索。
模板4微型计算机原理与接口技术实验指导答案
实验一DEBUG的启动及其基本命令的使用
一、实验学时
1学时。
二、实验目的
掌握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”的加法程序
六、实验报告:
1.实验目的
用汇编语言编写一个计算“3+5”的加法程序,熟悉DEBUG的用法。
2.程序清单
DSEGSEGMENT'DATA'
adb3
bdb5
sumdb?
DSEGENDS
SSEGSEGMENTSTACK'STACK'
DW100hDUP(?
)
SSEGENDS
CSEGSEGMENT'CODE'
START:
MOVAX,DSEG
MOVDS,AX
MOVES,AX
MOVAL,a
ADDAL,b
MOVsum,AL
CSEGENDS
ENDSTART
3.试验中出现的问题及解决方法
开始在用MOV函数取数据值时,地址和变量这两个参数的顺序弄混淆了,结果不能正确取出变量的值,最后导致求和失败,解决的办法是调整MOV函数两个参数的顺序就能正确求解出两个变量的和。
4.写出在DEBUG状态下编写、运行程序的过程以及调试所中遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。
无
实验二存储器(RAM6264)扩展
一、实验学时
2学时。
二、实验目的
1.熟悉随机存储器RAM6264的使用方法及计算机扩展存储器的方法。
2.了解PC机62芯总线信号的定义及其选用方法。
3.掌握对外部存储器进行读、写的编程方法。
4.学习用软件编辑、汇编、连接和调试源程序。
三、实验设备
计算机;微机原理实验系统;RAM6264芯片。
四、实验内容
1.设计扩展一片数据存储器6264芯片实验系统的外部存储器。
2.设计一段程序,将一组数据(00H,01H,02H,…,0FEH,0FFH)传送到扩展的外部数据存储器6264中去。
五、实验原理
6264是8K×8位的静态随机读写存储器。
微处理器通过数据总线、地址总线和控制总线与存储器连接。
6264有13条地址线A0~A12。
其片选信号由译码电路产生。
计算机通过总线信号MEMR、MEMW对6264进行读写处理。
六.编程提示
1.通过实验接线图,确定扩展的6264在实验系统中的地址范围。
2.扩展的6264的段地址送入段寄存器DS,偏移地址送入BX。
七.实验步骤
1.按实验要求连接硬件线路;
2.编辑按实验要求设计的汇编语言源程序;
3.汇编、连接汇编语言源程序生成可执行文件;
4.装载可执行文件,调试、运行程序并检验、记录结果;
八.预习要求
1.复习有关存储器及其扩展的内容;
2.复习PC机62芯总线信号的内容;
3.按照实验要求事先设计好有关硬件线路;
4.按照实验要求事先设计、编写好汇编语言源程序。
九.实验报告
1.画出硬件原理图,分析各部分的功能。
2.写出程序清单并进行注释。
1.试编一程序,把地址偏移量为100H单元开始的256个单元分别写入00H,01H,02H,03H,…,FFH数据。
源程序如下
DATASEGMENT;定义数据段
COUNTEQU256;定义数据单元的个数
DATAENDS;数据段定义结束
STKSEGMENT;定义堆栈段
STACKDB100DUP(?
)
STKENDS;堆栈段定义结束
CODESEGMENT;定义代码段
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,2000H;6264高位地址
MOVDS,AX;设置为数据段段地址
MOVSI,0;偏移地址设置为0
MOVCX,COUNT;计数个数
XORAL,AL;AL清零,第一个要传送的数据
NEXT:
MOV[SI],AL;数据传送
INCAL;传送的数据加1
INCSI;地址加1
LOOPNEXT;CX-1不等于0则循环
MOVAH,4CH
INT21H;停机
CODEENDS;代码段结束
ENDSTART
3.画出程序流程框图。
代码1流程
4.分析调试、运行结果。
5.RAM6264的存储空间有多大?
寻址范围是多少?
RAM6264的存储空间为8K,寻址范围为20000H-21FFFH。
实验三8259A中断控制器实验
一、实验学时:
2学时。
二、实验目的:
1.了解8259A中断控制器的工作原理。
2.了解PC机中断的原理和过程。
3.学会中断处理程序的编写。
三、实验设备:
EAT598三合一实验箱,或其他微机原理与接口技术类试验箱(台);计算机;各种连接线。
四、实验内容
1.实验电路
2.实验连线
+PLUSE接8259的INT_0;8259上的INT接EAT598_88CPU板上的INTR;8259上的INTA59接EAT598_88CPU板上的88/INTA;CS8259接200H。
3.实验方法
(1)运行LCA88软件后,先加载主程序。
打开示例程序8259A_88.ASM,在“设置”-“仿真机”中设置加载地址为8100:
0,“编译”-“编译连接”。
再打开中断服务程序IRQ0_88.ASM,加载地址设为8200:
0,编译连接。
(2)“窗口”-“对话窗口”,键入“SW0:
0020↙”,“0000,8200”,“G8100:
0↙”,“Y”。
此时数码管显示“IRQ”,说明中断设置准备完毕,可以开始进入中断
(3)按下21模块的白色按键,进入中断,数码管显示“IRQ0”,中断服务程序执行完毕后,数码管显示“E_IRQ”。
4.实验程序框图
五、实验报告
1.实验目的
1.了解8259A中断控制器的工作原理。
2.了解PC机中断的原理和过程。
3.学会中断处理程序的编写。
2.程序清单
3.试验中出现的问题及解决方法
在编程过程中刚开始不知道怎么清除中断标志,后来通过参考教材做实验发现,在进入中断后,MCU会自动把全局中断位GIE清零,这样在进入本中断后就不会再相应其他中断,若要进行中断嵌套,必须在进入中断后把GIE再置1。
4.画出实验模块电路并标出实验连线。
5.试叙述基于8086/8088的微机系统处理硬件中断的过程。
答:
8086在中断响应时,自动将标志寄存器FR和断点(CS和IP)的值入栈保存,但不将别的其它寄存器的值入栈保存,故如果中断服务程序中用到其它寄存器时,应单独使用指令将其它寄存器的值入栈保存,等中断返回前再将其恢复。
这一步骤称为保护现场和恢复现场。
保护现场和恢复现场应后进先出。
8086只对可屏蔽中断的响应输出2个总线周期的INTA,并在第2个INTA期间到DB的低8位读入中断类型码,而对其它类型的中断,由于中断类型码是固定的,不用到DB读取,故没有2个INTA总线周期。
6.8259A中断控制器的功能是什么?
答:
8259A中断控制器可以接受8个中断请求输入并将它们寄存。
对8个请求输入进行优先级判断,裁决出最高优先级进行处理,它可以支持多种优先级处理方式。
8259A可以对中断请求输入进行屏蔽,阻止对其进行处理。
8259A支持多种中断结束方式。
8259A与微处理器连接方便,可提供中断请求信号及发送中断类型码。
8259A可以进行级连以便形成多于8级输入的中断控制系统。
高等教育自学考试实验报告评分栏
完成实验数量:
___________________________________________
实验单位:
_______________________________________(公章)
实验日期:
___________________________________________
指导教师:
___________________________________________
指导教师初评成绩:
_______________________________________
主考院校审定成绩:
_______________________________________
审定成绩时间:
___________________________________________