微机原理与嵌入式系统实验2.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:13 大小:1.1MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

微机原理与嵌入式系统实验2.doc

微机原理与嵌入式系统实验2.doc

预览

免费试读已结束,剩余 3 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

PAGE-13-北京联合大学信息学院微机原理与嵌入式系统报告姓名:刘仡凡班级学号:2009080304429专业:通信工程指导教师:刘瑞祥2011年11月18日实验一DOS环境下的汇编语言编程环境使用(基础与验证型)一、实验要求和目的1、掌握汇编语言程序设计的基本方法和技能;2、熟练掌握使用全屏幕编辑程序EDIT编辑汇编语言源程序;3、熟练掌握宏汇编程序MASM的使用;4、熟练掌握连接程序LINK的使用。二、软硬件环境1、硬件环境:微机CPU486以上,500MB以上硬盘,32M以上内存;2、软件环境:装有MASM5.0、DEBUG、LINK、EDIT、CREF.EXE和EXR2BIN.EXE等应用程序。三、实验内容与步骤1、实验内容编写程序,在屏幕上显示“HelloWorld!”,该源程序取名为hello.asm。2、实验步骤汇编语言程序设计上机过程如图1.1所示。图1.1汇编语言程序上机过程(一)用编辑程序EDIT建立汇编语言源程序文件(ASM文件)在Windows2000或者在WindowsXP环境下鼠标单击“开始”→“运行”,在“运行”中输入“CMD”进入DOS模式,运行EDIT软件,例如:C>EDIThello.ASM进入EDIT的程序编辑画面时,输入汇编语言源程序如下:DATASEGMENTMSGDB'HelloWorld!',0DH,0AH,'$';定义数据段,并初始化待显示的字符串DATAENDSSTACKSEGMENT'stack'DB100DUP(0);定义堆栈段STACKENDSCODESEGMENTASSUMEDS:DATA,SS:STACK,CS:CODE;由ASSUM伪指令定义各段寄存器的内容START:MOVAX,DATAMOVDS,AXLEADX,MSGMOVAH,9;调用dos功能,显示字符串INT21Hmovah,4ch;返回dos状态int21hCODEENDSENDSTART(二)用汇编程序MASM将ASM文件汇编成目标程序文件(OBJ文件)当源程序建立以后,仍以hello.asm程序为例,我们用汇编程序MASM对hello.asm源程序文件进行汇编,以便产生机器码的目标程序文件hello.obj,其操作步骤如下:C>MASMhello.asmMicrosoft(R)MacroAssemblerVersion5.00Copyright(C)MicrosoftCorp1981–1985,1987.Allrightsreserved.Objectfilename[ABC.OBJ]:Sourcelisting[NUL.LST]:Cross-reference[NUL.CRF]:50674+450574Bytessymbolspacefree0WarningErrors0SevereErrors(三)用连接程序LINK生成可执行程序文件(EXE文件)经汇编后产生的二进制的目标程序文件(OBJ文件)并不是可执行程序文件(EXE文件),必须经连接以后,才能成为可执行文件。连接程序并不是专为汇编语言程序设计的。如果一个程序是由若干个模块组成的,也可通过连接程序LINK把它们连接在一起。这些模块可以是汇编程序产生的目标文件,也可以是高级语言编译程序产生的目标文件。连接过程如下:C>LINKhello.objMicrosoft(R)OverlayLinkerVersion3.60Copyright(C)MicrosoftCorp1983-1987.Allrightsreserved.RunFile[ABC.EXE]:ListFile[NUL.MAP]:Libraries[.LIB]:(四)程序的执行当我们建立了可执行文件hello.EXE后,就可直接在DOS下执行该程序:C>hello.exe或者hello从而显示HelloWorld!的结果四、实验要求与提示1、实验要求(1)掌握汇编语言程序设计上机过程;汇编语言上机操作中,不同于windows操作系统,需要进入“命令提示符”界面,通过命令代码进行实际操作。(2)回答思考问题;(3)记录实验结果。练习通过“debug”调试程序,如图:六、思考与练习以及测评标准(1)汇编过程中MASMhello和MASMhello.ASM的结果是否一致。“masmhello”编译对象没有文件后缀,而“masmhello.asm”意为编译“hello.asm”文件;(2)连接过程中LINKhello和LINKhello.OBJ的结果是否一