资源描述:
《微机原理与汇编语言实验指导书.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验一显示程序[实验目的]1.掌握汇编语言程序上机的实验过程2.掌握显示程序的基本设计方法。[实验原理]汇编语言上机过程1、建立汇编源程序(建立文件名.asm)(1)通过MD-DOS自带的EDIT.EXE文本编辑器进行输入和其它的文本编辑器进行录入、编辑,如可用c语言和pascal语言的文本编辑器来编辑,最后将文件存为filename.asm的形式即可。2、编译目标文件(即:编译为.obj.lst.crf文件)将正确的源代码编译为机器语言、程序清单及交叉引用表的目标文件。如果此时程序有语句错误,系统将报错,并指出在第几行,什么类型的错误,可根据提示去逐一修改。3、连接为可执行文
2、件(即:连接为.exe或.com文件)在DOS提示符下:LINKfilename回车4、运行编译好的可执行文件当4通过后,会产生一个可执行文件,这时只需运行这个程序,看它是否按你所想象那样得出结果。在试运行期间,要尽量试一些临界状态,看程序是否运行稳定、结果是否正确,进行5。5、用调试工具调试,重新修改(逻辑错误)用DOS中自带的调试程序DEBUG.EXE来进行程序调试、检查错误。6.有关显示DOS基本命令1)单个字符显示命令将要显示的字符的ASCII码送给DL寄存器中断功能号2送AH寄存器,中断类型21H.如显示“3”MOVDL,33H或MOVDL,‘3’如显示‘A’MOVA
3、H,‘A’MOVAH,2MOVAH,2MOVAH,2INT21HINT21HINT21H2)字符串显示命令将要显示的字符串所在存储区的首地址送给DX寄存器中断功能号9送AH寄存器,中断类型21H.如显示字符串“HELLO”存储区定义为TDB“HELLO”,10,13,24HLEADX,TMOVAH,9[实验方法及步骤]INT21H1、编写实验程序。2、编译。3、运行(单步,跟踪),检查结果。4、关主机。[实验题目]编写一个汇编语言程序,要求对键盘输入的一个小写字母用大写字母显示出来。CODESEGMENTASSUMECS:CODEMAINPROCFARSTART:PUSHDSM
4、OVAX,0PUSHAXCON:MOVAH,1INT21HCMPAL,0DHJZEND0SUBAL,20HMOVDL,ALMOVAH,2INT21HJMPCONEND0:RETMAINENDPCODEENDSENDSTART[预习内容]1、熟悉汇编语言编辑、编译环境,熟悉DEBUG调试命令(见讲义附录)2、熟悉有关显示DOS基本命令[思考与练习]1、显示一个字符串“ABC123”。2、编一显示“HOWAREYOU!”的程序。【实验报告内容】1、实验目的、仪器、原理和内容2、要求写出算法和算法流程图。3、程序必须在微机上编辑和汇编。4、调试程序并进行分析并给出实验结果。实验二数据
5、排序[实验目的]1.掌握循环、分支程序的设计方法。2.了解数据排序的简单算法。[实验原理]“冒泡排序”算法是从第一个数开始依次将相邻的两个数比较,如果前面的数比后面的数大,则交换,如此将所有的数比较一遍后,最大的数就会在数列的最后面。再进行下一轮比较,找出第二大数据,直到全部数据有序。[实验方法及步骤]1、编写实验程序。2、编译。3、运行(单步,跟踪),检查结果。4、关主机。[实验题目]把从MEM单元开始的10个16位有符号数按从大到小的顺序排列。DATASEGMENTMEMDW-1,0,24,-32,100,345,-39,1000,2345,-18DATAENDSCODES
6、EGMENTASSUMECS:CODE,DS:DATAMAINPROCFARSTART:MOVAX,DATAMOVDS,AXLEADI,MEMMOVBL,9NEXT1:MOVSI,DIMOVCL,BLNEXT2:MOVAX,[SI]ADDSI,2CMPAX,[SI]JGNEXT3MOVDX,[SI]MOV[SI-2],DXMOV[SI],AXNEXT3:DECCLJNZNEXT2DECBLJNZNEXT1MOVAH,4CHINT21HMAINENDPCODEENDSENDSTART[预习内容]1、熟悉冒泡排序原理。2、熟悉程序结构(循环和分支)及程序设计方法[思考与练习]1、比
7、较BX,CX,DX中带符号数的大小,将最大的数放在DX中。2、两个字符串比较,若相同,把0存入RESULT单元,若不同,把-1存入RESULT单元。3、从FIRST开始的10个单元中存放着一个字符串,结束符为‘$’。编写一个程序,统计该字符串中字母‘a’的个数。【实验报告内容】1、实验目的、仪器、原理和内容2、要求写出算法和算法流程图。3、程序必须在微机上编辑和汇编。4、调试程序并进行分析并给出实验结果。实验三码制转换[实验目的]1掌握简单的数值转换算法及数值的各种表达方法。2掌握码制转换的