微机实验指导书
微机原理实验指导书
实验一初级程序的编写与调试一、实验目的1、熟练掌握的DEBUG常用命令,学会用DEBUG调试程序;2、深入了解数据在存储器中的存取方法,及堆栈中数据的压入与弹出;3、掌握各种寻址方法以及简单指令的执行过程。
二、实验内容1、设堆栈指针SP=2000H,AX=3000H,BX=5000H,请编一程序段将AX的内容和BX的内容进行交换。
请用堆栈作为两寄存器交换内容的中间单元,用DEBUG调试程序进行汇编与调试。
2、设DS=当前段地址,BX=0300H,SI=0002H,请用DEBUG的命令将存储器偏移地址300H—304H连续单元顺序装入0AH、OBH、0CH、0DH、0EH。
在DEBUG状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程。
当每条数据传送完毕时,AX中的内容是什么。
程序清单如下:MOV AX,BXMOV AX,0304HMOV AX,[0304H]MOV AX,[BX]MOV AX,0001[BX]MOV AX,[BX][SI]MOV AX,0001[BX][SI]HLT3、设AX=0002H,编一个程序段将AX的内容乘10,要求用移位的方法完成。
三、实验要求1、实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,对程序结果的分析等。
2、本实验要求在PC机上完成。
3、本实验只要求在DEBUG调试程序状态下进行,包括汇编程序,调试程序,执行程序。
4、编程提示:(1)、实验内容1将两个寄存器内容进行交换时,必须有一个中间寄存器才能进行内容的交换。
如果用堆栈作为中间存储单元,必须遵循先进后出的原则。
(2)、实验内容2[1] 其中数据段寄存器中的段地址为进入DEBUG状态后系统自动分配的段地址。
[2] SI和BX的初值可在DEBUG的状态下,用R命令装入,也可以在程序中用指令来完成。
[3] 用T命令执行程序,可进行单步跟踪执行,每执行一条指令就可以看到各寄存器的状态,也可用R命令直接调出寄存器,来检查各寄存器内容是否正确。
微机原理实验指导书——终稿
微型计算机原理实验指导书杨鹏陈玲玲张雪萍编写河北工业大学自动化系二零零六年八月目录实验一简单程序调试(1) (1)实验二简单程序调试(2) (4)实验三汇编程序设计及调试(1) (6)实验四汇编程序设计及调试(2) (12)实验五32位微机接口技术实验 (17)实验六8254定时/计数器应用实验 (23)实验七并行接口8255 (34)附录1 TD-PIT+实验系统的硬件环境 (44)附录2 Tddebug集成操作软件 (56)实验一简单程序调试(1)一.实验目的:1.熟悉8086常用指令;2.掌握Tddebug集成操作软件的操作指令。
二.实验内容:1.在Tddebug集成操作软件环境下输入下列程序片段,用Trace命令单步执行并记录结果。
程序片段运行结果1) DATA SEGMENTDATA ENDSCODE SEGMENTASSUME CS: CODE, DS: DATASTART: MOV AX, 2000HMOV DS, AX DS=MOV DX, 0100HMOV SI, 0000HMOV BYTE PTR[SI+0100H], 0AAH DS: 0100=MOV AL, [SI+0100H] AL=MOV BX, 0100HMOV WORD PTR[SI+BX], 1234HMOV AX, [SI+BX+0H] AX=INT 20HCODE ENDSEND START2)DATA S EGMENTDATA ENDSCODE SEGMENTASSUME CS: CODE, DS: DATASTART: MOV AL, 0FFHMOV AH, 00H AX=XCHG AL, AH AX=MOV AL, 07HMOV AH, 00HMOV BL, 08HADD AL, BL AH= AL=AAA AH= AL=MOV AX, 0FFFFHMOV BX, 8080HSUB AX, BX AX=MOV AX, 0FFFFHMOV BX, 0FFFFHMUL BX DX= AX=MOV AX, 1000HMOV DX, 2000HMOV CX, 4000HDIV CX DX= AX=INT 20HCODE ENDSEND START2.自编程序段实现两个两字节无符号数相加。
微机原理及应用试验指导书
微机原理及应用实验指导书董珂编写电气与自动化工程学院专业实验中心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。
《微机原理》实验指导书(加硬件)改
微型计算机原理实验指导书襄樊学院物理与电子信息工程系实验要求1.进入实验室前完成的部分1)认真阅读实验指导书,弄懂实验原理和实验内容。
分析实验内容A程序的结构、实现方法。
2)编写实验所要用到的程序,将其放在U盘上。
3)写出预习报告(其中应有实验内容A、B的程序清单)。
2. 进入实验室后完成的部分1)对实验内容A对其进行汇编、链接获得可执行文件。
运行可执行文件,实现实验内容A的要求。
2)对实验内容B的程序进行调试,修改错误,获得要求的结果。
3)保存调试后的程序。
3.实验结束后的部分对实验结果进行分析、总结,写出实验报告。
实验报告内容及格式1.实验目的2.实验设备3.实验内容只做文字叙述,程序部分放在程序清单中。
4.程序清单实验内容B的完整程序。
如果使用了本实验或前面实验中完全相同的子程序,可不列写,只做注明即可。
实验内容A的程序清单放在预习报告中,不再列写。
5.实验步骤6.实验总结主要包括对实验结果、调试过程、错误及产生的原因的分析,以及本次实验的重要收获等。
此项为实验成绩评定的重要依据。
汇编语言程序的上机过程本章内容在实验一~实验六中使用。
1.实验环境在计算机的C盘(也可以是其他盘符)下,有一个MASM50(也可能是其他文件名)文件夹,在这个文件夹下存放着对汇编语言源程序进行汇编、调试所需要的各种文件。
2.建立源程序可以用你熟悉的文本编辑器,如记事本、写字板等来建立一个源程序文件。
但需要注意以下几点:(1)在“我的电脑\工具\文件夹选项\查看\”中将“隐藏已知文件类型的扩展名”上的“√”去掉。
(2)源程序文件的文件名应该是*.asm,如果不是应进行修改。
(3)源程序文件中的字符必须是西文半角字符,不能使用中文全角字符。
(4)不要把数字“0”错写成字符“O”,或者把字符“O”错写成数字“0”。
3. 进入DOS系统在Windows XP的“附件”中有一个“命令提示符”,运行它即可进入DOS系统。
4. 在DOS系统中进入文件夹E:\>CD 文件夹名↙。
微机原理实验指导书1_2_4_5
微机原理实验指导书郑州大学电气工程学院目录实验一比较字符串实验 (1)实验二两个多位十进制数相加的实验 (14)实验三两个数相乘的实验 (18)实验四键盘输入并显示实验 (21)实验五统计学生成绩 (25)实验六 8259A 中断控制器实验 (29)实验七 8253计数器/定时器实验 (34)实验八 8255并行接口实验 (37)实验九 8251A 串行接口实验 (43)实验十 A/D 实验 (51)附录一调试程序DEBUG (51)附录二汇编程序出错信息 (59)实验一比较字符串实验一.实验目的1.掌握分支程序的设计方法。
2.熟悉在PC机上建立、汇编、链接、调试和运行8086汇编程序的过程。
二.实验内容1.比较两个字符串STRING1和STRING2所含的字符是否相同,若相同则显示‘Match’,否则显示‘No Match’。
2.修改程序,显示所比较字符的个数。
三.程序清单DATAREA SEGMENTSTRING1 DB 'Move the cursor backward.'STRING2 DB 'Move the cursor backward.'MESS1 DB 'Match.',13,10,'$'MESS2 DB 'No match.',13,10,'$'DATAREA ENDSPROGNAM SEGMENTMAIN PROC FARASSUME CS:PROGNAM,DS:DATAREA,ES:DATAREASTART: PUSH DSSUB AX,AXPUSH AXMOV AX,DATAREAMOV DS,AXMOV ES,AXLEA SI,STRING1LEA DI,STRING2CLDMOV CX,STRING2-STRING1REPZ CMPSB?LEA DX,MESS2?MATCH: LEA DX,MESS1DISP: MOV AH,09HINT 21HRETMAIN ENDPPROGNAM ENDSEND START四.实验方法1.用编辑程序EDIT.EXE建立源文件EDIT D101-1.ASM↙在编辑状态下输入源程序,存盘后退出编辑状态。
微机实验指导书
第1章汇编语言程序设计概述本章主要介绍了汇编语言源程序的编辑、汇编、连接的方法,DEBUG调试命令及其使用方法1.1 实验系统及开发环境1.实验设备硬件设备PC机一台2.软件开发环境(1)DOS环境:编辑软件EDIT.EXE汇编软件MASM.Exe连接程序LINK.exe调试程序DEBUG.EXE(2)WINDOWS集成开发环境-1-1.2 汇编语言源程序上机过程在编辑汇编语言源程序时,对计算机硬件工作环境无特殊要求,对软件工作环境要求也很简单。
编辑、汇编、连接、调试过程如图1.1所示。
1. 编写汇编语言源程序:作用:用汇编语句编写的解决应用问题的程序。
软件工具:编辑软件,用于输入、建立和修改源程序。
可任选一种编辑软件,不要用格式控制符,要求编辑完成的文件扩展名一定是.ASM。
全屏编辑软件:WPS、、、WORD、PE等。
行编辑软件:2. 汇编作用:将汇编语言程序翻译成机器语言程序的过程,将*.ASM文件转换为*.obj文件。
软件工具:汇编程序,将汇编语言源程序翻译成机器语言程序的系统。
汇编程序有ASM.EXE、宏汇编MASM.EXE及TASM等,一般使用宏汇编MASM.EXE,因它比ASM.EXE功能强。
TASM适用于8086/8088~Pentium系列指令系统所编写的汇编语言程序,是比较先进的汇编工具。
3. 连接作用:将不可执行的二进制文件转换为可执行文件,将*.obj文件转换为*.EXE文件。
-2-软件工具:连接程序LINK.EXE或TLINK.EXE,将MASM.EXE产生的机器代码程序(.OBJ)文件连接成可执行程序.EXE,TLINK比LINK更先进。
4. DEBUG调试程序及辅助工具程序(.EXE)作用:进行汇编语言程序调试和文件格式转换软件工具: 动态调试程序EXE2BIN.EXE 文件格式转换程序CREF.EXE 交叉引用程序TD(turbo Debugger简称)也是动态调试程序,可在DOS和Windows环境下运行,用户界面十分友好。
微机实验指导书资料
机自学院自动化系2016.3.20目录实验一开关状态显示 (3)实验二模拟交通灯实验 (6)实验三8253定时器/计数器实验 (10)实验四D/A转换器实验 (15)实验五A/D转换器实验 (18)实验六8259中断控制(1) (22)实验七8259中断控制(2) (25)实验一开关状态显示一、实验目的熟悉实验箱和软件开发平台的使用。
了解基本I/O端口的操作方法和技巧,掌握编程和调试基本技能。
二、实验内容利用74LS244作为输入口,读取开关状态,根据给定表格中开关状态对应的输出关系,通过74LS273驱动发光二极管显示出来。
三、实验区域电路连接图参考上图连线:Y0~Y1接K1~K2(对应J1、J2);Q0~Q7接L1~L8(对应J3至J10);CS1接8000H 孔(对应J12);CS2接9000H孔(对应J11);IOWR→IOWR;IORD→IORD;然后用数据排线连接JX7→JX17(BUS2)。
四、编程指南本实验要求编写程序将连接在74LS244芯片端口的开关状态读入,根据下面表格给出的开关状态对应的LED输出灯亮状态,控制74LS273芯片驱动LED。
按下MON或系统复位键则返回监控。
五、程序框图六、实验步骤1. 按连线图连接好,检查无误后打开实验箱电源。
2. 在PC端软件开发平台上输入设计好的程序,编译通过后下载到实验箱。
3. 运行程序后,拨动K1-K2,L1-L8会跟着亮灭。
4. 如果运行不正常就要检查连线,程序。
排查错误,修改程序,直到运行程序正常。
七、实验程序清单及注释根据要求编写程序,最后记录调试成功的程序,写好注释便于自己或他人阅读。
八、实验报告应包括画电路图、实验程序框图、编程(要有注释)、调试过程及心得体会等。
问答题:1. I/O端口的寻址方式有哪2种?在x86系统中,采用哪一种?2. 在输入/输出电路中,为什么常常要使用锁存器和缓冲器?实验二模拟交通灯实验一、实验目的1. 学习在PC机系统中扩展简单I/O 接口的方法。
2023年微机原理实验指导书
2.1系统生疏试验【试验目的】把握TD 系列微机原理及接口技术教学试验系统的操作,生疏Wmd86 联机集成开发调试软件的调试环境。
【试验设备】PC 机一台,TD-PITE 试验装置一套。
【试验内容】编写试验程序,将00H~0FH 共16 个数写入到内存3000H 开头的连续16 个存储单元中。
【试验步骤】1.运行Wmd86 软件,进入Wmd86 集成开发环境。
2.在设置菜单中选择“汇编语言”和“16 位存放器”。
3.单击文集菜单的建命令,建一个文档,默认文件名为Wmd861。
4.编写试验程序,并保存,此时系统会提示输入的文件名,输完后点击保存。
5.单击编译文件,假设程序编译无误,则科技连续单击进展链接,链接无误前方可以加载程序。
6.连接PC 与试验系统的通讯电缆,翻开试验系统电源。
7.编译、链接都正确并且上下机通讯成功后,就可以下载程序,联机调试了。
可以通过端口列表中的“端口测试”来检查通讯是否正常。
点击下载程序。
为编译、链接、下载组合按钮,通过该按钮可以将编译、链接、下载一次完成。
下载成功后,在输出区的结果窗中会显示“加载成功!”,表示程序已正确下载。
起始运行语句下会有一条绿色的背景。
8.将输出区切换到调试窗口,试验命令D0000:3000 查看内存3000H 起始地址的数据。
9.点击按钮运行程序,等待程序运行停顿后,通过命令来观看程序结果。
10.也可以设置端点,要修改内存中的数据可以使用命令E,如E0000:3000 可以修改地址0000:3000 处的数据,修改完一个后,可按“空格”键连续输入下一个数。
输入完成后按“回车”键退出。
2.2数制转换试验【试验目的】1 把握不同进制数及编码相互转换的程序设计方法,加深对数值转换的理解。
2.生疏程序调试的方法。
【试验设备】PC 机一台,TD-PITE 试验装置一套。
【试验内容】编写程序,将ASCII 码表示的十进制数转换为二进制数。
【试验步骤】1.依据程序流程图编写程序。
微机原理与应用实验指导书
目录第一篇汇编语言程序设计实验一汇编语言上机操作—比较字符串----------------------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’。
微机原理试验指导书
《微型计算机原理》实验指导书上海行知学院计算机系二零零六年五月实验一DEBUG 调试指令的认识实验一、实验目的(1)熟悉 DEBUG的调试命令和 DEBUG的调试指令的使用方法(2)掌握各种寻址方式和指令的功能二、实验内容1、已知:(DS)=3000H、(ES)=3500H、(SS) =4000H、(BX)=0038H 、(BP)=0019H 、(SI) =0012H、(3005AH)=56H、(3005BH)=78H、(30068H)=11H、(30069H)=22H、(32000H)=12H、(32000H)=34H、( 35038H) =0AAH、( 35039H) =0BBH、( 4002BH) =88H、( 4002BH) =99H。
分别下列指令, 请说明其源操作数的寻址方式、有效地址和物理地址,以及AX寄存器中的内容。
(1)MOV AL,2000H(2)MOV AX , [2000H](3)MOV AX,BX(4) MOV AL , ES: [BX](5)MOV AX , 30H[BX](6)MOV AX , [BP][SI](7)MOV AL,10H[BX][SI](8)MOV DX , ES: [BX](9) MOV AL,ES:[BX]2、已知: (SS)= 2200H,(SP)=0010H,(DX)=ABCDH,(CX)=5678H执行下列指令段:PUSHDXPOPCX请说明 DX、CX以及 SP寄存器中的内容,用T 命令跟踪,观察执行结果3、已知:(BX) =82A8H、( AX) =9FA3H执行面这指令,求 AX寄存器及 CF, SF, ZF 和 OF 的内容是什么?ADD AX,BX4、假设( DX) =97B5H,确定下列各条指令单独执行后的结果。
(1) AND DX, 0F54H(2) XOR DX, 0FFFFH三、实验要求(1)掌握 DEBUG的调试 R 、 A、 U、 D、 E、T 命令使用方法(2)掌握数据传送、算术和逻辑运算指令的功能四、实验步骤1、首先进入DEBUG状态,用R 命令修改各寄存器的内容,以满足题目的要求。
《微机原理及汇编语言》实验指导书
微机原理和汇编语言实验指导书信息与通信工程学院电气工程系目录实验须知 (3)实验一数据求和实验 (4)实验二循环与分支程序设计实验 (8)实验三中断程序设计实验 (12)实验四屏幕显示程序设计实验 (14)第一部分实验须知1、预习要求实验前认真阅读实验教程中有关内容,明确实验目的和实验任务。
每次实验前应有预习报告,未预习者不允许参加实验。
预习报告中:对软件实验,要求画出程序流程图,编好上机程序;对硬件实验,要求画出实验线路图,拟定实验步骤,画出程序流程图,编好上机程序。
2、实验要求实验是学习“微机原理及汇编语言程序”这门课程的重要环节,实验课请勿迟到,缺席。
爱护设备,保持清洁,不随意更换设备。
认真完成实验任务,实验结果经教师检查,教师对实验内容提问,对完成者做记录。
做硬件实验时,注意断电操作,即所有的接线、改线及拆线操作均应在不带电的状态下进行,严禁带电操作,并注意防止导线堵塞插孔。
发生事故,应立即切断电源,并马上向教师报告,检查原因,吸取教训。
实验完毕,请整理实验设备,再离开实验室。
3、报告要求每次实验后,应递交一份实验报告,报告中应包括下列内容:(1)实验名称、实验人姓名、学号、班级、所用的设备号。
(2)实验目的、任务。
(3)各任务程序流程图、程序清单(应加适量注释)。
(4)硬件实验应画出各任务的完整电路图,包括PC总线与实验用到芯片间全部电路。
(5)记录和分析实验结果。
(6)根据实验目的认真做小结。
第二部分实验实验一数据求和实验一、实验目的1、学习使用DEBUG程序的各种命令。
2、了解计算机取指令、执行指令特别是算术运算指令的工作过程。
3、掌握用DEBUG调试程序的方法。
二、实验内容1、参照教材中有关内容,掌握DEBUG程序的各种操作命令,重点为R——寄存器内容检查命令D——存储器内容检查命令A——汇编命令U——反汇编命令T——跟踪及单步执行命令P——单步执行命令,跳过子程序G——全速执行程序命令。
微机原理实验指导书
微机原理实验指导书实验一数据传送实验目的 :1. 熟悉 8086 指令系统的数据传送指令及 8086 的寻址方式。
2. 利用 Turbo Debugger 调试工具来调试汇编语言程序。
实验任务 :1.通过下述程序段的输入和执行来熟悉Turbo Debugger 的使用,并通过显示器屏幕观察程序的执行情况。
练习程序段如下:MOV BL , 08HMOV CL , BLMOV AX , 03FFHMOV BX , AXMOV DS : [0020H] , BX2.用以下程序段将一组数据压入( PUSH )堆栈区,然后通过不同的出栈顺序出栈,观察出栈后数据的变化情况。
压栈程序段如下:MOV AX , 0102HMOV BX , 0304HMOV CX , 0506HMOV DX , 0708HPUSH AXPUSH BXPUSH CXPUSH DX出栈程序段请自行编写(用不同的出栈顺序)。
.3. 指出下列指令的错误并加以改正,上机验证之。
(1) MOV [BX] , [SI](2) MOV AH , BX(3) MOV AX , [SI][DI](4) MOV BYTE PTR[BX] , 2000H(5) MOV CS , AX(6) MOV DS , 2000H4. 设置各寄存器及存储单元的内容如下:(BX) = 0010H , (SI) = 0001H(10010H) = 12H , (10011H) = 34H , (10012H) = 56H ,(10013H) =78H (10120H) =0ABH ,(10121H) =0CDH ,(10122H) = 0EFH说明下列各条指令执行完后 AX 寄存器中的内容,并上机验证。
(1) MOV AX , 1200H(2) MOV AX , BX(3) MOV AX , [0120H](4) MOV AX , [BX](5) MOV AX , 0110H[BX](6) MOV AX , [BX][SI](7) MOV AX , 0110H[BX][SI]5. 将 DS : 1000H 字节存储单元中的内容送到 DS : 2020H 单元中存放。
微机实验指导
实验一拆字、拼字程序一、实验目的1. 掌握屏蔽一个字节中的高四位或低四位内容的方法,熟悉移位指令的用法。
2.掌握汇编语言设计和调试方法。
二、实验条件与内容实验条件:1. PⅡ以上的PC计算机,及操作系统Windows XP。
2. Masm for Windows 集成实验环境 V6.0版本。
实验内容:(1)把4000H单元的内容拆开,高位送4001H低位,低位送4002H低位,4001H、4002H 的高位清零,一般本程序用于把数据送显示缓冲区时用。
(2)把4000H、4001H的低位分别送入4002H高低位,一般本程序用于把显示缓冲区的数据取出拼装成一个字节。
三、程序框图拆字程序框图拼字程序框图四、实验过程与步骤在汇编语言环境下分别将拆字程序和拼字程序进行录入,并对程序进行编译。
在DEBUG下对程序分别进行调试:(1)在程序运行前,检查4000H~4002H中内容情况。
(2)用连续或单步方式运行程序,之后检查4000H~4002H内容变化情况。
思考题1. MOV指令在应用时应注意哪些事项?2. 单字和双字在存储器中是怎样存放的?请举例进行说明。
拆字程序清单:CODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV BX,4000H ;把地址单元4000H给BX寄存器MOV [BX],5BH ;把所要拆字内容置为5BHMOV AL,[BX] ;把4000H单元的内容给ALMOV AH,AL ;再4000H单元的内容给AHMOV CL,04 ;设置移位次数为4SHR AH,CL ;AH的内容右移4位ADD BX,01 (或INC BX) ;地址单元加1MOV [BX],AH ;把高位字送给4001H单元AND AL,0FH ;屏蔽掉AL中的高四位ADD BX,01 (或INC BX) ;地址单元加1MOV [BX],AL ;把低位字送给4002H单元HLTCODES ENDS ;程序结束END START此程序运行的结果是:(用D DS:4000)13C9:4000 5B 05 0B 00 00……拼字程序清单:CODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATASMOV DS,AXMOV BX,4000H ;把地址单元4000H给BX寄存器 MOV [BX],0F6H ;把4000H单元所要拼的字置为F6H MOV [BX+1],28H ;把4001H单元所要拼的字置为28H MOV AH,[BX] ;把4000H单元的内容给AHMOV AL,[BX+1] ;把4001H单元的内容给ALAND AL,0FH ;屏蔽掉AL中的高四位MOV CL,4 ;设置移位次数为4SHL AL,CL ;AL的内容左移4位AND AH,0FH ;屏蔽掉AH中的高四位OR AL,AH ;进行拼字INC BX ;地址单元加1MOV [BX],AL ;将拼好的字保存在4002H单元HLTCODES ENDS ;程序结束END START此程序运行的结果是:(用D DS:4000)13C9:4000 F6 28 68 00 00……思考题1. MOV指令在应用时应注意哪些事项?答:①MOV指令的目的操作数不允许用立即数方式;②MOV指令的目的操作数不允许用CS寄存器;③除源操作数为立即数的情况外,两个操作数中必须有一个是寄存器;④不允许MOV指令在两个存储单元之间直接传递数据;⑤不允许在两个段寄存器之间直接传递信息;⑥MOV指令使用操作数为段寄存器、或地址单元不能为非法数;⑦MOV指令不影响标志寄存器FLAG中的标志位。
《微机原理及应用技术》实验指导书
在执行过第二步后,如有出错信息时,就不能跳跃到第四步去,如果强行执行第四步, 将无任何有效结果。
说明:要清楚,在第二步中检测出的错误均为每一条语句的语法或用法错误,它并不能 检测出程序的逻辑设计(语句安排位置)错误,所以就要记好出错的行号。在记录行号后, 就应再次执行第一步,这时的操作应是打开已编好的源程序(以 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 回车,依据行号进行修改并存盘,再次进行汇编,直至第二步通过 为止。便可继续向下执行第四步。
微机实验指导书(最终版)
微机实验指导书(最终版)试验一熟悉汇编环境以及初级程序的编写与调试一实验目的1.熟识掌控debug的常用命令,学会用debug调试程序。
2.了解数据在存储器中的存取方法以及堆栈中数据的压入与弹出。
3.掌握各种寻址方法及简单指令的执行过程。
二试验要求1.实验前要搞好充分准备,包含汇编程序目录、调试步骤、调试方法,以及对程序结果的分析。
2.本实验要求在pc机上进行。
3.本实验只建议在debug调试程序状态下展开,包含汇编程序、调试程序、执行程序。
三实验内容1.熟悉debug的常用命令(1)汇编命令a1a【段寄存器名】格式:○:【偏转地址】2a【段地址】○:【偏转地址】3a【偏转地址】○4a○功能:用该命令可以将汇编语言程序直接汇编进入内存。
当键入a命令后,表明段地址和偏转地址等候用户键入编订指令,每键入一条编订指令contrary后,自动表明下一条指令的段地址和偏转地址,再键入下一条编订指令,直至汇编语言程序全部键入,又表明下一条地址时可以轻易键入contrary返回提示符“―”年才。
1的段地址在段地址寄存器中,其中○因此在使用该命令时必须将段地址寄存器送入段地3的段地址在cs中,○4的段地址在cs中,偏移地址为100h。
址,○(2)执行程序命令g和单步执行程序t功能:用该g命令可直接执行汇编语言程序;用t命令可单步执行汇编语言程序并显示当前寄存器内容(3)表明内存命令d1d[地址]格式:○2d[地址范围]○3d○功能:显示指定内存范围的内容。
(4)修改存储单元内容命令e1e[地址][内容表中]格式:○2e[地址]○1用命令所取值的内容西略替代选定地址范围的内存单元内容。
功能:○2一个单元一个单元的连续修改单元内容。
○其中:内容表列出一个十六进制数或一串十六进制数,也可以就是用单引号内加起至的一串字符。
(5)检查和修改寄存器内容命令r1r格式:○2r[寄存器名]○1表明cpu内部所有寄存器的内容和全部标志位的状态。
微机原理实验指导书
湖北工业大学
图 2-1
12 电类 3 班
(2)CZ4:打印接口;
图 2-2 (3)JX0,JX17 为系统提供的数据总线接口;
图 2-7 (3)单脉冲电路:实验台上单脉冲产生电路如图 2-8,标有
“
”和“
”的两个引线插孔为正负单脉冲输出端。
AN 为单脉冲产生开关,每拨动一次产生一个单脉冲。
图 2-3 (4)CZ7:系统提供的扩展接口;
12 电类 3 班
⒋4 总操作过程 8088 十六位微机实验系统上电总清以后,显示器上显示监控提 示符“P.”,各寄存器的初始化值如下: SP=0683H,CS=0000H,DS=0000H,SS=0000H,ES=0000H, IP=l000H,FL=0000H 注意:·所有命令均在提示符“P.”状态输入。
(8)数码管显示电路
图 2-12
(9)键盘电路
图 2-13
湖北工业大学
图 2-14(2)
第三章 系统安装与使用 1、把系统开关设置为出厂模式。 (1)SW3、SW4、SW5:为键盘/显示选择开关,开关置 ON(出 厂模式),键盘/显示控制选择系统配置的 8155 接口芯片,反之由用 户选择自定义的 I/O 接口芯片控制,在本机实验中,除 8279 实验外, 键盘/显示为出厂模式。 (2)KB6:通讯选择开关,KB6->SYS-C 为系统通讯(出厂模 式),KB6->EXT-C 为扩展通讯。 2、将随机配送的串行通讯线,一端与实验仪的 RS232D 型插座 CZ1 相连,另一端与 PC 机 COM1 或 COM2 串行口相连。 3、接通实验系统电源,+5V LED 指示灯应正常发光,实验仪 数码管应显示闪动 P.,说明实验仪初始化成功,处于待命状态。(否 则应及时关闭电源,待修正常后使用) 4、打开 PC 机电源,执行 8086K 的集成调试软件,关于该软件 的详细说明请参阅《第五章 8086K 实验系统与 PC 机联机操作》。
微机实验指导书
实验一汇编语言上机环境的熟悉和DEBUG命令使用一.实验目的:1.熟悉程序的汇编过程以及Masm for Windows 6.0的使用。
2.学习使用DEBUG中的各种命令。
3.掌握用DEBUG调试自编程序的方法,为以后实验打下基础。
二.实验内容1.熟悉汇编语言的编译环境。
1)DOS下的编译环境。
2)Windows下的编译环境(Masm for Windows 6.0)。
2.用A命令汇编下列程序段,完成将DS:2000开始的5个字节内存内容相加,并把相加的结果存放在DS:2005内存单元中,将程序写到硬盘上,然后用DEBUG调试﹑运行该程序,查看运行结果,观察程序段能否完成指定功能,若不能,说明原因。
MOV CX,5MOV AL,0MOV BX,2000NEXT: ADD AL,[BX]INC BXDEC CXLOOP NEXTMOV [BX],ALINT 3三.预习要求1.仔细阅读实验一后的【实验提示】及【DEBUG的启动及其基本命令的使用】中的内容2.―汇编语言上机操作过程及程序调试技术‖内容。
3.根据实验要求,对各项结果进行预测。
四.实验报告1.写出实验内容中2的程序错误所在,分析其运行过程。
2.举例写出利用dubug调试中你所用的命令的功能。
3.写出做完本实验的心得体会。
五.实验提示1.DEBUG的进入(1)如果是首次进入DEBUG编程,则只要在DOS提示符下键入DEBUG ↙,即可进入DEBUG环境,显示提示符―-‖。
(2)如果要对某个程序使用DEBUG进行调试,只要在DOS提示符下键入DEBUG 文件名↙,即可进入DEBUG环境,显示提示符―-‖。
2.程序的汇编与反汇编⑴源程序可以在DEBUG下,用汇编命令A输入到内存中,只需在DEBUG提示符―-‖下,键入汇编命令A ↙,并在显示―段寄存器地址:偏移地址‖后面键入你自己编写的程序,每键入一条,按一次回车键。
-A ↙127B:0100 MOV CX,5 ↙127B:0103 MOV AL,0 ↙127B:0105 MOV BX,2000 ↙┇⑵如果进入DEBUG时是使用―DEBUG 文件名↙‖进入的,那么在进入DEBUG状态后,可用反汇编命令U,将调入的程序显示出来:-U ↙127B:0100 B90500 MOV CX,5127B:0103 B000 MOV AL,0127B:0105 BB0020 MOV BX,2000┇3.在DEBUG状态下,对所编写文件存盘的步骤①给程序命名-N 文件名.COM ↙②将文件长度放入BX、CX中(高位放入BX,低位放入CX中)-R BX ↙(注意!!!由于文件长度一般较小,所以切记BX中赋0值)-R CX ↙(文件最末偏移地址减去文件开始的偏移地址即文件长度)③用写盘命令W把正在调试的内存中程序写入磁盘中-W 〈地址〉↙(文件开始地址)退出DEBUG状态用Q命令:-Q ↙4.在DEBUG状态下,建议使用DOS分配给用户的内存可用区在DEBUG状态下,用户可对所有寄存器、RAM内存随意查看和修改,但由于对DOS 操作系统在内存中存放情况不了解,可能会将存放有操作系统程序的内存内容破坏,从而可能引起系统的异常,出现死机现象,故建议使用DOS分配给用户的内存可用区,其低端地址是刚进入DEBUG时,用命令R查看到的DS:IP。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
机自学院自动化系2016.3.20目录实验一开关状态显示 (3)实验二模拟交通灯实验 (6)实验三8253定时器/计数器实验 (10)实验四D/A转换器实验 (15)实验五A/D转换器实验 (18)实验六8259中断控制(1) (22)实验七8259中断控制(2) (25)实验一开关状态显示一、实验目的熟悉实验箱和软件开发平台的使用。
了解基本I/O端口的操作方法和技巧,掌握编程和调试基本技能。
二、实验内容利用74LS244作为输入口,读取开关状态,根据给定表格中开关状态对应的输出关系,通过74LS273驱动发光二极管显示出来。
三、实验区域电路连接图参考上图连线:Y0~Y1接K1~K2(对应J1、J2);Q0~Q7接L1~L8(对应J3至J10);CS1接8000H 孔(对应J12);CS2接9000H孔(对应J11);IOWR→IOWR;IORD→IORD;然后用数据排线连接JX7→JX17(BUS2)。
四、编程指南本实验要求编写程序将连接在74LS244芯片端口的开关状态读入,根据下面表格给出的开关状态对应的LED输出灯亮状态,控制74LS273芯片驱动LED。
按下MON或系统复位键则返回监控。
五、程序框图六、实验步骤1. 按连线图连接好,检查无误后打开实验箱电源。
2. 在PC端软件开发平台上输入设计好的程序,编译通过后下载到实验箱。
3. 运行程序后,拨动K1-K2,L1-L8会跟着亮灭。
4. 如果运行不正常就要检查连线,程序。
排查错误,修改程序,直到运行程序正常。
七、实验程序清单及注释根据要求编写程序,最后记录调试成功的程序,写好注释便于自己或他人阅读。
八、实验报告应包括画电路图、实验程序框图、编程(要有注释)、调试过程及心得体会等。
问答题:1. I/O端口的寻址方式有哪2种?在x86系统中,采用哪一种?2. 在输入/输出电路中,为什么常常要使用锁存器和缓冲器?实验二模拟交通灯实验一、实验目的1. 学习在PC机系统中扩展简单I/O 接口的方法。
2. 进一步学习编制数据输出程序的设计方法。
3. 学习模拟交通灯控制的方法。
二、实验内容用8255做输出口,控制十二个发光管(4组红绿黄灯)的亮灭,模拟十字路口交通灯管理。
三、实验区域电路连接图PC0→L3;PC1→L7;PC2→L11;PC3→L15;红灯PC4→L2;PC5→L6;PC6→L10;PC7→L14;绿灯PB4→L1;PB5→L5;PB6→L9;PB7→L13。
黄灯8255数据、控制线内部已线连好。
四、编程指南1. 通过8255A控制发光二极管,PB4-PB7对应黄灯,PC0-PC3对应红灯,PC4-PC7对应绿灯,以模拟交通路灯的管理。
2. 要完成本实验,必须先了解交通路灯的亮灭规律,设有一个十字路口l、3为南北方向,2、4为东西方向,初始状态为四个路口的红灯全亮,之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。
延时一段时间后,l、3路口的绿灯熄灭,而l、3路口的黄灯开始闪烁,闪烁若干次以后,l、3路口红灯亮,而同时2、4路口的绿灯亮,2、4路口方向通车,延时一段时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到l、3路口方向,之后,重复上述过程。
3. 程序中设定好8255A的工作模式及三个端口均工作在方式0,并处于输出状态。
4. 各发光二极管共阳极,使其点亮应使8255A相应端口的位清0。
五、程序框图六、实验步骤1. 按连线图连接好,检查无误后打开实验箱电源。
2. 在PC端软件开发平台上输入设计好的程序,编译通过后下载到实验箱。
3. 运行程序后,观察模拟交通管理灯是否按照设计的规律变化。
4. 如果运行不正常就要检查连线,程序。
排查错误,修改程序,直到运行程序正常。
七、实验程序清单及注释根据要求编写程序,最后记录调试成功的程序,写好注释便于自己或他人阅读。
八、实验报告应包括画电路图、实验程序框图、编程(要有注释)、调试过程及心得体会等。
问答题:1.8255A的哪个端口能实现位操作输出(按位置位/复位)?执行控制字写入操作的端口是哪个?2.写出下图中Intel8255A占用的4个端口地址。
AA4实验三8253定时器/计数器实验一、实验目的1.学会8253芯片与微机接口的原理和方法。
2. 掌握8253定时器/计数器的工作原理和编程方法。
二、实验内容编写程序,将8253的计数器0设置为方式2(频率发生器),计数器1设置为方式3(方波频率发生器),计数器0的输出作为计数器1的输入,计数器1的输出接在一个LED上,运行后可观察到该LED在不停地闪烁。
1.编程时用程序框图中的二个计数初值,计算OUT1的输出频率,用表观察LED,进行核对。
2.修改程序中的二个计数初值,使OUT1的输出频率为1Hz,用手表观察LED,进行核对。
3.上面计数方式选用的是16进制,现若改用BCD码,试修改程序中的二个计数初值,使LED的闪亮频率仍为1Hz。
三、实验区域电路连接图CS3→0040H;JX8→JX0;IOWR→IOWR;IORD→IORD;A0→A0;A1→A1;GATE0→+5V;GATE1→+5V;OUT0→CLK1;OUT1→L1;CLK0→0.5MHz;(单脉冲与时钟单元)四、编程指南8253是一种可编程定时/计数器,有三个十六位计数器,其计数频率范围为0-2MHz,用+5V单电源供电。
8253的六种工作方式:⑴方式0:计数结束中断⑷方式3:方波频率发生器⑵方式l:可编程频率发生⑸方式4:软件触发的选通信号⑶方式2:频率发生器⑹方式5:硬件触发的选通信号8253方式控制字SC1SC0RL1RL0M2M1M0BCD00:选择计数器0 01:选择计数器1 10:选择计数器2 11:未使用00:锁定计数器01:选择低8位10:选择高8位11:选择16位(先读写低8位后读写高8位)000:选择方式0001:选择方式1x10:选择方式2x11:选择方式3100:选择方式4101:选择方式5计数码制选择:0:二进制计数1:BCD码计数8253初始化编程1.8253初始化编程8253的控制寄存器和3个计数器分别具有独立的编程地址,由控制字的内容确定使用的是哪个计数器以及执行什么操作。
因此8255在初始化编程时,并没有严格的顺序规定,但在编程时,必须遵守两条原则:①在对某个计数器设置初值之前,必须先写入控制字;②在设置计数器初始值时,要符合控制字的规定,即只写低位字节,还是只写高位字节,还是高、低位字节都写(分两次写,先低字节后高字节)。
2.8253的编程命令8253的编程命令有两类:一类是写入命令,包括设置控制字、设置计数器的初始值命令和锁存命令;另一类是读出命令,用来读取计数器的当前值。
锁存命令是配合读出命令使用的。
在读出计数器值前,必须先用锁存命令锁定当前计数寄存器的值。
否则,在读数时,减1计数器的值处在动态变化过程中,当前计数输出寄存器随之变化,就会得到一个不确定的结果。
当CPU将此锁定值读走后,锁存功能自动失效,当前计数输出寄存器的内容又跟随减1计数器变化。
在锁存和读出计数值的过程中,减1计数器仍在作正常减1计数。
这种机制确保了即能在计数过程中读取计数值,又不影响计数过程的进行。
五、程序框图六、实验步骤1. 按连线图连接好,检查无误后打开实验箱电源。
2. 在PC端软件开发平台上输入设计好的程序,编译通过后下载到实验箱。
3. 运行程序后,观察LED闪烁周期(可以看10次或更多次闪烁时间,以提高观察准确度)。
再按要求调整初始值,使得闪烁周期为1S时间。
4. 如果运行不正常就要检查连线,程序。
排查错误,修改程序,直到运行程序正常。
七、实验程序清单及注释根据要求编写程序,最后记录调试成功的程序,写好注释便于自己或他人阅读。
八、实验报告应包括画电路图、实验程序框图、编程(要有注释)、调试过程及心得体会、计算步骤及结果、观察过程、实验内容部分要求的1Hz及BCD码的修改程序。
问答题:1.8253初始化编程时需要遵循的原则是什么?2.简述8253初始化编程的步骤。
实验四D/A转换器实验一、实验目的了解D/A转换的基本原理,掌握DAC0832芯片的性能、使用方法及对应的硬件电路。
二、实验内容编写程序,要求输出锯齿波、三角波及方波,分别用示波器观察波形;如有能力,把三段程序编在一起,循环输出三种波形。
三、实验区域电路连接图连线如下所示:CS5→8000H;IOWR→IOWR;JX2→JX17;AOUT→示波器。
四、编程指南1. 首先须由CS片选信号确定量DAC寄存器的端口地址,然后锁存一个数据通过0832输出,典型程序如下:MOV DX,DAPORT ;0832口地址MOV AL ,DATA ;输出数据到0832OUTDX ,AL2. 产生波形信号的周期由延时常数确定。
五、程序框图六、实验步骤1. 按连线图连接好,检查无误后打开实验箱电源。
2. 在PC 端软件开发平台上输入设计好的程序,编译通过后下载到实验箱。
3. 运行程序后,用示波器测量0832左侧AOUT 插孔,应有方波或锯齿波输出。
4. 如果运行不正常就要检查连线,程序。
排查错误,修改程序,直到运行程序正常。
七、实验程序清单及注释根据要求编写程序,最后记录调试成功的程序,写好注释便于自己或他人阅读。
八、实验报告应包括画电路图、三个实验程序框图、编程(要有注释)、调试过程及心得体会等。
得到的波形图要标示出示波器的量度(纵向每格电压幅度、横向每格时间标度)。
波形的转折点处要标示清楚。
给出清晰、明了的示波器波形解读(幅度和周期)。
问答题:1、DAC产生波形的频率如何调节?频率上限的限制取决于那些因素?2、如果要求产生正弦波一般用什么方法实现?具体如何实施的(给个方案)。
实验五A/D转换器实验一、实验目的了解模/数转换基本原理,掌握ADC0809的使用方法。
掌握A/D转换与计算机的接口方法,了解ADC0809芯片的转换性能及编程,了解计算机如何进行数据采集。
二、实验内容编写程序,用查询方式采样输入模拟电压(模拟量电压从实验装置的电位器接入),并将其转换为二进制数字量,用发光二极管显示。
三、实验区域电路连接图IN0→AOUT1(可调电压,VIN→+5V);IOWR→IOWR;IORD→IORD;CLK→500K(单脉冲与时钟单元);ADDA、ADDB、ADDC→GND;CS4→8000HJX6→JX17(数据总线)PA0~7→L1~L8四、编程指南1. ADC0809的START端为A/D转换启动信号,ALE端为通道选择地址的锁存信号,实验电路中将其相连,以便同时锁存通道地址并开始A/D采样转换,其输入控制信号为CS 和WR,故启动A/D转换只须如下两条指令:MOV DX,ADPORT ;ADC0809端口地址OUT DX,AL ;发CS和WR信号并送通道地址2. A/D转换芯片为逐次逼近型,精度为8位,每转换一次约100微秒,所以程序若为查询式,则在启动后要加适当延时。