微机实验指导书(最终版)_第1页
微机实验指导书(最终版)_第2页
微机实验指导书(最终版)_第3页
微机实验指导书(最终版)_第4页
微机实验指导书(最终版)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、试验一 熟悉汇编环境以及初级程序的编写与调试一 实验目的1熟悉掌握DEBUG的常用命令,学会用DEBUG调试程序。2了解数据在存储器中的存取方法以及堆栈中数据的压入与弹出。3掌握各种寻址方法及简单指令的执行过程。二 试验要求1实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析。2本实验要求在PC机上进行。3本实验只要求在DEBUG调试程序状态下进行,包括汇编程序、调试程序、执行程序。三 实验内容1熟悉DEBUG的常用命令(1)汇编命令A 格式:A 【段寄存器名】:【偏移地址】 A 【段地址】:【偏移地址】 A 【偏移地址】 A功能:用该命令可以将汇编语言程序直接汇

2、编进入内存。当键入A命令后,显示段地址和偏移地址等待用户键入汇编指令,每键入一条汇编指令回车后,自动显示下一条指令的段地址和偏移地址,再键入下一条汇编指令,直到汇编语言程序全部键入,又显示下一条地址时可直接键入回车回到提示符“”为止。其中的段地址在段地址寄存器中,因此在使用该命令时必须将段地址寄存器送入段地址,的段地址在CS中,的段地址在CS中,偏移地址为100H。(2)执行程序命令G和单步执行程序T功能:用该G命令可直接执行汇编语言程序;用T命令可单步执行汇编语言程序并显示当前寄存器内容(3)显示内存命令D格式:D 地址 D 地址范围 D功能:显示指定内存范围的内容。(4)修改存储单元内容命

3、令E格式:E 地址内容表 E地址功能:用命令所给定的内容表去代替指定地址范围的内存单元内容。 一个单元一个单元的连续修改单元内容。其中:内容表为一个十六进制数或一串十六进制数,也可以是用单引号括起的一串字符。(5)检查和修改寄存器内容命令R 格式:R R 寄存器名 功能:显示CPU内部所有寄存器的内容和全部标志位的状态。 显示和修改一个指定寄存器的内容和标志位的状态。2. 设堆栈指针SP=2000H,AX=3000H,BX=5000H;请编一程序段将AX的内容和BX的内容进行交换。请用堆栈作为两寄存器交换内容的中间存储单元,用DEBUG调试程序进行汇编与调试。编程提示:将两个寄存器的内容进行交

4、换时,必须有一个中间寄存器才能进行内容的交换。如果用堆栈作为中间存储单元,必须遵循“先进后出”的原则。3. 设DS=当前段地址,BX=0300H,SI=0002H;请用DEBUG的命令将存储器偏移地址0300H0304H连续单元顺序装入0AH,0H,0CH,0DH,0EH。在DEBUG状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程,当数据传送完毕时,AX中的内容是什么。程序清单如下:MOV AX,BXMOV AX,0304HMOV AX,0304HMOV AX,BXMOV AX,0001BXMOV AX,BXSIMOV AX,0001BXSIHLT编程提示:(1)其中数据

5、段寄存器中的段地址为进入DEBUG状态后系统自动分配的段地址。(2)寄存器初值可以在DEBUG状态下,用命令装入,也可以在程序中用指令来完成。(3)在执行程序前,可用E命令将偏移地址300H304H送入0AH,0BH,0CH,0DH,0EH。(4)用T命令执行程序,可进行单步跟踪执行,每执行一条指令就可以看到各寄存器的状态,也可以用R命令直接调出寄存器,来检验各寄存器内容是否正确。四 实验报告1. 用实验数据记录表记录程序清单和单步执行结果说明:程序清单需详细记录,单步执行结果只需记录有变化或有操作的寄存器值,实验内容3还需记录是何种寻址方式。2. 实验报告需包括详细的实验目的、实验要求、实验

6、内容和实验数据记录表3. 记录上机调试的情况、上机调试步骤、调试过程中所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。试验二 加法及判断程序的编写与调试实验一 实验目的1. 熟练掌握编写汇编语言源程序的基本方法和基本框架。2. 学会编写顺序结构、分支结构和循环结构的方法。3. 掌握程序中数据的产生与输入输出的方法。二 实验要求1实验前准备 (1)分析题目,将程序中的原始数据、中间结果和最终结果的存取方式确定好。(2)写出算法或画出流程图。(3)写出源程序。(4)对程序中结果进行分析,并准备好上机调试与用汇编程序及汇编调试的过程。2. 本实验要求在PC机上进行。3.

7、汇编过程中出现问题,可用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>0y=0 当x=01 当x<0编程提示:(1)

8、首先将原始数据(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)在masm for windows环境下完成该程序(7)参考程序流程图如图2-2所示。图2-2 参考程序流程图(8)参考程序清单如下DATAS SEGMENT ;此处输入数据段代码 data1 db 05h

9、,0fch,00h;补充数据3,100,-51 Y1 db 'Y=1',0dh,0ah,'$' ;定义Y2存放Y=0 ;定义Y3存放Y=-1DATAS ENDSSTACKS SEGMENT ;此处输入堆栈段代码STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX ;此处输入代码段代码 ;将data1偏移地址送SI mov ax,0000h ;将循环次数送计数寄存器loop1: ;取data1数据到AL以比较 ;将data1数据与0进行比较

10、;大于跳转到NEXT1 ;等于跳转到NEXT2 MOV DX,OFFSET Y3 JMP OUTPUTNEXT1: ;Y1输出部分NEXT2:;Y2输出部分OUTPUT:MOV AH,09HINT 21H;SI自加;跳转到下一位数 MOV AH,4CH INT 21HCODES ENDS END START四 实验报告1. 用实验数据记录表记录程序清单和程序执行结果。说明:程序清单需详细记录,并尽可能地加上注释 2. 实验报告需包括详细的实验目的、实验要求、实验内容、流程图和实验数据记录表。3. 记录上机调试的情况、上机调试步骤、调试过程中所遇到的问题是如何解决的,并对调试过程中的问题进行分析

11、,对执行结果进行分析。实验三8253定时器 / 计数器一、实验目的 学会8253芯片和微机接口的原理和方法。. 掌握8253定时器/计数器的工作方式和编程原理。二、实验内容 用8253的0通道工作在方式3,产生方波。图3-1 实验接线图8253芯片介绍8253是一种可编程定时/计数器,有三个十六位计数器,其计数频率范围为0-2MHz, 用+5V单电源供电。 8253的功能用途:延时中断实时时钟可编程频率发生器数字单稳事件计数器复杂的电机控制器二进制倍频器 28253的六种工作方式:方式0:计数结束中断方式3:方波频率发生器方式l:可编程频率发生 方式4:软件触发的选通信号方式2:频率发生器 方

12、式5:硬件触发的选通信号三、实验步骤 1 按图3-1连好实验线路 (使用计数器0) (1)8253的GATE0接+5V。 (2)8253的CLK0插孔接分频器74LS393(左下方)的T6插孔,分频器的频率源为1.8432MHZ,T1.8432MHZ。(3) 8253的OUT0接L12编写实验程序 (注:8253在实验箱中分配的地址为0040H0043H,8253对应0043H,计数器0对应0040H)编程提示如下:(注意将文件保存为.asm文件)CODE SEGMENT ASSUME CS:CODEORG 1290H START:JMP TCONTTCONT:;写入控制字(计数器0,工作方式

13、);写入初值低8位到计数器0,用于调整方波频率;写入初值高8位到计数器0,用于调整方波频率CODE ENDSEND START3打开实验箱电源,在86PCI软件环境下调试程序,步骤为编译-加载-连续运行。(注:如程序有语法错误编译会比较慢,请耐心!)四 实验报告1. 用实验数据记录表记录程序清单和程序执行结果。说明:程序清单需详细记录,并尽可能地加上注释 2. 实验报告需包括详细的实验目的、实验要求、实验内容、,流程图、硬件结构图和实验数据记录表。3. 记录上机调试的情况、上机调试步骤、调试过程中所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。实验四8255A并行口

14、实验一、实验目的 掌握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在实验箱中分配的地址为0FF28H0FF2BH,8255A对应0FF2BH,PA口对应0FF28H,PB口对应0FF29H)图4-2 8255实验流程图编程提示如下:(注意将文件保存为.asm文件)CODE SEGMENT ASSUME CS:CODEORG 11B0H START:;写入控制字(工作方式0,PA口输入,PB口输出)BG:;读取PA口开关量到AL;将读取的PA口开关量信号送PB口输出 ;无条件传送(直接传送)CODE ENDS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论