您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 建筑材料 > 微机原理与接口技术_朱有产_实验指导书
《微机原理及接口技术》实验指导书实验一汇编语言程序设计1一.实验目的1.学习程序设计的基本方法和技能,熟练掌握用汇编语言设计、编写、调试和运行程序的方法。为后续课程打下坚实的基础。2.学会不同进位制数及编码相互转换的程序设计、调试和取得结果的方法。二.实验设备1.网管中心微机机房PC机三.实验准备1.根据实验目的认真做好实验前的预习,记住操作方法;2.预先编制好实验用的程序,提高实验效率。四.实验要求程序调试完后,须由实验辅导教师在机器上检查运行结果,经认可后在实验指导书签字,才算完成。每个实验完成后,应写出实验报告。实验报告的要求如下:1.设计说明:说明程序的功能、结构、原理及算法。2.调试说明:上机时遇到的问题及解决办法的调试情况,观察到的现象及其分析,对程序设计技巧的总结以及程序输出结果的分析,实验的心得体会等。3.程序框图。4.程序清单。五.实验内容、步骤1..编语言程序上机操作方法实验举例如下:例1.1比较字符串bjchx试编写一程序,比较两个字符串string1和string2所含的字符是否相同,若相同则显示‘Match’,否则,显示‘Nomatch’。我们可以用串比较指令来完成题目所要求的功能。上机过程如下:(1)建立asm文件在windows系统环境下,应用写字板编辑程序建立源文件。(2)用汇编程序MASM队源文件汇编产生目标文件.OBJ在windows环境下,点击masm文件,而后输入.asm的文件名:C:MASMABC.ASM↙如汇编指示出错则需重新调用编辑程序修改错误,直到汇编通过为止。如调试时需要用Lst文件,则应在汇编过程中建立该文件。(3)用连接程序LINK产生可执行文件EXE在windows环境下,点击link文件,而后输入*.obj的文件名:C:LINKABC.OBJ↙(4)执行程序在windows环境下,点击*.exe文件运行程序,也可在dos的环境下执行程序如下:C:ABC↙Match.是屏幕终端上显示出程序运行结果。另一种调试程序的方法是使用debug程序。2.系统操作练习(一)数据传送练习将内存DATA1单元开始的0~15共16个数传送到DATA2单元开始的数据区中。(二)数码转换程序调试练习将ASCII码表示的十进制数转换为二进制数。六.编程练习(A)编程实现将十进制数的ASCII码转换为BCD码。要求:用DEBUG的E命令从键盘输入的五位十进制数的ASCII码已存放在3500H起始的内存单元内(例30H、30H、32H、34H、30H),把它转换为BCD码后,再分别存入350AH起始的内存单元内。若输入的不是十进制数的ASCII码,则对应存放结果的单元内容为“FF”。(B)编程将十六位二进制数(用二字节十六进制数表示)转换为五位ASCII码表示的十进制数。要求:在3500H~3501H单元存放被转换的十六位二进制数(例00AAH),转换结果存放到3510H~3514H单元中。(C)编程将存入3500H~3501H单元中的二字节四位十六进制数(例20ABH)转换为四字节的ASCII码,转换结果存入起始地址为350AH的内存单元中。(D)编程实现将存入3500H~3507H单元中的四个十进制数非压缩BCD码(例:0102,0304,0506,0708),转换成二进制数码(用十六进制数表示),并存入起始地址为3510H的内存单元中。(E)编程实现将存入3600H~3603H单元中的四个十进制数压缩BCD码(例:12,34,56,78),转换成二进制数码(用十六进制数表示),并存入起始地址为3610H的内存单元中。(F)编程将存入3300H~3301H单元中的二字节四位十六进制数(例01ABH)转换为三字节的非压缩BCD码,转换结果存入起始地址为330AH的内存单元中。实验二汇编语言程序设计2一.实验目的1.掌握使用运算类指令编程及调试方法;2.学会运用运算类指令解决实际问题的方法;3.掌握运算类指令对各状态标志位的影响及其测试方法。二.实验设备PC系统机一台。三.实验内容、步骤及要求1.二进制双精度加法运算计算X+Y=Z,将结果Z存入某存储单元。本实验程序是双精度(2个16位,即32位)运算,利用累加器AX,先求低十六位和,并存入低位和存储单元,后求高16位和,再存入高位和存储单元。由于低位和可能向高位有进位,因而高位字相加语句需用ADC指令,则低位相加有进位时CF=1,高位字相加时加上CF中的1。2.十进制数的BCD码减法运算计算X-Y=Z,其中X、Y、Z为BCD码。3.乘法运算本实验实现十进制的乘法,被乘数和乘数均以BCD码形式存放于内存中,乘积在屏幕上显示。4.用减奇数开平方运算8086/8088指令系统中有乘除法指令但没有开平方指令,因此,开平方运算是通过程序来实现的。用减奇数法可求得近似平方根,获得平方根的整数部分。我们知道,N个自然数中的奇数之和等于N2,即:1+3+5=321+3+5+7=16=421+3+5+7+9+11+13+15=64+82四.编程练习(A)已知X=0208,Y=0509,Z=0304(非压缩BCD码),预先存入3700H~3705H中,计算X+Y-Z=Q,结果存入起始地址为3710H的内存单元中。(B)已知在起始地址为3000H的内存单元中,存放一串数据:10H,20H,30H,40H,50H,60H。求其平均值,并把平均值转换成BCD码存入3010H单元中。(C)已知在地址为3500H的内存单元中,存放一组数据:10H,15H,0FH。求该数组的总和后再将其扩大4倍,然后转换成BCD码存入起始地址为3510H的单元中。(D)有两个64位数分别存在3050H和3058H开始的内存单元中,编一程序,求两数之和,结果放到3060开始的单元。(给定数据:9876543219876765H,9876543219876765H)(E).已知X=0208,Y=0509,Z=0306(非压缩BCD码),预先存入3300H~3305H中,计算X-Y+Z=Q,结果存入起始地址为3310H的内存单元中。(F).求两个八字节数之差。这两个多字节数在3000H开始的内存单元中连续存放,低位在低地址,结果放在两个数之后。(给定数据:9876543219876765H,5643289548323977H)实验三系统认识和编程一.实验目的1.学习分支程序、循环结构程序的设计和调试方法;2.学习子程序的定义和调试方法;3.掌握分支、循环、子程序等程序的基本结构。二.实验设备TDS--MD教学实验系统一台三.实验内容、步骤及要求1.设计一数据块间的搬移程序数据块搬移的基本原则为:对于两个分离的数据块,从首地址或从末地址开始传送均可。对于有部分重叠的情况则:当源数据块首地址>目的数据块首地址时,从数据块首地址开始传送数据。当源数据块首地址<目的数据块首地址时,从数据块末地址开始传送数据。2.求某数据区内负数的个数设数据区的第一单元存放区内单元数据的个数,从第二单元开始存放数据,在区内最后一个单元存放结果。为统计数据区内负数的个数,需要逐个判断区内的每一个数据,然后将所有数据中凡是符号位为1的数据的个数累加起来,即得区内所包含负数的个数。3.学生成绩名次表将分数为1~100之间的10个成绩存入首址为3000H的单元中,3000H+I表示学号为I的学生成绩。编写程序能在3100H开始的区域排出名次表,3100H+I为学号I的学生名次。4.求无符号字节序列中的最大值和最小值设有一字节序列,其存储首地址为3000H,字节数为08H。利用子程序的方法编程求出该序列中的最大值和最小值。四.编程练习(A)在3500H单元开始中输入数据:09H(数据个数)12H、80H、78H、C8H、00H、00H、FEH、99H、34H,编写程序使其能分别求出数据区中的正数和负数以及零的个数,正数的个数放在3510H单元中,负数的个数放在3511H单元中,零的个数放在3512H单元中.(B)有三个8位二进制数连续存放在03200H开始的内存单元中,设它们之中至少有两个数是相同的。编写程序找出与另外两数不同的数,把该数所在的地址(段内偏移地址)送到03204H单元,若三个数都相同则送0FFFFH到03204H单元。(C)设数据段SCORE单元开始连续存放着20个学生成绩,编写程序统计其中60,60~69、70~79、80~89,90分数段的人数,并把统计结果存放到从TOT开始的数据块中。(数据为:64H,61H,5DH,55H,52H,51H,44H,45H,47H,48H,4DH,4FH,3CH,3FH,40H,41H,33H,56H,59H,30H).(D)找出一个数据块中的最大数。数据块从偏移地址3002H开始存放,数据块的长度以16位二进制形式存放在3000H、3001H单元,把找出的最大数放到3100H单元中,并把存放最大值的偏移地址存入3101H和3102H的存储单元中。假设数据块中的数都是8位无符号数。(E)X的值(字节数)分别由3000H、3001H、3002H单元的数决定,对应的结果Y分别存放在3005H、3006H、3007H单元中,完成下列方程:A(X0)Y=0(X=0)B(X0)(F)X的值(字节数)分别由3200H、3201H、3202H单元的数决定,对应的结果Y分别存放在3105H、3106H、3107H单元中,完成下列方程:90H(X200)Y=50H(X=100)00H(X50)实验四DOS功能调用实验一.实验目的1.了解INT10H各功能块的功能和使用方法2.掌握字符方式下PC机显示器显示控制二.实验设备TDN86/51或TDN86/88教学实验系统一台三.实验内容及步骤本实验在显示器上显示A~Z26个英文字母。显示器I/O功能调用使用说明如下:INT10H(TDS—MD实验仪),PC机是INT21H使用说明(1)入口:AH=01H功能:键盘输入字符,AL=输入字符(2)入口:AH=02H,DL=数据(ASCII码)功能:写DL中的数据到屏幕上(3)入口:AH=09H,DS:DX=字串首址,且字符串尾用$填充功能:显示一字串,直到遇到$为止。四.编程练习A).利用INT21H功能,在PC机上显示:“MYNAMEIS……………”.B).编程计算Z=5678H+6666H-1234H,并把结果显示在屏幕上。C).编程计算Z=5678H+0666H÷14H,并把结果显示在屏幕上.D).编程计算Z=5678H+0321H×02H,并把结果显示在屏幕上。E).编程计算Z=5678H-6666H+8888H,并把结果显示在屏幕上。F).编程计算Z=5678H+0666H-ABCDH,并把结果显示在屏幕上。G).编程计算Z=0678H÷06H×14H,并把结果显示在屏幕上。实验五中断特性及8259应用编程一.实验目的1.认识8088/8086系统的中断特性;2.掌握8259A中断控制器的工作原理;3.掌握8259A可编程中断控制器的应用编程;4.学习掌握8259A级连方式的使用方法;5.学习在接口实验单元上构造连接实验电路的方法。二.实验设备1.DN86/51或TDN86/88教学实验系统2.排线、导线若干三.实验内容及步骤(一)系统中的8259A芯片1.系统中的8259A芯片系统中的8259A芯片工作于单片方式,但可由用户扩展接成级连方式。其电路如图5-1所示。图中的圈点表示此为排针引出脚。(注:以下线路图中的圈点均为排针形式引出脚,以后不再另作说明)。图5-1系统中的8259A芯片系统启动时,8259A被初始化,其初始化是通过系统中的初始化程序设置初始化命令字ICW来实现的。系统初始化时,规定IRQ0和IRQ4中断源分别提供给实时时钟和PC微机联机的串口通讯,用户可以使用其余的中断源。在进入监控后,只有IRQ4中断源处于开启状态,其他中断源都被屏蔽了。中断矢量地址与中断号之间的关系如表5-1所示。2.接口实验单元中的级连实验用8259A芯片除系统中的825
本文标题:微机原理与接口技术_朱有产_实验指导书
链接地址:https://www.777doc.com/doc-2469777 .html