微机实验指导书最终版课件.docx
《微机实验指导书最终版课件.docx》由会员分享,可在线阅读,更多相关《微机实验指导书最终版课件.docx(13页珍藏版)》请在冰豆网上搜索。
微机实验指导书最终版课件
试验一熟悉汇编环境以及初级程序的编写与调试
一实验目的
1.熟悉掌握DEBUG的常用命令,学会用DEBUG调试程序。
2.了解数据在存储器中的存取方法以及堆栈中数据的压入与弹出。
3.掌握各种寻址方法及简单指令的执行过程。
二试验要求
1.实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析。
2.本实验要求在PC机上进行。
3.本实验只要求在DEBUG调试程序状态下进行,包括汇编程序、调试程序、执行程序。
三实验内容
1.熟悉DEBUG的常用命令
(1)汇编命令A
格式:
A【段寄存器名】:
【偏移地址】
A【段地址】:
【偏移地址】
A【偏移地址】
A
功能:
用该命令可以将汇编语言程序直接汇编进入内存。
当键入A命令后,显示段地址和偏移地址等待用户键入汇编指令,每键入一条汇编指令回车后,自动显示下一条指令的段地址和偏移地址,再键入下一条汇编指令,直到汇编语言程序全部键入,又显示下一条地址时可直接键入回车回到提示符“—”为止。
其中
的段地址在段地址寄存器中,因此在使用该命令时必须将段地址寄存器送入段地址,
的段地址在CS中,
的段地址在CS中,偏移地址为100H。
(2)执行程序命令G和单步执行程序T
功能:
用该G命令可直接执行汇编语言程序;用T命令可单步执行汇编语言程序并显示当前寄存器内容
(3)显示内存命令D
格式:
D[地址]
D[地址范围]
D
功能:
显示指定内存范围的内容。
(4)修改存储单元内容命令E
格式:
E[地址][内容表]
E[地址]
功能:
用命令所给定的内容表去代替指定地址范围的内存单元内容。
一个单元一个单元的连续修改单元内容。
其中:
内容表为一个十六进制数或一串十六进制数,也可以是用单引号括起的一串字符。
(5)检查和修改寄存器内容命令R
格式:
R
R[寄存器名]
功能:
显示CPU内部所有寄存器的内容和全部标志位的状态。
显示和修改一个指定寄存器的内容和标志位的状态。
2.设堆栈指针SP=2000H,AX=3000H,BX=5000H;请编一程序段将AX的内容和BX的内容进行交换。
请用堆栈作为两寄存器交换内容的中间存储单元,用DEBUG调试程序进行汇编与调试。
编程提示:
将两个寄存器的内容进行交换时,必须有一个中间寄存器才能进行内容的交换。
如果用堆栈作为中间存储单元,必须遵循“先进后出”的原则。
3.设DS=当前段地址,BX=0300H,SI=0002H;请用DEBUG的命令将存储器偏移地址0300H~0304H连续单元顺序装入0AH,0H,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)其中数据段寄存器中的段地址为进入DEBUG状态后系统自动分配的段地址。
(2)寄存器初值可以在DEBUG状态下,用命令装入,也可以在程序中用指令来完成。
(3)在执行程序前,可用E命令将偏移地址300H~304H送入0AH,0BH,0CH,0DH,0EH。
(4)用T命令执行程序,可进行单步跟踪执行,每执行一条指令就可以看到各寄存器的状态,也可以用R命令直接调出寄存器,来检验各寄存器内容是否正确。
四实验报告
1.用实验数据记录表记录程序清单和单步执行结果
说明:
程序清单需详细记录,单步执行结果只需记录有变化或有操作的寄存器值,实验内容3还需记录是何种寻址方式。
2.实验报告需包括详细的实验目的、实验要求、实验内容和实验数据记录表
3.记录上机调试的情况、上机调试步骤、调试过程中所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。
试验二加法及判断程序的编写与调试实验
一实验目的
1.熟练掌握编写汇编语言源程序的基本方法和基本框架。
2.学会编写顺序结构、分支结构和循环结构的方法。
3.掌握程序中数据的产生与输入输出的方法。
二实验要求
1.实验前准备
(1)分析题目,将程序中的原始数据、中间结果和最终结果的存取方式确定好。
(2)写出算法或画出流程图。
(3)写出源程序。
(4)对程序中结果进行分析,并准备好上机调试与用汇编程序及汇编调试的过程。
2.本实验要求在PC机上进行。
3.汇编过程中出现问题,可用DEBUG进行调试。
三实验内容
1.设AX=0002H,编写一个程序段将AX的内容乘以10,要求用移位的方法完成。
编程提示:
(1)用移位的方法完成某些乘法运算,是较为常见的方法,操作数左移一位为操作数乘2运算。
(2)算式2×10的程序流程图如图2-1所示。
(3)注意计数寄存器CX的使用
(3)在DEBUG环境下完成该程序并用T命令单步跟踪执行程序。
图2-1流程图
2.假设有一组数据:
5,-4,0,3,100,-51,请编写一程序,判断:
每个数大于0,等于0,还是小于0;并输出其判断结果。
即:
1当x>0
y=0当x=0
-1当x<0
编程提示:
(1)首先将原始数据(5,-4,0,3,100,-51)装入起始地址为xx的字节存储单元中。
(2)将判断结果以字符串的形式存放在数据区中,以便在显示输出时调用。
(3)其中判断部分可采用CMP指令,得到一个分支结构,分别输出“Y=0”,“Y=+1”,“Y=-1”。
(4)注意对有符号数控制转移指令的使用(JGE,JG,JE,JL等)
(5)程序中存在一个循环结构,循环6次,调用6次分支结构后结束。
(6)在masmforwindows环境下完成该程序
(7)参考程序流程图如图2-2所示。
图2-2参考程序流程图
(8)参考程序清单如下
DATASSEGMENT
;此处输入数据段代码
data1db05h,0fch,00h;补充数据3,100,-51
Y1db'Y=1',0dh,0ah,'$'
;定义Y2存放Y=0
;定义Y3存放Y=-1
DATASENDS
STACKSSEGMENT
;此处输入堆栈段代码
STACKSENDS
CODESSEGMENT
ASSUMECS:
CODES,DS:
DATAS,SS:
STACKS
START:
MOVAX,DATAS
MOVDS,AX
;此处输入代码段代码
;将data1偏移地址送SI
movax,0000h
;将循环次数送计数寄存器
loop1:
;取data1数据到AL以比较
;将data1数据与0进行比较
;大于跳转到NEXT1
;等于跳转到NEXT2
MOVDX,OFFSETY3
JMPOUTPUT
NEXT1:
;Y1输出部分
NEXT2:
;Y2输出部分
OUTPUT:
MOVAH,09H
INT21H
;SI自加
;跳转到下一位数
MOVAH,4CH
INT21H
CODESENDS
ENDSTART
四实验报告
1.用实验数据记录表记录程序清单和程序执行结果。
说明:
程序清单需详细记录,并尽可能地加上注释
2.实验报告需包括详细的实验目的、实验要求、实验内容、流程图和实验数据记录表。
3.记录上机调试的情况、上机调试步骤、调试过程中所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。
实验三 8253定时器/计数器
一、实验目的
⒈ 学会8253芯片和微机接口的原理和方法。
⒉.掌握8253定时器/计数器的工作方式和编程原理。
二、实验内容
用8253的0通道工作在方式3,产生方波。
图3-1实验接线图
⒈ 8253芯片介绍
8253是一种可编程定时/计数器,有三个十六位计数器,其计数频率范围为0-2MHz,用+5V单电源供电。
8253的功能用途:
⑴ 延时中断⑸ 实时时钟
⑵ 可编程频率发生器⑹ 数字单稳
⑶ 事件计数器⑺ 复杂的电机控制器
⑷ 二进制倍频器
2.8253的六种工作方式:
方式0:
计数结束中断 ⑷ 方式3:
方波频率发生器
⑵ 方式l:
可编程频率发生 ⑸ 方式4:
软件触发的选通信号
⑶ 方式2:
频率发生器 ⑹ 方式5:
硬件触发的选通信号
三、实验步骤
1 按图3-1连好实验线路(使用计数器0)
(1) 8253的GATE0接+5V。
(2) 8253的CLK0插孔接分频器74LS393(左下方)的T6插孔,分频器的频率源为1.8432MHZ,T→1.8432MHZ。
(3)8253的OUT0接L12
⒉编写实验程序(注:
8253在实验箱中分配的地址为0040H~0043H,8253对应0043H,计数器0对应0040H)
编程提示如下:
(注意将文件保存为.asm文件)
CODESEGMENT
ASSUMECS:
CODE
ORG1290H
START:
JMPTCONT
TCONT:
;写入控制字(计数器0,工作方式)
;写入初值低8位到计数器0,用于调整方波频率
;写入初值高8位到计数器0,用于调整方波频率
CODEENDS
ENDSTART
.打开实验箱电源,在86PCI软件环境下调试程序,步骤为编译-加载-连续运行。
(注:
如程序有语法错误编译会比较慢,请耐心!
)
四实验报告
1.用实验数据记录表记录程序清单和程序执行结果。
说明:
程序清单需详细记录,并尽可能地加上注释
2.实验报告需包括详细的实验目的、实验要求、实验内容、,流程图、硬件结构图和实验数据记录表。
3.记录上机调试的情况、上机调试步骤、调试过程中所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。
实验四 8255A并行口实验
一、实验目的
⒈ 掌握8255A和微机接口方法。
⒉掌握8255A的工作方式和编程原理。
二、实验内容
用8255PA口控制PB口。
图4-1实验接线图
⒈ 8255A芯片简介:
8255A可编程外围接口芯片是INTEL公司生产的通用并行接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:
方式0:
基本输入/输出方式
方式l:
选通输入/输出方式
方式2:
双向选通工作方式
⒉使8255A端口A工作在方式0并作为输入口,读取Kl-K8开关量,PB口工作在方式0作为输出口,控制L1-L8发光二极管,采用无条件传送方式传送数据。
三、实验步骤
⒈按图4-1连好实验线路
(1)8255A芯片A口的PA0-PA7依次和开关量输入Kl-K8相连。
(2)8255A芯片B口的PB0-PB7依次接Ll-L8。
⒉按图4-2编写实验程序(注:
8253在实验箱中分配的地址为0FF28H~0FF2BH,8255A对应0FF2BH,PA口对应0FF28H,PB口对应0FF29H)
图4-28255实验流程图
编程提