微机原理与接口技术实验指导_3_分支程序设计实验
- 格式:doc
- 大小:238.00 KB
- 文档页数:4
《微机原理及接口技术》实验指导书福建工程学院计算机与信息科学系计算机系统结构教研室实验一 汇编语言程序上机过程一、实验目的1.掌握EDIT 、MASM 、LINK 等软件工具的使用。
2.掌握在计算机上建立、汇编、连接、调试及运行程序的方法。
二、实验内容1.将DISP 单元中存放的一压缩BCD 码内容显示出来。
2.将BUF 单元开始的两个BCD 码相加存放到SUM 单元中,并显示结果。
3.将字节变量DISP 的内容(00H-FFH 任意值)显示出来。
三、实验准备与报告 1.了解实验操作方法,准备好实验程序和数据。
2.记录汇编、连接过程产生的错误及解决办法,设置相关的出错情况,查看汇编结果; 3.记录运行结果,更改数据再运行,记录结果。
4.实验报告主要内容:实验名称、实验目的、实验内容、<实验电路>、程序、实验结果、调试过程记录、总结。
(其它实验也按此要求书写实验报告)实验二 DEBUG 使用实验一、实验目的1.掌握DEBUG 常用命令的使用。
2.进一步了解80X86的存储器和寄存器结构。
3.进一步理解有关指令的功能与应用。
二、实验内容1.进入与退出DEBUG 。
2.用R 命令检查和修改寄存器内容并记录。
3.用D 命令显示内存单元内容并记录。
4.用E 命令修改内存单元内容并记录。
5.A 、U 、T 、P 、G 、N 、W 、L 命令使用。
程序:MOV SI ,0 MOV AX ,[SI] INC SI INC SIADD AX ,[SI] MOV BX ,AX INT 20H(1)使用A 命令输入以上程序;(2)使用U 命令查看输入的程序;(3)使用N 、W 命令将程序存盘;用N 、L 命令重新装载,用U 命令查看; (4)使用DEBUG 的D 、E 命令检查设置(DS ):0000H 起始的四个单元内容; (5)使用R 命令检查、设置有关寄存器的值;(6)分别使用T 、G 命令运行程序,注意观察有关寄存器和单元的变化。
微机原理分支程序设计实验微机原理是计算机科学与技术专业的核心课程之一、在这门课程中,学生需要学习计算机的基本原理和体系结构,并通过实验来巩固所学的知识。
本文将介绍一个关于分支程序设计的微机原理实验。
实验背景:分支程序是计算机中的一种非线性控制结构,它根据条件的不同选择不同的执行路径。
分支程序设计是计算机编程中非常重要的一部分,也是实际应用中经常会遇到的情况之一、通过这个实验,学生将学会如何使用分支结构来解决实际问题。
实验目的:1.了解分支程序设计的基本概念和原理。
2.掌握使用条件语句和循环语句来实现分支程序。
3.通过实际案例分析和编程实践,巩固所学的知识。
实验内容:本实验以学生成绩管理系统为例,通过判断学生的成绩等级来计算总评成绩,并输出等级信息。
分支程序设计的思路如下:1.输入学生的成绩。
2.根据成绩的范围判断学生的等级。
3.根据等级计算总评成绩。
4.根据总评成绩输出相应的等级信息。
实验步骤:1.在开发环境中创建一个新的项目,并新建一个名为“GradeManage”的源文件。
2.在源文件中定义一个成绩变量和一个等级变量,并使用输入函数从键盘读取学生的成绩。
3.使用条件语句根据成绩的范围判断学生的等级,并将等级赋值给等级变量。
4.使用条件语句根据等级计算总评成绩,并将结果赋值给一个总评成绩变量。
5.使用条件语句根据总评成绩输出相应的等级信息。
6.在屏幕上显示输出结果。
7.编译并运行程序,进行测试。
实验总结:通过本实验,我学会了如何设计并实现一个简单的分支程序。
在实验过程中,我深入了解了分支结构的原理和使用方法,并通过编程实践巩固了所学的知识。
分支程序设计在实际应用中非常广泛,掌握这一技能对于计算机科学与技术专业的学生来说非常重要。
在今后的学习和工作中,我将继续探索和学习更多关于分支程序设计和其他相关知识,以提高自己的编程能力。
基础实验一、汇编过程与DEBUG调试实验一、实验目的:1.熟悉DEBUG常用命令。
2.熟悉汇编指令及其寻址方式和对标志位的影响。
3.学会用汇编语言设计、编写、调试和运行程序的方法。
二、实验内容:1.使用文本编辑程序建立名为B.ASM的源程序文件,并输入下面程序内容,然后存盘。
DA TA SEGMENTX DD 99AABBCCHY DD 55667788HZ DD ?DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTART: MOV AX, DATAMOV DS, AXMOV DI, OFFSET ZMOV AX, WORD PTR XADD AX, WORD PTR YMOV [DI], AXMOV AX, WORD PTR X[2]ADC AX, WORD PTR Y[2]MOV [DI+2], AXEXIT: MOV AX, 4C00HINT 21HCODE ENDSEND START问:1)程序的功能是什么?2)数据标号X、Y、Z的地址(偏移量)分别是多少?3)程序的各条语句中源操作数和目的操作数分别是什么寻址方式?4)标号EXIT后面的2条指令有什么功能?5)在在标号地址EXIT处设置断点,在程序暂停时从相应内存单元检查Z的内容,看结果是否正确。
2. 编写程序,用8086指令实现双字操作数X的内容循环左移N位。
编程提示:1)如果要对双精度数(双字)DX:AX循环左移1位,可用如下指令段:SAL AX, 1 ;将AX内容算术左移1位,最低位补0,最高位移至进位位CF RCL DX, 1 ;将DX内容带进位循环左移1位,原CF内容移至DX最低位,;DX最高位移至CFADC AX, 0 ;CF内容即原DX最高位加至AX最低位2)如果要对双精度数(双字)DX:AX循环左移N位,则将上述程序段循环执行N次即可。
3. 编写程序,在屏幕上显示一段英文信息,如“Hello Kitty!”或者你喜欢的其他一段文字。
2.3 分支程序设计实验2.3.1 实验目的1、掌握分支程序的设计方法。
2、掌握宏定义及宏调用的基本方法。
3、了解小写和大写字母的ASCII码表示及其转换方法。
了解数字及其它字符在的ASCII码表示方法。
4、进一步掌握调试工具的使用方法2.3.2 实验预习要求1、复习比较指令、条件转移指令的用法。
2、复习宏定义及宏调用的基本方法。
3、根据“2.3.3 实验内容”中给出的流程图和程序框架编写源程序,以便上机调试。
4、程序框架中显示提示信息的指令序列用宏调用实现。
5、从“2.3.4 实验习题”中任选一道题目,编写源程序,以便上机调试。
2.3.3 实验内容从键盘输入一字符,判断该字符是小写字母、大写字母、数字或其它字符。
若输入为小写字母,显示“Y ou Input a Lowercase Letter!”;若输入为大写字母,显示“Y ou Input a Uppercase Letter!”;若输入为数字,显示“Y ou Input a Digit!”;若输入为其它字符,显示“Y ou Input Other Letter!”。
1、编程指导数字0~9的ASCII码为30H~39H;大写字母的ASCII码为41H~5AH,小写字母的ASCII码为61H~7AH。
本题目将字符分为小写字母、大写字母、数字及其它字符,根据键入字符的ASCII码值判断其所属类型,并显示相应的信息。
字符串显示使用功能号为09H的DOS功能调用,接收键盘输入的单个字符使用功能号为01H的DOS功能调用。
2、流程图及程序框图(1)流程图(2)程序框架DA TA SEGMENTINFOR1 DB 0AH,0DH,"PLEASE PRESS ANY KEY TO INPUT A LETTER: $"INFOR2 DB 0AH,0DH,"YOU INPUT A LOWERCASE LETTER! $"INFOR3 DB 0AH,0DH,"YOU INPUT A UPPERCASE LETTER! $"INFOR4 DB 0AH,0DH,"YOU INPUT A DIGIT! $"INFOR5 DB 0AH,0DH,"YOU INPUT OTHER LETTER! $"DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTART:MOV AX,DA TAMOV DS,AXMOV DX, OFFSET INFOR1MOV AH,09HINT 21HMOV AH,01HINT 21HMOV DX, OFFSET INFOR1MOV AH,09HCMP AL,'0'JB OTHERCMP AL,'9'JBE DIGITCMP AL,'A'JB OTHERCMP AL,'Z'JBE UPPERCMP AL,'a'JB OTHERCMP AL,'z'JBE LOWERJMP PENDLOWER:MOV DX,OFFSET INFOR2MOV AH,09HINT 21HJMP PENDUPPER:MOV DX,OFFSET INFOR3MOV AH,09HINT 21HJMP PENDDIGIT:MOV DX,OFFSET INFOR4MOV DX,OFFSET INFOR4MOV AH,09HINT 21HJMP PENDOTHER:MOV DX,OFFSET INFOR5MOV AH,09HINT 21HPEND:MOV AH,4CHINT 21HCODE ENDSEND START2.3.4 实验习题1、在屏幕上显示信息“Are you really want to exit?”,然后从键盘输入一个字符,若输入“Y”或“y”,显示“Thank you for your using!”后程序结束;若输入“N”或“n”,显示“Let’s continue!”后程序结束;若输入其它字符,显示“Y ou press an error key!”后程序结束(要求尽量使用宏指令以便使源程序更加简洁)。
《微机原理与接口技术》课程实验指导书实验内容EL-8086-III微机原理与接口技术教学实验系统简介使用说明及要求✧实验一实验系统及仪器仪表使用与汇编环境✧实验二简单程序设计实验✧实验三存储器读/写实验✧实验四简单I/0口扩展实验✧实验五8259A中断控制器实验✧实验六8253定时器/计数器实验✧实验七8255并行口实验✧实验八DMA实验✧实验九8250串口实验✧实验十A/D实验✧实验十一D/A实验✧实验十二8279显示器接口实验EL-8086-III微机原理与接口技术教学实验系统简介使用说明及要求EL-8086-III微机原理与接口技术教学实验系统是为微机原理与接口技术课程的教学实验而研制的,涵盖了目前流行教材的主要内容,该系统采用开放接口,并配有丰富的软硬件资源,可以形象生动地向学生展示8086及其相关接口的工作原理,其应用领域重点面向教学培训,同时也可作为8086的开发系统使用。
可供大学本科学习《微机原理与接口技术(8086)》,《单片机应用技术》等课程提供基本的实验条件,同时也可供计算机其它课程的教学和培训使用。
为配合使用EL型微机教学实验系统而开发的8086调试软件,可以在WINDOWS 2000/XP等多种操作系统下运行。
在使用本软件系统调试程序时,可以同时打开寄存器窗口、内存窗口、反汇编窗口、波形显示窗口等等,极大地方便了用户的程序调试。
该软件集源程序编辑、编译、链接、调试与一体,每项功能均为汉字下拉菜单,简明易学。
经常使用的功能均备有热键,这样可以提高程序的调试效率。
一、基本特点EL型微机教学实验系统是北京精仪达盛科技有限公司根据广大学者和许多高等院校实验需求,结合电子发展情况而研制的具有开发、应用、实验相结合的高科技实验设备。
旨在尽快提高我国电子科技发展水平,提高实验者的动手能力、分析解决问题能力。
系统具有以下特点:1、系统采用了模块化设计,实验系统功能齐全,涵盖了微机教学实验课程的大部分内容。
微机原理与接口技术实验指导书实验一:微处理器概述及数据传输实验一、实验目的•了解微处理器的基本概念和工作原理;•学习数据传输的基本知识;•掌握使用微处理器进行数据传输的方法。
二、实验器材•1个微处理器开发板;•1个串行通信模块;•相应的连接线。
三、实验内容在该实验中,你将学习如何使用微处理器进行数据传输,具体实验步骤如下:1.将开发板和串行通信模块连接起来;2.将数据发送器连接到串行通信模块的发送端口,将数据接收器连接到串行通信模块的接收端口;3.通过开发板上的开关设置要发送的数据;4.通过串行通信模块将数据发送到计算机;5.在计算机上使用相应的软件接收数据,并验证接收到的数据是否正确。
四、实验步骤1.将开发板和串行通信模块连接起来,确保连接正确并稳定;2.将数据发送器插入串行通信模块的发送端口,将数据接收器插入串行通信模块的接收端口;3.在开发板上的开关上设置要发送的数据;4.打开计算机上的串行通信软件,配置正确的串口号和波特率;5.点击软件的接收按钮,准备接收数据;6.在开发板上的开关上切换到发送模式,并观察串行通信模块的指示灯是否正常闪烁;7.在串行通信软件上观察接收到的数据是否与设置的数据一致;8.如果数据传输正常,则实验完成。
五、实验注意事项1.连接线务必稳固连接,确保数据传输正常;2.阅读并理解实验器材的使用说明书;3.注意保持实验环境的整洁,避免影响实验结果;4.在进行数据传输时,确保计算机已正确安装了相应的驱动程序。
六、实验总结通过这次实验,我们初步了解了微处理器的基本概念和工作原理,学习了数据传输的基本知识,并掌握了使用微处理器进行数据传输的方法。
我们在实验中成功地连接了开发板和串行通信模块,并成功地进行了数据传输。
通过实验,我们发现数据传输过程中需要注意连接线的稳固连接,以及计算机是否安装了相应的驱动程序。
实验的结果验证了我们的操作方法的正确性,同时也为后续实验奠定了基础。
注意:本指导书旨在引导实验过程,实验过程中如有任何危险情况,请立即停止实验并寻求实验室管理员的帮助。
《微机原理及接口技术B》实验指导书※实验环境实验设备——唐都TD-PITE 80X86 微机原理及接口技术微机实验平台。
每套设备包括实验箱一台、配备安装有Wmd86联机操作软件的PC微机一台、连接线及电源线。
图1 实验平台连接示意图图2 唐都TD-PITE实验箱图3 唐都TD-PITE实验箱布局图操作步骤:1、打开电脑。
2、插好实验平台电源线。
3、通过串口连接线连接实验箱与微机。
4、打开Wmd86联机操作软件。
5、检查端口是否选择好。
6、进行实验接线。
7、录入汇编程序。
8、编译、链接、下载,观察结果。
图4 Wmd86联机操作软件实验一定时器的使用1.实验目的和意义●熟悉接口试验箱的使用环境。
●体会接口电路通过外部总线与处理器连接原理。
●掌握可编程芯片8253的编程方法。
2.实验设备PC 机一台,TD-PITE 实验装置一套。
3.实验内容1、编写程序,将8254 的计数器0 和计数器1 都设为方式3,用信号源1MHz 作为CLK0时钟,OUT0 为波形输出1ms 方波,再通过CLK1 输入,OUT1 输出1s 方波。
2、编写程序,将8254 的计数器0 设为方式3,计数值为十进制数4,用单次脉冲KK1+作为CLK0 时钟,OUT0 连接MIR7,每当KK1+按动 5 次后产生中断请求,在Wmd86程序运行结果栏上显示字符M 。
改变计数值,验证8254 的计数功能。
4.背景知识〔1〕8254的功能➢8253具有三个独立的16位计数器〔0#~2#通道〕;➢每个通道有6种工作方式;➢可以进行二进制或十进制计数,计数方式为减1计数。
〔最高计数频率2.6MHZ〕〔2〕8254 的内部结构和外部引脚图1.1 8254内部结构图1.2 8254外部引脚〔3〕8254 的工作方式●方式0:计数到0 结束输出正跃变信号方式。
●方式1:硬件可重触发单稳方式。
●方式2:频率发生器方式。
●方式3:方波发生器。
●方式4:软件触发选通方式。
实验三 分支程序设计一、实验要求和目的1.熟悉汇编语言程序设计结构;2.熟悉汇编语言分支程序基本指令的使用方法;3.掌握利用汇编语言实现单分支、双分支、多分支的程序设计方法。
二、软硬件环境1.硬件环境:微机CPU 486以上,500MB 以上硬盘,32M 以上内存; 2.软件环境:装有MASM 5.0、DEBUG 、LINK 和EDIT 等应用程序。
三、实验涉及的主要知识单元在实际应用中,经常根据一些条件来选择一条分支执行。
汇编语言的条件判断主要是通过状态寄存器中的状态位、无符号数相减或有符号和相减而导致的结果来进行。
下面就有符号数转移指令来了解在汇编语言程序设计方法。
四、实验内容与步骤1.实验内容(1)编写计算下面函数值的程序:⎪⎩⎪⎨⎧<-=>=0,10,00,1x x x y设输入数据为X 、输出数据Y ,且皆为字节变量,使用Debug 查看X 、Y 两个变量的数据(2)以ARRAY 为首地址的内存单元中,存放5个8位的不带符号数,找出5个数中的最大数,并将结果存入RESULT 字节单元中。
2.实验步骤 a.实验流程图(1)计算函数值的流程图b.编写程序(1)计算函数值的实验代码 DATA SEGMENT X DB 12 Y DB ?DATA ENDS STACK SEGMENT STACK'STACK' DB 100H DUP(?)STACK ENDS CODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV AL,XXCMP AL,0 ;把AX 与0比较 JGE BIGPR ;0≥AL 转入BIGPR MOV Y,0FFFFH ;0<AL 则1-=Y JMP EXITBIGPR: JE EQUPR ;0=AL 转入EQUPR MOV Y,1 ;0>AL 则1=Y JMP EXITEQUPR: MOV Y,0 ;0=AL 则0=Y EXIT: MOV AL,Y RET CODE ENDSEND START(2)查找最大值的实验代码 DATA SEGMENTARRAY DB 2,1,4,5,3 RESULT DB ? DATA ENDSSTACK SEGMENT STACK'STACK' DB 100H DUP(?) STACK ENDS CODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX LEA BX,ARRAYMOV AL,[BX] ;ARRAY 第一个数存入BX MOV CX,5 ;置循环次数 LOP: INC BX ;指针变量增1CMP AL,[BX] ;比较AL 中数与[BX]的大小JAE L1;][BX AL ≥转入L1MOV AL,[BX];][BX AL <则][BX AX ←L1: LOOP LOP ;执行循环LOP 程序MOV RESULT,AL MOV AH,4CH INT 21H CODE ENDSEND STARTc.对程序进行debug 调试,观察中间结果 (1)计算函数值的调试 1.反汇编内容①MOV AL,XX 反汇编后变成MOV AL,[0000],即XX 为数据段第一个存储单元的内容,数据段的起始偏移地址为0000。
微机原理与接口技术实验报告微机原理与接口技术实验报告一、引言微机原理与接口技术是计算机科学与技术专业中的一门重要课程,通过学习该课程可以了解计算机硬件的基本原理和接口技术的应用。
本实验报告旨在总结和分析我们小组在该课程中进行的实验内容和实验结果,以及对所学知识的理解和应用。
二、实验目的本次实验的主要目的是通过实际操作,深入理解微机原理和接口技术的相关知识,掌握计算机硬件的基本原理和接口技术的应用方法。
具体实验目标如下:1. 熟悉计算机硬件的基本组成和工作原理;2. 学习并掌握接口技术的基本原理和应用方法;3. 能够使用接口技术实现不同设备之间的数据传输和通信。
三、实验内容本次实验主要包括以下几个方面的内容:1. 计算机硬件的基本组成和工作原理:通过拆解和组装计算机主机,了解主板、CPU、内存、硬盘等硬件组件的作用和相互连接方式,以及计算机的工作原理。
2. 接口技术的基本原理和应用方法:学习串口、并口、USB等接口的工作原理和应用场景,了解不同接口的特点和使用方式。
3. 使用接口技术实现数据传输和通信:通过编写程序和使用相应的接口设备,实现计算机与外部设备之间的数据传输和通信,如串口通信、并口通信等。
四、实验过程与结果在实验过程中,我们首先进行了计算机硬件的拆解和组装实验,通过拆解主机并观察各个硬件组件,深入了解了计算机的内部结构和工作原理。
然后,我们学习了串口和并口的基本原理和使用方法,并通过实际操作进行了串口和并口通信的实验。
最后,我们使用USB接口实现了计算机与外部设备之间的数据传输和通信。
在实验中,我们成功地通过串口实现了计算机与打印机之间的数据传输和通信,实现了打印机的控制和数据输出。
同时,我们还通过并口实现了计算机与外部设备之间的数据传输和通信,成功地控制了外部设备的运行和数据输入。
此外,我们还成功地使用USB接口实现了计算机与移动存储设备之间的数据传输和通信,实现了文件的读写和存储。
微机原理及接口技术实验指导书书写实验名称时请按下表内容填写:实验一、熟悉实验运行环境实验一、实验目的1、熟悉汇编语言程序的调试环境2、掌握部分DEBUG命令二、实验内容编写一个汇编语言程序,计算1+2+3+…+99+100,并将结果存入SUM字单元。
通过调试程序熟悉汇编语言的上机操作过程及部分命令。
三、上机操作过程1、建立ASM文件(编辑源程序)使用编辑程序EDIT在磁盘上建立源程序EX.ASM例如:D:\MASM>EDIT EX.ASM用MASM程序产生OBJ文件源文件建立后,就要用汇编程序对源文件汇编,汇编后产生二进制的目标文件(OBJ文件)例如:D:\MASM>MASM EX3 、用LINK程序产生EXE文件汇编程序已产生出二进制的目标文件(OBJ),但OBJ文件并不是可执行文件,还必须使用连接程序(LINK)把目标文件转换为可执行的EXE文件例如:D:\MASM>LINK EX4、调试运行在建立了EXE文件后,就可以直接从DOS执行程序。
如果用户程序有错误或者没有直接将结果在终端上显示出来,程序执行完之后无法看见正确的结果。
那么怎么知道程序执行的结果是正确的呢?此外,大部分程序必须经过调试阶段才能纠正程序执行中的错误,得到正确的结果。
这里就要使用调试程序。
例如:D:\MASM>DEBUG EX.EXE①R命令显示或修改寄存器中的内容例如:_R BXBX 0369:059E不作修改,直接回车;否则键入修改内容,并回车②U命令反汇编a、_U[地址] 从指定地址开始,反汇编32个字节。
如果地址省略,则从上一个U命令的最后一条指令的下一个单元开始显示32个字节b、_U[范围] 对指定范围的内存单元进行反汇编例如:_U 04BA:0100 0108③T命令单步执行命令(一次执行一条指令)例如:从代码段的0000H处开始单步执行_R IPIP XXXX: 0000_T④G命令执行命令(执行多条指令)_G 地址1 地址2表示从地址1开始执行指令到地址2结束例如:从代码段的0000H处开始连续执行指令,知道0013H处_R IPIP XXXX: 0000_G 0013⑤D命令显示内存单元的内容a、_D 地址b、_D 范围例如:显示数据段中0000H开始的若干个字节单元的内容_D DS:0000例如:显示数据段中0000H到0010H各字节单元的内容_D DS:0000 0010⑥E命令修改存储单元的内容例如:修改数据段0002H字节单元的内容为0FFH_E DS:0002XXXX:0002 XX FF⑦Q命令退出DEBUG程序实验二、分支程序设计一、实验目的1、掌握分支程序的结构形式2、掌握分支程序的设计方法 二、实验内容1、计算分段函数,X 为8位带符号数2、算法分析先将X 的范围确定在-10≤x ≤20之内,除此之外结果全为0,然后计算X+5,再根据结果的符号求绝对值。
DVCC实验仪器简介微机原理及接口技术实验采用DVCCJH598实验仪器完成。
通过实验,可使学生基本掌握MCS-51单片机的结构、原理、接口技术、编程技巧。
实验过程,将实验仪器与PC机通过串行口连接。
实验仪器布局如图1所示。
图1 DVCCJH598实验仪布局图实验源程序在DVCCJH598实验软件上输入。
软件界面如图2所示。
图2 DVCC软件界面其中各菜单功能如下:文件:主要完成文件新建、打开已有文件、保存。
编译:包括编译文件、编译连接文件、编译连接并传送文件。
编译主要检查源文件语法错误,如没有语法错误,编译器将生成源文件的目标代码。
编译连接文件:主要针对多文件汇编,可以对多文件编译并连接成目标文件。
编译连接并传送文件:编译连接并将目标文件传送给DVCC实验仪。
选项:完成对实验仪的设置。
动态调试:对文件进行单步或连续运行。
实验指南:给出相关实验的目标、内容、原理图等。
第一部分软件实验实验一清零程序一、实验目的二、实验内容把7000H-70FFH的内容清零。
三、实验程序框图四、主要仪器设备及耗材微机原理与接口技术实验板、PC机五、实验步骤1)将DVCC仿真实验系统联PC机;2)在PC机上输入源程序,并编译;3)联接DVCC实验系统,装载目标文件;4)设置PC起始地址5)从起始地址开始连续运行程序(F9)或单步(F8)或断点运行程序6)单步、断点运行完后,在存贮器窗口内检查7000H-70FFH中的内容是否全为00H。
六、思考题假使要把7000H-70FFH中的内容改成FF,如何编制程序?实验二拆字程序一、实验目的掌握汇编语言设计和调试方法。
二、实验内容把7000H的内容拆开,高位送7001H低位,低位送7002H低位。
7001H、7002H高位清零,一般本程序用于把数据送显示缓冲区时用。
三、实验框图四、主要仪器设备及耗材微机原理与接口技术实验板、PC机五、实验步骤1)将DVCC仿真实验系统联PC机;2)在PC机上输入源程序,并编译;3)联接DVCC实验系统,装载目标文件;4)用存贮器读写方法将7000H单元置成34H;5)设置PC起始地址0050H6)从起始地址开始连续运行程序(F9)或单步(F8)或断点运行程序7)单步、断点运行完后,在存贮器窗口内检查7001H和7002H单元中的内容是否为03H 和04H。
微机原理及接口技术——实验报告学号: xxxxxx姓名: xxxxx专业: 网络工程实验一: 系统认知1.1实验目的掌握 TD 系列微机原理及接口技术教学实验系统的操作, 熟悉Wmd86 联机集成开发调试软件的操作环境。
通过顺序程序设计与分支程序设计来进行举例。
1.2实验设备PC 机一台, TD-PITE 实验装置一套。
1.3实验内容内存从BUFF开始的单元中存放着两个字数据X、Y, 完成X+Y, 并将相加的和(假设仍为一个字数据)存放于内存从RESULT开始的存储单元中。
DATA SEGMENTBUFF DW X,YRESULT DW ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV AX,BUFFADD AX,BUFF+2MOV RESULT,AXMOV AH,4CHINT 21HCODE ENDSEND START加载程序后调试, R寄存器;U反汇编;D显示数据;E修改数据。
1.4实验截图实验二分支程序设计2.1实验目的1.掌握分支程序的结构.2.掌握分支程序的设计、调试方法.2.2实验设备PC 机一台, TD-PITE 实验装臵一套。
2.3实验内容1, X>0求函数Y= 0, X=0-1, X<0程序如下:DATA SEGMENTVAR1 DB XVAR2 DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START:MOV AX,DATAMOV DS,AXMOV AL, VAR1CMP AL, 0JGE BIGMOV VAR2,0FFHJMP DONEBIG:JE EQULMOV VAR2,1JMP DONEEQUL:MOV VAR2, 0DONE:MOV AH, 4CHINT 21HCODE ENDSEND START实验三循环程序设计3.1实验目的1)加深对循环结构的理解。
《微机原理与接口技术》实验指导书试验地点: 图书馆三楼西南机房实验一初级程序的编写与调试实验一、实验内容1.设堆栈指针SP=2000H,AX=3000H,BX=5000H请编一程序段将AX的内容和BX的内容进行交换。
请用堆栈作为两寄存器交换内容的中间存储单元,用DEBUG调试程序进行汇编与调试。
2.设AX=0002H,编一个程序段将AX的内容乘10,要求用移位的方法完成。
3.设DS=当前段地址,BX=0300H,SI=0002H,请用DEBUG的命令将存储器偏移地址300H~304H连续单元顺序装入0AH、0BH、0CH、0DH、0EH。
在DEBUG状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程?当数据传送完毕时,AX中的内容是什么?程序清单如下:(P120)MOV AX, BXMOV AX, 0304HMOV AX, [0304H]MOV AX, [BX]MOV AX, 0001[BX]MOV AX, [BX][SI]MOV AX, 0001[BX][SI]HLT二、实验目的和要求实验目的1.掌握DUBUG的常用命令,学会用DEBUG调试程序。
2.深入了解数据在存储器中的存储方法,及堆栈中数据的压入与弹出。
3.熟练掌握各种寻址方法以及简单指令的执行过程。
实验要求1.实验前要作好充分准备,包括汇编程序清单、调试步骤、调试方法,对程序结果的分析等。
2.本实验要求在PC机上进行。
3.本实验只要求在DEBUG调试程序状态下进行,包括汇编程序,调试程序,执行程序。
三、预习要求熟悉并掌握DEBUG的常用命令的格式和功能,其中主要包括(1)汇编命令A(2)显示内存命令D(3)修改存储单元内容命令E(4)反汇编命令U(5)命名命令N(6)读盘命令L(7)写盘命令W(8)运行命令G(9)检查和修改寄存器内容命令R(10)追踪与显示命令T(11)结束DEBUG返回DOS命令Q四、实验设备(软、硬件)1、IBM PC和(PC/XT、AT、286、386、486)2、BH-86/51 通用微机实验培养装置五、仪器使用说明PC-86系列微机调试程序——DEBUG1. DEBUG的主要功能(1)调试程序DEBUG是专为小汇编和宏汇编语言设计的一种调试工具。
实验一、认识Tddebug集成操作软件一.实验内容(一)实验题目:数据传送实验1. 编程将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。
2. 修改此程序,采用字符串传送指令完成。
(二)实验目的:通过对该程序进行调试,查看程序段、数据段、附加段装入内存后的分配情况。
单步执行数据传送指令后,观察各个寄存器及数据区的内容。
(三)实验步骤:1. 运行Tddebug软件,选择Edit菜单编写实验程序2.使用Compile菜单中的Compile和Link对实验程序进行汇编、连接,生成执行文件。
3.使用Rmrun菜单中的Run运行程序,观察运行结果。
4.使用Rmrun菜单中的Debug调试程序,查看程序段、数据段、附加段装入内存后的分配情况。
单步执行数据传送指令后,观察各寄存器及数据区的内容。
过程如下:1)按F7单步执行,在代码区中有一个三角,表示正在执行的指令。
每一条指令的执行一定会使目标寄存器和状态寄存器发生变化,从相关窗口看结果。
2)检查内存数据区的内容,关键是找出用户程序的数据段和附加段:●方法1:在CPU窗口按Tab键使内存数据显示区成为活动区,按Ctrl+G键,输入:“DS或ES寄存器的值:偏移地址”,即可显示用户指定的数据区●方法2:选择菜单View| Dump,弹出内存数据显示窗口。
3) 查看执行结果:按Alt+F5,切换到用户窗口。
5.更改数据区中的数据,考察、调试程序的正确性。
二.分析设计思想,绘制实验原理图、流程图。
汇编语言程序的开发过程如图1.1所示,这个过程主要有编辑、编译、链接几个步骤构成。
三.程序清单及相关注释。
DDATA SEGMENT ;定义源数据段MSR DB "HELLO,WORLD!$"LEN EQU $- MSRDDATA ENDSEXDA SEGMENT ;定义附加数据段MSD D B LEN DUP(?)EXDA ENDSMYSTACK SEGMENT ;定义堆栈段STACK DW 20 DUP(?)MYSTACK ENDSCODE SEGMENT ;定义代码段ASSUME CS:CODE,DS:DDATA,ES:EXDASTART: MOV AX,DDATAMOV DS,AX ;装载数据段寄存器MOV AX,EXDAMOV ES,AX ;装载附加数据段寄存器MOV SI,OFFSET MSRMOV DI,OFFSET MSDMOV CX,LENMOV BX,0NEXT: MOV AL,MSR[BX] ;开始传输数据MOV ES:MSD[BX],ALINC BXLOOP NEXTPUSH ESPOP DS ;将附加段寄存器指向的段值赋给数据段寄存器MOV DX,OFFSET MSDMOV AH,9INT 21H ;显示字符串MOV AH,4CHINT 21H ;返回DOS状态CODE ENDSEND START四.实验结果并分析。
2.3 分支程序设计实验
2.3.1 实验目的
1、掌握分支程序的设计方法。
2、掌握宏定义及宏调用的基本方法。
3、了解小写和大写字母的ASCII码表示及其转换方法。
了解数字及其它字符在的ASCII码表示方法。
4、进一步掌握调试工具的使用方法
2.3.2 实验预习要求
1、复习比较指令、条件转移指令的用法。
2、复习宏定义及宏调用的基本方法。
3、根据“2.3.3 实验内容”中给出的流程图和程序框架编写源程序,以便上机调试。
4、程序框架中显示提示信息的指令序列用宏调用实现。
5、从“2.3.4 实验习题”中任选一道题目,编写源程序,以便上机调试。
2.3.3 实验内容
从键盘输入一字符,判断该字符是小写字母、大写字母、数字或其它字符。
若输入为小写字母,显示“Y ou Input a Lowercase Letter!”;若输入为大写字母,显示“Y ou Input a Uppercase Letter!”;若输入为数字,显示“Y ou Input a Digit!”;若输入为其它字符,显示“Y ou Input Other Letter!”。
1、编程指导
数字0~9的ASCII码为30H~39H;大写字母的ASCII码为41H~5AH,小写字母的ASCII码为61H~7AH。
本题目将字符分为小写字母、大写字母、数字及其它字符,根据键入字符的ASCII码值判断其所属类型,并显示相应的信息。
字符串显示使用功能号为09H的DOS功能调用,接收键盘输入的单个字符使用功能号为01H的DOS功能调用。
2、流程图及程序框图
(1)流程图
(2)程序框架
DA TA SEGMENT
INFOR1 DB 0AH,0DH,"PLEASE PRESS ANY KEY TO INPUT A LETTER: $"
INFOR2 DB 0AH,0DH,"YOU INPUT A LOWERCASE LETTER! $"
INFOR3 DB 0AH,0DH,"YOU INPUT A UPPERCASE LETTER! $"
INFOR4 DB 0AH,0DH,"YOU INPUT A DIGIT! $"
INFOR5 DB 0AH,0DH,"YOU INPUT OTHER LETTER! $"
DA TA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DA TA
START:MOV AX,DA TA
MOV DS,AX
MOV DX, OFFSET INFOR1
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H
MOV DX, OFFSET INFOR1
MOV AH,09H
CMP AL,'0'
JB OTHER
CMP AL,'9'
JBE DIGIT
CMP AL,'A'
JB OTHER
CMP AL,'Z'
JBE UPPER
CMP AL,'a'
JB OTHER
CMP AL,'z'
JBE LOWER
JMP PEND
LOWER:
MOV DX,OFFSET INFOR2
MOV AH,09H
INT 21H
JMP PEND
UPPER:
MOV DX,OFFSET INFOR3
MOV AH,09H
INT 21H
JMP PEND
DIGIT:MOV DX,OFFSET INFOR4
MOV DX,OFFSET INFOR4
MOV AH,09H
INT 21H
JMP PEND
OTHER:
MOV DX,OFFSET INFOR5
MOV AH,09H
INT 21H
PEND:MOV AH,4CH
INT 21H
CODE ENDS
END START
2.3.4 实验习题
1、在屏幕上显示信息“Are you really want to exit?”,然后从键盘输入一个字符,若输入“Y”或“y”,
显示“Thank you for your using!”后程序结束;若输入“N”或“n”,显示“Let’s continue!”后程序结束;若输入其它字符,显示“Y ou press an error key!”后程序结束(要求尽量使用宏指令以便使源程序更加简洁)。
2、在屏幕上显示如下信息:
1------------------------Panda
2------------------------Cat
3------------------------Rabbit
4------------------------Pig
5------------------------EXIT
(Please choose 1,2,3,4or 5)-----
若输入1,显示“I like panda”后程序结束;若输入2,显示“I like cat”后程序结束;若输入3,显示“I like rabbit”后程序结束;若输入4,显示“I don’t like pig”后程序结束;若输入5,程序直接结束;若输入其它字符,显示“Y ou press an error key!”后程序结束(要求尽量使用宏指令以便使源程序更加简洁)。
2.3.5 实验报告要求
1、补全“2.3.3 实验内容”中源程序框架内未写出的程序代码,并说明你在调试该程序过程中遇到了哪
些问题,是如何处理的。
2、从“2.3.4 实验习题”中任选一道题目,画出流程图,编写源程序,并说明在调试过程中遇到了哪些
问题,是如何处理的。
3、写出实验小结,内容包括实验心得(收获)、不足之处或今后应注意的问题等。
4、题目:
在屏幕上显示信息“Are you really want to exit?”,然后从键盘输入一个字符,若输入“Y”或“y”,显示“Thank you for your using!”后程序结束;若输入“N”或“n”,显示“Let’s continue!”后程序结束;若输入其它字符,显示“Y ou press an error key!”后程序结束(要求尽量使用宏指令以便使源程序更加简洁)。
程序流程图:
程序代码:。