资源描述:
《微机原理与接口技术_朱有产_实验指导书(精)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《微机原理及接口技术》实验指导书实验一汇编语言程序设计1一.实验FI的1.学习程序设计的基木方法和技能,熟练掌握用汇编语言设计、编写、调试和运行程序的方法。为后续课程打下坚实的基础。2.学会不同进位制数及编码相互转换的程序设计、调试和取得结果的方法。二.实验设备1.网管中心微机机房PC机三.实验准备1.根据实验冃的认真做好实验前的预习,记住操作方法;2.预先编制好实验用的程序,提高实验效率。四.实验要求程序调试完后,须山实验辅导教师在机器上检查运行结呆,经认可后在实验指导书签字,才算完成。每个实验完成后,应写出实验报告。实验报告的要求如下:1.设计说明:说明程序的功能、结
2、构、原理及算法。2・调试说明:上机时遇到的问题及解决办法的调试怙:况,观察到的现彖及其分析,对程序设计技巧的总结以及程序输出结果的分析,实验的心得体会等。3.程序框图。4.程序清单。五.实验内容、步骤1••编语言程序上机操作方法实验举例如下:例1.1比较字符串bjchx试编写一程序,比较两个字符串string1和string2所含的字符是否相同,若相同则显示'Match',否则,显示'Nomatch'。我们可以用串比较指令來完成题冃所要求的功能。上机过程如下:(1)建立asm文件在windows系统环境下,应用写字板编辑程序建立源文件。(2)用汇编程序MASM队源文件汇编
3、产生目标文件・OBJ在windows环境下,点击masm文件,而后输入.asm的文件名:C:>MASMABC.ASMZ如汇编指示出错则需重新调用编辑程序修改错课,肓到汇编通过为止。如调试时需要用Lst文件,则应在汇编过程中建立该文件。(1)用连接程序LINK产生可执行文件EXE在windows环境E,点击link文件,而后输入*.obj的文件名:C:>LINKABC.OBJZ(2)执行程序在windows环境下,点击*.cxc文件运行程序,也可在dos的环境下执行程序如下:C:>ABC/Match.是屏幕终端上显示岀程序运行结果。♦另一种调试程序的方法是使用debug程序
4、。1.系统操作练习(-)数据传送练习将内存DATA1单元开始的0〜15共16个数传送到DATA2单元开始的数据区屮。(二)数码转换程序调试练习将ASCII码表示的十进制数转换为二进制数。一.编程练习(A)编程实现将十进制数的ASCII码转换为BCD码。耍求:用DEBUG的E命令从键盘输入的五位十进制数的ASCII码已存放在35OOH起始的内存单元内(例30H、30H、32H、34H、30H),把它转换为BCD码后,再分别存入35OAH起始的内存单元内。若输入的不是十进制数的ASCII码,则对应存放结果的单元内容为“FFS(B)编程将I•六位二进制数(用二字节十六进制数表示
5、)转换为五位ASCII码表示的十进制数。要求:在3500H〜3501H单元存放被转换的十六位二进制数(例00AAH),转换结果存放到3510H〜3514H单元中。(C)编程将存入3500H〜3501H单元小的二字节四位十六进制数(例20ABH)转换为四字节的ASCII码,转换结果存入起始地址为350AH的内存单元中。(D)编程实现将存入3500H〜3507H单元中的四个十进制数非压缩BCD码(例:0102,0304,0506,0708),转换成二进制数码(用十六进制数表示),并存入起始地址为3510H的内存单元屮。(E)编程实现将存入3600H〜3603H单元中的四个「进
6、制数压缩BCD码(例:12,34,56,78),转换成二进制数码(用十六进制数表示),并存入起始地址为3610H的内存单元中。(F)编程将存入3300H〜3301H单元中的二字节四位十六进制数(例01ABH)转换为三字节的非压缩BCD码,转换结果存入起始地址为330AH的内存单元中。实验二汇编语言程序设计2一.实验目的1・掌握使川运算类指令编程及调试方法;1.学会运用运算类指令解决实际问题的方法;2.掌握运算类指令对各状态标,忐位的影响及其测试方法。二.实验设备PC系统机一台。三.实验内容、步骤及要求1.二进制双精度加法运算计算X+丫二乙将结果Z存入某存储单元。本实验程序
7、是双精度(2个16位,即32位)运算,利用累加器AX,先求低十六位和,并存入低位和存储单元,后求高16位和,再存入高位和存储单元。由于低位和可能向高位有进位,因而高位字相加语句需用ADC指令,则低位相加有进位时CF=1,高位字相加时加±CF中的k2.十进制数的BCD码减法运算计算X・Y=Z,其中X、Y、Z为BCD码。3.乘法运算木实验实现十进制的乘法,被乘数和乘数均以BCD码形式存放于内存屮,乘积在屏幕上显示。4.用减奇数开平方运算8086/8088指令系统屮有乘除法指令但没有开平方指令,因此,开平方运算是通过程序來实现的。用