《微机原理与应用技术》实验指导书
微机原理及应用实验指导书
目录第一章概述 (1)第二章伟福实验系统组成和结构 (3)第三章 8088/86 CPU系列实验 (12)软件实验1. 存储器块清零实验 (13)2. 二进制到BCD码转换实验 (15)3. 二进制到ASCII码转换实验 (17)4. 内存块移动实验 (19)5.多字节加法实验 (21)6.乘法实验实验 (23)7.子程序调用实验 (25)8.数据排序实验 (26)硬件实验1.8255输入输出实验 (28)2.8253计数器实验 (30)3.8253定时器实验 (32)4.8259外部中断实验 (34)5.A/D转换实验 (36)6.8250串行口通讯实验 (38)第一章概述《微机原理及应用》实验采用伟福Lab2000仿真实验系统,本仿真实验系统由板上仿真器、实验仪、伟福仿真软件、开关电源构成。
1.1系统实验板本实验板提供以下实验(1)数模变换电路(2)模数变换电路(3)逻辑电平输入开关(4)逻辑电平显示电路(5)单脉冲电路(6)逻辑笔电路(7) 1MHz及500KHz脉冲信号源(8) PWM转换电压电路(9)模拟量电压(电位器)电路(10)串口通信实验电路(11)扬声器驱动电路(12)继电器控制电路(13)逻辑门电路(14)六位8段码LED数字显示器(15)4x6键盘(16)存贮器(17)通用集成电路插座(DIP40/28/24/20/18/16/14)(18)地址,数据及控制电路总线接出插座通过可选附件还可以扩展完成以下实验:(19)步进电机实验(20)打印机驱动实验(21)传感器实验(22)直流电机实验1.2 仿真器系统构成本仿真实验系统具有三种使用方法:(1)无系统机,仅用实验仪的板上仿真器进行仿真和实验。
(2)有系统机,用系统机上的WINDOWS/DOS软件驱动板上仿真器进行仿真和实验。
(3)有系统机、用外接仿真器进行仿真和实验。
(4)无实验仪、无仿真器,仅在系统机上采用软件模拟方式进行仿真。
微机原理及应用试验指导书
微机原理及应用实验指导书董珂编写电气与自动化工程学院专业实验中心2006年9月目录第一章系统概述 (1)系统组成 (1)系统介绍 (1)系统资源分配 (2)第二章软件实验 (3)实验一内存操作数及寻址方法 (4)实验二清零程序 (8)实验三逻辑运算程序 (9)实验四拆字及位移程序 (10)实验五拼字程序及分支程序、堆栈程序 (12)实验六数据区移动 (14)实验七数据排序实验 (16)实验八串操作 (18)实验九32位二进制乘法 (22)实验十多分支程序设计 (25)实验十一子程序 (29)第三章硬件实验 (33)实验一简单I/O口扩展 (33)实验二8259中断控制器实验 (35)实验三8255A并行口实验(一)方波 (40)实验四8255A并行口实验(二)PA输入,PB输出 (42)实验五8255A并行口实验(三)控制交通灯 (45)实验六定时/计数器8253方波 (49)实验七8253实验二 (52)实验八继电器控制 (55)实验九8251串口实验(一)自发自收 (57)实验十8251串口实验(二)8251发送26个字母 (61)实验十一步进电机控制 (65)实验十二时、分、秒显示实验 (67)实验十三8259中断嵌套 (72)第四章仿真实验系统键盘监控简介 (73)键盘/显示使用 (73)键盘监控程序简介 (73)第一章系统概述系统组成Dais系列单片机微机仿真实验系统的8088/8086微机接口实验是由管理CPU89C52单元、目标CPU8088/8086单元、接口实验单元和内置稳压电源组成,通过RS232C串行接口与PC微机相连,系统硬件主要内容如下:系统介绍(1)自带键盘、显示器,能独立运行,也可以PC微机为操作平台。
(注意:PC微机必须与本实验系统保持联机状态,即软件界面右上角有编译进度条)(2)系统采用紧耦合多CPU技术,用89C52作为系统管理CPU,8088/8086作为目标接口扩展实验CPU。
《微机原理及应用》实验指导书2014.11.29要点
《微机原理与接口》实验指导书实验概述 (1)基于PC的8086汇编程序实验 (2)2.1 实验一调试程序debug.exe的使用 (2)2.2 实验二汇编与宏汇编程序 (12)2.3 实验三汇编程序设计1 (14)2.4 实验四汇编程序设计2 (15)2.5 实验五汇编程序设计3 (16)实验概述《微机原理及应用》的实验项目由两大部分组成:软件部分是基于PC的8086汇编程序实验,这一部分的实验不需要使用实验箱,直接在PC机上进行。
进行汇编程序实验,需要PC机安装相应的汇编程序软件包,例如microsoft 的宏汇编或其它类似汇编软件。
通过这一部分的实验使学生掌握汇编程序的编写、汇编、连接与调试过程,同时进行一些基于PC的汇编源程序的编写。
在汇编源程序中,可以使用微机的BIOS功能调用与DOS功能调用。
硬件部分(略)1、常用MS-DOS命令功能1.1如何切换Win与DOS环境(1) “开始”-“所有程序”-“附件”-“命令提示符”;若要实现全屏显示可设置“命令提示符-属性”-“选项”-“全屏”(2) 在DOS环境下退回Win:EXIT1.2常用DOS命令(1) 盘切换C:\>D: 回车(2) DIR (directory)(DIR /p/w):列当前文件夹下文件与文件夹(3) MD (make directory):在当前文件夹下新建文件夹(4) CD(change directory):目录切换CD\ :回到根目录CD.. :返回前级目录(5) RD(remove directory):可在前一级目录下删除某空目录(6) DEL(delete):删除文件DEL SY1_1.ASM ;DEL *.*(7) COPY :拷贝文件COPY SY1_1.ASM SY1_2.ASM(8) REN(rename):文件重命名REN MY1_1.ASM SY1_1.ASM基于PC的8086汇编程序实验本章将介绍PC机上的debug.exe的使用,以及采用宏汇编软件的使用。
微机原理及应用实验指导书
《微机原理及应用》实验指导书安阳工学院电子信息与电气工程学院目录第一章 TPC-USB实验系统介绍 (1)第二章 TPC-USB实验系统硬件环境 (2)2.1 USB模块介绍 (2)2.1.1 USB模块功能 (2)2.1.2 USB模块的安装 (2)2.1.3 USB模块连接测试 (2)2.2 扩展实验台结构及主要电路 (3)2.2.1 实验台上包括的主要电路 (3)2.2.2 用户扩展实验区 (8)2.2.3 实验台跳线开关 (9)2.2.4 直流稳压电源 (9)第三章 TPC-USB集成软件开发环境 (10)3.1 TPC-USB集成开发环境简介 (10)3.2 TPC-USB集成开发环境的使用 (10)3.2.1 用户程序的编辑和编译 (10)3.2.2 编译源程序 (13)3.2.3 用户程序的调试和运行 (14)3.2.4 常用调试命令 (17)3.2.5 实验项目的查看和演示 (20)第四章实验部分 (22)实验一简单程序运行调试实验 (22)实验二汇编语言程序调试实验 (28)实验三简单并行接口实验 (30)实验四中断实验 (34)实验五可编程定时器/计数器实验 (38)实验六七段数码管实验 (42)第一章 TPC-USB实验系统介绍该系统由一块USB总线接口模块、一个扩展实验台及软件集成实验环境组成。
USB总线接口模块通过USB总线电缆与PC机相连,模块与实验台之间由一条50芯扁平电缆连接。
其主要特点如下:B总线接口使用ISP1581 USB2.0高速接口芯片,完全符合USB2.0规范。
提供了高速USB下的通信能力,即插即用。
2.实验台接口集成电路包括:可编程定时器/计数器(8253)、可编程并行接口(8255)、数/模转换器(DAC0832)、模/数转换器(ADC0809)等。
外围电路包括:逻辑电平开关、LED显示、七段数码管显示、8X8双色发光二极管点阵及驱动电路、直流电机步进电机及驱动电路、电机测速用光耦电路、数字测温传感器及接口电路、继电器及驱动电路、喇叭及驱动电路。
微机原理实验指导书
前言《微型计算机原理及应用》是一门实践性很强的专业技术基础课,因此,必须在课堂教学的基础上配以足够的实验或实践性教学环节,以便理论联系实际,使学生能深入理解课堂教学内容,加强学生动手能力,以加深对理论学习的理解和掌握,提高学生分析问题﹑解决问题的能力。
本实验指导书是《微型计算机原理及应用》一书的配套教材。
该实验指导书紧密结合教材内容,使用复旦大学科教仪器厂生产的FD-SJ8088A微机实验系统,合理安排了微机实验。
全书共分二部分。
第一部分汇编语言上机操作及程序调试方法及软件部分实验第二部分FD-SJ8088A微机实验系统介绍及硬件部分实验对于每一个实验都给出了实验目的﹑实验内容﹑预习要求﹑报告要求﹑实验提示﹑思考题。
实验提示部分我们仅给出部分文字提示和参考流程图,以作为学生自己编程时的参考。
我们主张学生在做实验前,必须要充分预习,充分准备,要依靠自己在实验前编出的程序,经过实验调试改正程序,得出正确的结果。
这样做实验,才能真正有收获,才能真正提高分析问题和解决问题的能力。
本实验指导书在编写的过程中,得到了本系的领导和老师的支持﹑指导和帮助,在此表示衷心的谢意。
由于编者水平有限,书中不妥或错误之处在所难免,欢迎大家在使用中提出宝贵意见。
编者2005年8月目录实验须知 (3)第一部分汇编语言上机操作及软件部分实验实验一汇编语言上机环境的熟悉和命令使用 (4)实验二利用D E B U G命令调试程序 (7)实验三利用中断指令进行输入输出程序设计 (9)实验四汇编语言综合编程实验 (11)第二部分硬件部分实验FD88调试软件 (12)实验五简单I/O接口控制实验 (21)实验六 8255 接口控制实验 (21)实验须知一、预习要求1.实验前认真阅读实验教程中有关内容,明确实验目的、内容和实验任务。
2.每次实验前做好充分的预习,对所需预备知识做到心中有数。
3.实验前应编好源程序,并对调试过程、实验结果进行预测。
微机原理及应用实验指导书
实验一:汇编语言的调试一. 实验目的学习程序设计的基本方法和技能,熟练掌握用汇编语言设计、编写、调试和运行程序的方法。
二. 实验设备1.PC微机一台三. 实验准备1.根据实验目的认真做好实验前的预习,记住操作方法;2.预先编制好实验用的程序,提高实验效率。
四. 实验要求程序调试完后,须由实验辅导教师在机器上检查运行结果,经认可后在实验指导书签字,才算完成。
每个实验完成后,应写出实验报告。
实验报告的要求如下:1.设计说明:说明程序的功能、结构、原理及算法。
2.调试说明:上机时遇到的问题及解决办法的调试情况,观察到的现象及其分析,对程序设计技巧的总结以及程序输出结果的分析,实验的心得体会等。
3.程序框图。
4.程序清单。
五. 实验内容、步骤1、汇编语言程序上机操作方法实验举例如下:例1.1 比较字符串bjchx试编写一程序,比较两个字符串string1和string2所含的字符是否相同,若相同则显示‘Match’,否则,显示‘No match’。
我们可以用串比较指令来完成题目所要求的功能。
上机过程如下:(1)建立asm文件在windows系统环境下,应用写字板编辑程序建立源文件。
(2)用汇编程序MASM对源文件汇编产生目标文件.OBJ在windows环境下,点击masm文件,而后输入.asm的文件名:C:>MASM ABC.ASM↙如汇编指示出错则需重新调用编辑程序修改错误,直到汇编通过为止。
如调试时需要用Lst文件,则应在汇编过程中建立该文件。
(3)用连接程序LINK产生可执行文件EXE在windows环境下,点击link文件,而后输入*.obj的文件名:C:>LINK ABC.OBJ↙(4) 执行程序在windows环境下,点击*.exe文件运行程序,也可在dos的环境下执行程序如下:C:>ABC↙Match.屏幕终端上显示出程序运行结果。
实验二:运算类指令编写一. 实验目的1.掌握使用运算类指令编程及调试方法;2.学会运用运算类指令解决实际问题的方法;3.掌握运算类指令对各状态标志位的影响及其测试方法。
《微机原理与应用》实验指导书
《微机原理与应用》实验指导书机械电子工程系机械工程学院实验一分支程序,查表程序编写实验一、实验目的1.掌握跳转指令2.掌握子程序调用指令3.掌握查表程序运用二、实验设备单片机IDE集成开发软件三、实验要求验证“实验原理”一节中给出的实例程序,熟悉各种跳转指令、子程序调用指令,以及查表程序编写方法。
四、实验原理作为软件实验,可以在没有硬件及仿真仪的情况下,利用集成开发环境进行。
1.跳转指令控制转移的指令包括无条件转移指令和有条件跳转指令。
(1)长跳转指令LJMP addr16长跳转,把16位(2个字节)的地址送入PC中。
〔2〕绝对转移指令AJMP addr11在存储空间2kB内转移。
与PC当前值高5位共同组成16位目标地址。
(3)短跳转指令SJMP rel8位补码表示的地址。
可以在-128到127之间跳转。
(4)间接跳转指令JMP @A+DPTR这是一条很有用的散转指令。
跳转地址在程序运行时动态决定。
(5)累加器判零转移指令JZ rel,JNZ rel,JZ rel,累加器为0转移,JNZ rel,累加器不为0转移。
(6)比较转移指令,CJNE <目的字节>,<源字节>,rel。
CJNE A,#data,relCJNE A,direct,relCJNE @Ri,#data,relCJNE Rn,#data,rel(8)循环转移指令DJNZ Rn,rel。
首先Rn减1,然后判断是否是零,不是则跳转。
DJNZ direct , rel。
首先直接地址中的数据减1,然后判断是否是零,不是则跳转。
(9)位控制转移指令JC rel,若Cy=1,则(PC)<--(PC)+2+rel若Cy=0,则(PC)<--(PC)+2JNC rel若Cy=0,则(PC)<--(PC)+2+rel若Cy=1,则(PC)<--(PC)+2JB bit,rel; 若(bit)=1,则(PC)<--(PC)+3+rel若(bit)=0,则(PC)<--(PC)+3JNB bit,rel若(bit)=0,则(PC)<--(PC)+3+rel若(bit)=1,则(PC)<--(PC)+3JBC bit,rel; 若(bit)=1,则(PC)<--(PC)+3若(bit)=0,则(PC)<--(PC)+3+rel,(bit)←02.子程序调用和返回指令。
微机原理与应用-实验指导书
微机原理与应用-实验指导书《微机原理与接口技术》实验指导书实验一程序的输入与执行一、实验目的1. 熟悉键盘使用方法;2.熟悉程序的输入与执行过程;3.通过实验了解程序和数据在RAM中的位置。
二、主要仪器及试材DSG一8086B实验系统一台三、实验方法与步骤将算式1AH+0FH+24H+4EH+18H+2DH=?编程序上机。
参考程序如下:MOV SI,3000HMOV CX,0006HXOR AL,ALAA:ADD AL,[SI]INC SIDEC CXJNZ AAMOV [3040H],ALHLT实验步骤:①将数据1AH,0FH,24H,4EH,18H,2DH输入数据区,即在提示符号>下按E3000,显示0000:3000=CC_按显示0000:3001=CC_按……….②检查输入的数据:方法一:在>下按D3000方法二:在>下按E3000③输入程序,在>下按A2000,显示:0000:2000 按MOVSI,3000……④执行程序:在>下按G=2000⑤检查结果:在>下按E3040四、实验注意事项实验设备上的开关键不能随意拨动!五、思考题如果将数据区的地址与程序的地址共同用一个地址,其结果怎样?实验二分支程序设计实验一、实验目的1. 掌握分支程序的结构;2. 掌握分支程序的设计、调试方法。
二、主要仪器及试材DSG 一8086B 实验系统一台三、实验方法与步骤设计一数据块间的搬移程序实验原理:程序要求把内存中一数据区(称为数据块)传送到另一存贮区(称为目的数据块)。
源数据块和目的数据块在存贮中可能有三种情况,如图2-1所示:图2-1实验程序如下(图2-1(a ))源数据块地址(H) 助记符注释MOV CX,0010MOV SI,310OMOV DI,3200L1:MOV AL ,[SI]MOV [DI],ALINC SIINC DIDEC CXJNZ L1HLT实验步骤①输入程序并检查无误;②用E命令,以SI为起址的单元中填入16个数;③G=2000,行实验程序④用D命令,看以DI为起址的单元中的数据是否与SI单元中数据相同;⑤试改变SI和DI的取值,察在三种不同的数据块情况下程序的运行。
微机原理技能实验指导书
微机原理及应用基本实训:实训一:A/D转换实验(2课时)【训练目标】了解模/数转换基本原理,掌握ADC0809的使用方法。
【主要仪器设备与场地】8088十六位微机实验系统、PC机微机原理实验室。
【训练内容与步骤】1.将0809 CS4连到译码输出8000H插孔。
2.将通道0模拟量输入端IN0连电位器W1的中心。
插头0~5V插孔。
3.编写程序。
对通道0进行A/D转换,并显示。
(在系统上显示“0809XX”。
“XX”表示输入的模拟量转换后的数字量。
)4.输入程序并检查无误,运行实验程序。
5.调节电位器W1,显示器上会不断显示新的转换结果。
模拟量和数字量对应关系的典型值为:0V — 00H;+2.5V — 80H;+5V — FFH【考核标准】优秀:硬件连线正确,程序正确、规范,运行结果准确。
良好:硬件连线正确,程序正确,但不是很规范,运行结果准确。
中等:硬件连线正确,程序规范,但不正确。
合格:硬件连线正确,程序不规范,也不正确。
不合格:硬件连线不正确,程序不规范,也不正确。
【注意事项】硬件连线要准确,不能出现短路现象。
实训二:D/ A转换实验(2课时)【训练目标】了解数/模转换基本原理,掌握DAC0832芯片的使用方法。
【主要仪器设备与场地】8088十六位微机实验系统、PC机微机原理实验室。
【训练内容与步骤】1.0832片选信号CS5插孔和译码输出8000H插孔相连。
2.编写实验程序。
使0832左侧AOUT插孔上输出方波。
3.运行实验程序。
4.用示波器测量0832左侧AOUT插孔,应有方波输出。
【考核标准】优秀:硬件连线正确,程序正确、规范,运行结果准确。
良好:硬件连线正确,程序正确,但不是很规范,运行结果准确。
中等:硬件连线正确,程序规范,但不正确。
合格:硬件连线正确,程序不规范,也不正确。
不合格:硬件连线不正确,程序不规范,也不正确。
【注意事项】硬件连线要准确,不能出现短路现象。
实训三:8255A并行口实验(2课时)【训练目标】1.掌握8255A和微机接口方法。
微型计算机技术与应用实验指导书
实验五 TPC装置系统结构与I/O
二.实验环境 1、 硬件环境 微型计算机(Intel x86系列CPU)一台,清华科教 仪器厂TPC-2003A微机接口实验装置一台; 数字记忆示波器一台. 2、 软件环境 (1) Windows XP操作系统,编辑,汇编,链接和调 试程序
(2) PC2003A集成开发环境软件一套及实验装 置电子版资料
微机原理实验指导 (TPC-2003A实验)
实验一 基础操作与调试
一、实验目的 1、熟练掌握DEBUG调试程序的常用命令; 2、学习手工汇编; 3、 学习常用命令用法,掌握算术、逻辑运算 指令功能及其对标志位的影响。
二、实验要求 1、认真学习附录B的知识,掌握DEBUG的功 能及命令使用方法。
实验一 基础操作与调试
三、实验内容
1、启动DEBUG,用“R”命令显示各寄存器值,记录并 说明 DEBUG的初始工作环境。
2、认真学习"D"命令、“E”命令、“R”命令的功能、 应用、命令格式、各种显示信息及含义.
3、自行设计操作进行,掌握它们的用法,要求做到能 对不同地址中的内容和寄存器进行熟练的检查和修改。 记录练习的操作和过程,解释结果;说明各个寄存器 的初值以及段地址、偏移地址的意义,确实掌握地址 与其中存放的数据之间的关系。
设计数器1为 工作方式3
向计数器1送初值1000 先送低字节后送高字节
结束
实验八 可编程定时器/计数器(8253)
五、实验步骤 实验步骤自拟。独立调试程序,完成实 验,记录结果,分析总结,提交报告。 六、思考题 如何利用8253A实现频率测量?
实验九 数/模转换器
一、实验目的
1、了解数/模转换器的基本原理,掌握 DAC0832芯片的接口技术及使用方法;
微机原理与应用实验指导书
目录第一篇汇编语言程序设计实验一汇编语言上机操作—比较字符串----------------------1-1 实验二循环程序设计—建立学生名次表---------------1-5 实验三显示器界面设计—光标轨迹程序----------------1-8 实验四键盘界面设计—键盘输入程序------------------1-10 实验五算术程序设计—判断闰年程序----------------1-22第二篇微机硬件实验系统实验一简单I/O口扩展实验-------------------2-1 实验二 8255并行口实验----------------------2-实验三 8253定时器/计数器接口实验-----------2-实验四 8250串口实验------------------------2-实验五存储器扩展实验-----------------------2- 实验六 8259中断控制器实验------------------2-实验七基于定时中断的实时控制综合实验-- ---2- 附录1 ASCII码表--------------------------3-1附录2 常用BIOS中断调用------------------3-2 附录3 INT 21H DOS系统功能调用------------3-5 附录4 PCI BIOS中断调用INT 1AH- -------3-11 附录5 汉字字符集表-----------------------3-13 附录6 DEBUG 主要命令------------- -------3-21第一篇汇编语言实验一汇编语言上机操作—比较字符串实验项目名称:比较字符串实验项目性质:普通所属课程名称:微机原理与应用实验计划学时:2一、实验目的1、学习程序设计的基本方法和技能;2、熟练掌握汇编语言设计、编写、调试和运行;二、实验内容和要求1、汇编语言上机操作方法编写程序,比较两个字符串STRING1和STRING2所含字符是否相同,若相同则在屏幕上显示‘MATCH’,否则显示‘NOT MATCH’。
微机原理及应用实验指导书j 2
微机原理及应用实验指导书j 2————————————————————————————————作者:————————————————————————————————日期:2实验二存贮器读写实验一.实验目的:1.熟悉静态RAM的使用方法,掌握8088微机系统扩展RAM的方法.2.熟悉静态RAM读写数据编程方法。
二.实验内容对指定地址区间的RAM(2000H~23FFH)先进行写数据55AAH,然后将其内容读出再写到3000H~33FFH中.三.硬件电路(系统中已连接好)四.实验程序清单CODE SEGMENTASSUME CS:CODEORG 1700h ;定义起始地址START: MOV AX,0H ; 定义数据段寄存器DS MOV DS,AXMOV BX,2000H ;定义数据地址BXMOV AX,55AAH ;置常数为55AAMOV CX,03FFH ; 置字节数CXRAMW1:MOV DS:[BX],AX ; 常数55AA写入DS:[BX]中ADD BX,0002H ; 地址增量LOOP RAMW1 ; 一直写到字节数为0为止MOV AX,2000HMOV SI,AX ; 置源数据区地址DIMOV AX,3000HMOV DI,AX ;置目的数据区地址SIMOV CX,03FFH ; 置字节数CXCLD ; 确定地址变化方向REP MOVSB ; 写数据到目的数据区JMP $ ; 结束CODE ENDSEND START五.实验步骤1.运行实验程序(1)联机时,实验程序文件名为\DVCC\H8EXE\H812S。
EXE。
(2)单机时,实验程序起始地址为F000:9700。
在系统显示监控提示符“P.”时:输入F000 按F1键输入9700 按EXEC键稍后按RESET键退出,用存储器读写方法检查2000H~3000H中的内容应都是55AA。
1实验三 8253A 定时/计数器实验一. 实验目的学习8253A 可编程定时/计数器与8088CPU 的接口方法;了解8253A 的工作方式;掌握8253A 在各种方式下的编程方法。
《微机原理及应用技术》实验指导书
在执行过第二步后,如有出错信息时,就不能跳跃到第四步去,如果强行执行第四步, 将无任何有效结果。
说明:要清楚,在第二步中检测出的错误均为每一条语句的语法或用法错误,它并不能 检测出程序的逻辑设计(语句安排位置)错误,所以就要记好出错的行号。在记录行号后, 就应再次执行第一步,这时的操作应是打开已编好的源程序(以 EDIT 为例:在 DOS 提示符 下键入:
3
《微机原理》实验指导书
段寄存器 CS,DS,ES 和 SS 均指向 DEBUG 末尾的第一个段。 IP 寄存器置为 0100H。栈指针 SP 指向尾部或装入程序的暂存部分的底部。 其余寄存器皆取零值,但若用户调用时含文件说明,则 CX 含文件长度(长度大于
64K 时 BX 含长度的高位);标志为各自的复位值;驱动器传送地址在代码段位移 80H 处。 注意:若 DEBUG 装入扩展名为.EXE 的文件,则 DEBUG 需重定位且设置段寄存器指示器为 文件中所定义的值。但 DS,ES 指向最低可用段处的程序区前缀。BX 和 CX 为文件容量值。 而 .EXE 文件如果在连接时选择了装入内存高处的参数,则该程序装入高处。
溢出 OF 有/无 OV/NV
方向 DF 减/增 DN/UP
中断 IF 开/关 EI/DI
符号 SF 负/正 NG/PL
零 ZF 零/非 ZR/NZ
辅助 AF 有/无 AC/NA
奇偶 PF 偶/奇 PE/PO
进位 CF 有/无 CY/NC
(2)显示指定寄存器内容
例如:-R AX <Enter>
-R F <Enter>
EDIT filename.asm 回车,依据行号进行修改并存盘,再次进行汇编,直至第二步通过 为止。便可继续向下执行第四步。
微机原理实验指导书
微型计算机原理与应用实验指导书上海大学通信学院2010 年4 月PC微机原理实验一一、目的:掌握PC机DEBUG调试程序有关命令的操作及8086各类指令的功能。
二、要求:在PC机上完成下列程序的调试运行,并写出运行结果。
1.DEBUG的基本操作:(详细内容请参阅教材“程序的调试,P173”和“附录F调试程序DEUBG的使用,P499”)(1)从WINDOWS进入DOS之后,输入命令启动DEBUG:C:>DEBUG 回车(2)输入R命令,查看和记录CPU各个寄存器的内容:-R回车看到什么(3)输入A命令,汇编下面的字符“WINDOWS”显示程序:-A100 ;从偏移地址是0100H处开始写指令MOV AH,2MOV DL, 57 ;57H 是“W”的ASCII码INT 21 ;INT 21是DOS 功能调用,AH=2代表2号功能;这3句合起来的功能是:显示DL中的字符MOV DL, 49INT 21MOV DL, 4EINT 21MOV DL, 44INT 21MOV DL, 4FINT 21MOV DL, 57INT 21MOV DL, 53INT 21INT 3 ;功能是产生一个断点,不要省略(4)输入U命令反汇编上面的程序:-U 100问:这里100代表什么(5)输入G命令连续运行上面的程序,记录运行结果:-G=100(6)输入E命令把上面程序中的数据57,49,4E,44,4F,57,53依次分别改为57,45,4C,43,4F,4D,45:-E 103 回车(以下同)-E 107-E 10B-E 10F-E 113-E 117-E 11B(7)输入D命令查看程序机器码的存放情况:-D 100 11E ;看从100开始到11E的机器码(8)输入G命令再连续运行程序,并记录运行结果:-G=100(9)依次输入下面的T命令(单步执行)和G命令(设置断点并启动运行),记录各命令的运行结果:-T=100 回车-G=100 106 回车-G=100 10A 回车-G=100 10E 回车-G=100 11E 回车注意:下面第2—第8段程序是7个实用的小程序,若不小心打错指令,可以这样修改:例如:CS:0100 B300 MOV BL,00102 53 PUSH BX0103 B220 LP1: MOV DL,20要修改“PUSH BX”,因为这条指令的IP是0102,所以按以下操作:-A 0102 回车,然后把正确的指令打入,“-A ”是汇编指令。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《微机原理》实验指导书中国民航大学计算机学院2015年07月目录第1部分实验预备知识 (2)1.1汇编语言程序的上机过程 (2)1.2常用DEBUG命令介绍 (3)1.3Dais-x86系统介绍 (8)第2部分实验 (15)实验1Debug命令及汇编指令和寻址的应用 (15)实验2汇编语言程序的调试与运行 (16)实验3分支结构程序设计 (17)实验4循环程序设计 (18)实验5串操作指令应用 (20)实验6DOS中断功能调用程序设计 (21)实验7子程序设计 (22)实验8存储器扩展实验 (23)实验98259单级中断控制实验 (24)实验108259多级中断控制实验 (25)第一部分实验预备知识1.1汇编语言程序的上机过程一、所需文件为运行汇编语言程序至少要在磁盘上建立以下文件:(编辑程序)或其他编辑软件MASM.EXE(汇编程序)LINK.EXE(连接程序)DEBUG.EXE(调试程序,DOS外部命令文件)二、运行汇编语言程序的操作步骤1.用EDIT编辑程序建立.ASM源文件;2.用MASM汇编程序把ASM文件转换成.OBJ文件;3.用LINK连接程序把OBJ文件转换成.EXE文件;4.用DOS命令直接输入文件名就可执行该程序。
5.如果程序有错,还要用到DEBUG调试程序调试。
三、汇编语言源程序上机操作过程第一步:建立汇编源程序(即:建立文件名.asm)这个过程就相当于我们在纸上编写源程序代码一样,只不过是将纸变为了计算机,这个过程也称源代码录入。
将源程序代码录入计算机的方法很多,下面将介绍具体方法。
通过windows自带的文本编辑器进行输入。
双击图标或在DOS提示符下键入:EDIT回车,EDIT的操作画面便会出现在屏幕上,用户就可在提示符下进行录入了,当录入完毕后,选择存盘并给输入的文件起一个文件名,形式:filename.asm;(其中filename 为用户自己起的文件名,由1-8个字符组成),.ASM是为汇编程序识别而必须加上去的,不可更改。
说明:也可以用用户自己所熟悉的文本编辑器进行录入、编辑,如c语言或pascal语言的文本编辑器来编辑,最后将文件存为filename.asm的形式即可。
第二步:汇编目标文件(即:编译为.obj.lst.crf文件)这个过程计算机将把用户自己编的正确的源代码编译为机器语言、程序清单及交叉引用表的目标文件。
如果此时用户的程序有语法错误,系统将报错,并指出在第几行,什么类型的错误,用户可根据提示去逐一修改。
具体过程介绍如下:双击图标或在DOS提示符下键入MASM filename回车。
这时汇编程序的输出文件可以有3个(分别为:.obj.lst.crf),便会出现三次提问,在这可以一路回车即可。
下面显示的信息是源程序中的错误个数,如果为0则表示顺利通过,就可进行下一步。
但如果不为0就说明有错误,并指出错误出现的行,可依据这个提示去进行修改。
但如果错误太多还未等看清就显示过去了,可用如下命令形式将错误信息存于一个用户自己指定的文件,再用文本编辑器去查看。
MASM filename>filen(filen为用户自己起的一个没用过的文件名,用以存放出错信息)以后可查看filen来得到出错信息。
第三步:编译不通过,重新修改(错误类型:源程序语句不合法)在执行过第二步后,如有出错信息时,就不能跳跃到第四步去,如果强行执行第四步,将无任何有效结果。
说明:要清楚,在第二步中检测出的错误均为每一条语句的语法或用法错误,它并不能检测出程序的逻辑设计(语句安排位置)错误,所以就要记好出错的行号。
在记录行号后,就应再次执行第一步,这时的操作应是打开已编好的源程序(以EDIT为例:在DOS提示符下键入:EDIT filename.asm回车,依据行号进行修改并存盘,再次进行汇编,直至第二步通过为止。
便可继续向下执行第四步。
第四步:连接为可执行文件(即:连接为.exe或.com文件)在这个过程中一般没有意外,如果有也就是文件名打错了。
双击或在DOS提示符下输入命令:LINK filename回车第五步:运行编译好的可执行文件当第四步通过后,会产生一个可执行文件,这时只需运行这个程序,看它是否按自己所想象那样得出结果。
在试运行期间,要尽量试一些临界状态,看程序是否运行稳定、结果是否正确。
如一切正常,便可进入第六步了。
第六步:用调试工具DEBUG调试,重新修改(逻辑错误)1.2常用DEBUG命令介绍一、DEBUG的主要用途及DEBUG的调用DEBUG是为汇编语言设计的一种调试工具,它通过单步执行、设置断点等方式为汇编语言程序员提供了非常有效的程序调试手段。
DEBUG可以直接用来检查和修改内存单元、装入、存储及启动运行程序、检查及修改寄存器,也就是说DEBUG可深入到计算机的内部,可使用户更紧密地与计算机中真正进行的工作相联系。
不仅如此,对汇编语言初学者来说,DEBUG 也是练习使用汇编指令的一种有效工具。
初学者可以直接在DEBUG环境下执行汇编指令。
然而,在DEBUG下运行汇编语言源程序也受到了一些限制,它不宜汇编较长的程序,不便于分块程序设计,不便于形成以DOS外部命令形式构成的.EXE文件,不能使用浮动地址,也不能使用ASM和MASM提供的绝大多数伪指令。
在DOS系统中,DEBUG是以DOS外部命令文件形式提供给用户的,名为DEBUG.EXE。
进入DEBUG的提示符是符号“-”。
即,出现提示符“-”就表示可以接受DEBUG命令了。
当进入DEBUG时,寄存器和标志设成以下数值,这些值用于DEBUG调试中的程序。
◆段寄存器CS,DS,ES和SS均指向DEBUG末尾的第一个段。
◆IP寄存器置为0100H。
栈指针SP指向尾部或装入程序的暂存部分的底部。
◆其余寄存器皆取零值,但若用户调用时含文件说明,则CX含文件长度(长度大于64K时BX含长度的高位);标志为各自的复位值;驱动器传送地址在代码段位移80H处。
注意:若DEBUG装入扩展名为.EXE的文件,则DEBUG需重定位且设置段寄存器指示器为文件中所定义的值。
但DS,ES指向最低可用段处的程序区前缀。
BX和CX为文件容量值。
而.EXE文件如果在连接时选择了装入内存高处的参数,则该程序装入高处。
二、DEBUG的主要命令功能与格式DEBUG命令是在DEBUG提示符“-”下,由键盘键入的。
每条命令以单个字母的命令符开头,然后是命令的操作参数,操作参数与操作参数之间,用空格或逗号隔开,操作参数与命令符之间用空格隔开,命令的结束符是回车键Enter。
命令及参数的输入可以是大小写的结合。
Ctrl+Break键可中止命令的执行。
Ctrl+Num Lock键可暂停屏幕卷动,按任一键继续。
所用数均为十六进制数,且不必写H。
1.*汇编命令A格式:A[[<段寄存器名>/<段地址>:]<段内偏移>]以上格式有以下4种具体格式:(1)A<段寄存器名>:<段内偏移>(2)A<段地址>:<段内偏移>(3)A<段内偏移>(4)A功能:键入该命令后显示段地址和段内偏移并等待用户从键盘逐条键入汇编命令,逐条汇编成代码指令,顺序存放到段地址和段内偏移所指定的内存区域,直到显示下一地址时用户直接键入回车键返回到提示符“-”。
说明:其中(1)用指定段寄存器的内容作段地址,(3)用CS的内容作段地址,(4)以CS:100作地址。
以后命令中提及的各种‘地址’形式,均指(1)、(2)、(3)中A后的地址形式。
2.*显示内存命令D格式:D[<地址>/<范围>]以上格式有以下3种具体格式:(1)D<地址>(2)D<范围>(3)D功能:以两种形式显示指定范围的内存内容。
一种形式为十六进制内容,一种形式为以相应字节的内容作为ASCII码的字符,对不可见字符以‘.’代替。
说明:其中(1)以CS为段寄存器。
(3)显示CS:100起始的一片内容。
3.*修改内存命令E格式:E<地址>[<单元内容表>]以上格式有以下2种具体格式::(1)E<地址>(2)E<地址><单元内容表>其中<单元内容表>是以逗号分隔的十六进制数,或用’或”括起来的字符串,或者是二者的组合。
功能:(1)不断显示地址,可连续键入修改内容,直至新地址出现后键入回车Enter为止。
(2)将<单元内容表>逐一写入由<地址>开始的一片单元。
4.填充内存命令F格式:F<范围><单元内容表>功能:将单元内容表中的值逐个填入指定范围,单元内容表中内容用完后重复使用。
例如:-F5BC:200L10B2,‘XYZ’,3C<Enter>5.*执行命令G格式:G[=<地址>[,<断点>]]以上格式有以下3种具体格式:(1)G(2)G=<地址>(3)G=<地址>,<断点>功能:执行内存中的指令序列说明:(1)从CS:IP所指处开始执行(2)从指定地址开始执行(3)从指定地址开始执行,到断点自动停止。
6.读盘命令L格式:L<地址>其中<地址>的缺省值为CS:100。
功能:必须在L之前由N命令指定(或进入DEBUG时一并指出)所读驱动器文件名。
此时L执行后将该文件装入内存。
例如:-N EXAMPLE<Enter>-L<Enter>将当前驱动器上的EXAMPLE文件装入CS:100起始的一片内存单元。
7.命名命令N格式:N<文件名>功能:为L/W命令指定待装入/写盘文件8.结束DEBUG返回DOS命令Q格式:Q功能:返回DOS提示符下9.*显示修改寄存器命令R格式:R[<寄存器名>]以上格式有以下2种具体格式:(1)R(2)R<寄存器名>功能:(1)显示当前所有寄存器内容,状态标志及将要执行的下一指令的地址,代码及汇编语句形式。
其中对状态标志FLAGS以每位的形式显示,详见表1-1。
表1-1状态标志显示形式标志位溢出OF方向DF中断IF符号SF零ZF辅助AF奇偶PF进位CF状态有/无减/增开/关负/正零/非有/无偶/奇有/无显示OV/NV DN/UP EI/DI NG/PL ZR/NZ AC/NA PE/PO CY/NC(2)显示指定寄存器内容例如:-R AX<Enter>-R F<Enter>10.跟踪命令T格式:T[=<地址>][<条数>]功能:执行由指定地址起始的、由<条数>指定的若干条命令。