资源描述:
《计算机硬件实验指导书崔丽群))》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《计算机硬件基础》课程实验指导书辽宁工程技术大学软件学院2010年2月实验上机操作范例实验一汇编语言程序的调试与运行实验二简单程序设计实验三循环程序设计实验四综合程序设计(一)实验五综合程序设计(二)实验六高级汇编技术实验上机操作范例【范例】完成具有如下功能的分段函数X>0x=oX<0其中:X存放在内存单元中,Y为结果单元。【问题分析】根据题意画出程序流程图,如图1所示。AXMXNN丫AXHX结束图1分段函数的程序流程图根据程序流程图编吗如下程序DSEGSEGMENTXDW?YDW?DSEGENDSCSE
2、GSEGMENTASSUMECS:CSEGDS:DSEGSTART:MOVAX,DSEGMOVDS,AXLEASI,XMOVAX,[SI]ANDAX,AXJNSLP1MOVY,OFFH;X<0JMPEND1LP1:JNZLP2MOVY,OOHJMPEND1LP2:MOVY,01HEND1:MOVAH,4CHINT21HCSEGENDSENDSTART»汇编(生汇编语言程序的开发分为以下4个部分:编辑(生成・asm文件)成・obj文件)连接(生成・exe文件)调试。下面分别通过两种上机环境介绍汇编语言源程序
3、从编辑到生成一个可执行文件(.exe文件)的过程。一种方法是利用Microsoft公司提供的MASM5版本的工具包(包括edit.exe>masm.exe>link.exe>debug.exe),如图2所示;另一种是利用汇编集成编辑器来完成。图2D盘下的MASM5工具包下面的例子按以下儿个步骤完成:(1)先编写一个fenduan.asm文件;(2)保存并通过运行masm.exe生成冃标文件fenduan.obj;(3)再利用link.exe生成可执行文件fenduan.exe;(4)运行fenduan.e
4、xe文件;(5)运行debugfenduan.exe后即可对程序进行跟踪调试。一、通过DOS调用MASM5图3运行对话框单击“开始”,选中其中的“运行”命令,会弹出图3所示的对话框。键入“command”或“cmd”,单击“确定”,会弹出图4所示的命令框。图4利用DOS屮的命令找到MASM5所在文件夹,如图5所示MASM5文件夹放在D盘下。注意MASM5文件夹中一肚要包含masm.exe>link.exedebug.exe文件。图51、编辑编辑的命令格式是:edit文件名.asm编辑源程序有两种方法:【方
5、法一】在DOSb直接输入edit文件名.asm,如图6所示。回车,得到如图7所示的编辑环境,此时我们就可以在这个环境下进行编辑了。图6编辑fenduan.asm文件图7fcnduan.asm文件的编辑窗口【方法二】直接在TXT文档中进行编辑打开记事本,在记事本中编写汇编语言源程序,如图8所示。Cfenduan.txt-记事本r□x文件0)编辑世)格式©查看辺帮助0)DSEGSEGMENT▲XDU?VDW?DSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGSTART:MOUAX
6、,DSEGMOUDS,AXLEASIfXMOUAX9[SI]AHDAX,AXJNSLP1MOUV»0FFH;X<0JMPEND1LP1:JNZLP2MOUV,OOHJMPEND1LP2:MOUV,01HEND1:MOUAH,4CHINT21HCSEGENDS▼图8记事木屮编写汇编语言源程序把文件扩展名改为.asm并进行保存,这时弹出图9所示窗口,单击“是”,这样就可以在DOS环境卜-直接调用该文件。fenduan.asm图9垂命名对话框若访问已经保存的fenduan.asm文件,如图10所示可在DOS环境
7、下键入"editfenduan.asm按冋车,这时就弹出fenduan.asm文件的编辑窗口,如图11所示。cC:¥INDO¥Ssyste>32od.exeBBSMicrosoftWindowsXP【版本5.1.2600]版权所有1985-2001MicrosoftCorp.▲1C:DocunentsandSettings^dRinistrator>d:D:>cdmasn5D:MASM5>editfenduan.asR▼■■■■■J图11fenduan.asm文件编辑窗口2.汇编汇编的
8、命令格式是:masm文件名.asm(扩展名.asm可以省略)图12汇编fenduan.asm文件汇编fenduan.asm文件,在DOS环境下键入“masmfenduan.asm",按回车。如图12所示生成fenduan.obj文件,显示的信息含义为:Objectfilename[FENDUAN.OBJh-是否改动输出OBJ文件名,如不改就按冋车键“ENTER”。Sourcelisting[NUL.LST]:^是否需要列表文件