手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

汇编语言程序的上机过程

时间:2024-10-13 00:24:55

1、一、建立汇编语言的工作环境为运行汇编语言程序至少要在磁盘上建立以下文件:1、编辑程序,如EDIT.EXE2、汇编程序,如MASM.EXE3、连接程序,如LINK.EXE4、调试程序,如DEBUG.COM必要时,还可建立如CREF.EXE,EXE2BIN.EXE等文件。

汇编语言程序的上机过程

2、二、在计算机上运行汇编语言的步骤1、用编辑程序建立ASM源文件,以ASM作为扩展名2、用汇编程序把ASM文件转换成OBJ文件3、用连接程序把OBJ文件转换成可执行文件4、在DOS提示符下直接键入可执行文件名即可执行该程序

汇编语言程序的上机过程

3、三、建立ASM文件建夷爵蹂柢立ASM文件的编辑程序可以是DOS自身带的编辑程序EDIT.EXE,在DOS提示符下键入EDIT命令即可出现EDIT界面,其操作如下:D:\>edit源程序输入完后,以ASM作为扩展名进行保存,假设所保存的文件名为:ex.asm。ASM源文件的格式1:;定义数据段,如果需要的话,其中segment和ends是一对伪操作,表示段的开始和结束datasegment ;数据段开始;定义数据段的主体,如定义变量dataends ;数据段结束;定义附加段,如果需要的话extrasegment ;附加段开始;定义附加段的主体,如定义变量extraends ;附加段结束;定义代码段,必须的codesegment ;代码段开始mainprocfar ;程序的主体部分,proc和endp这一对伪操作表示一个程序模块的开始和结束assumeds:data,es:extra,cs:code ;assume伪操作指定某个段分配给哪个段寄存器start: ;程序的入口地址pushds ;保存原数据段subax,ax ;ax寄存器清零,作为数据段0偏移地址pushax ;数据段0偏移地址压入堆栈中movax,datamovds,ax ;把数据段地址装入数据段寄存器dsmovax,extramoves,ax ;把附加段地址装入附加段寄存器es;自己所要实现的功能源代码在此添加ret ;程序结束后返回DOSmainendp ;程序的主体部分结束codeends ;代码段结束endstart ;汇编程序的结束,程序在start处开始执行ASM源文件的格式2:;定义数据段,如果需要的话,其中segment和ends是一对伪操作,表示段的开始和结束datasegment ;数据段开始;定义数据段的主体,如定义变量dataends ;数据段结束;定义附加段,如果需要的话extrasegment ;附加段开始;定义附加段的主体,如定义变量extraends ;附加段结束;定义代码段,必须的codesegment ;代码段开始mainprocfar ;程序的主体部分,proc和endp这一对伪操作表示一个程序模块的开始和结束assumeds:data,es:extra,cs:code ;assume伪操作指定某个段分配给哪个段寄存器start: ;程序的入口地址movax,datamovds,ax ;把数据段地址装入数据段寄存器dsmovax,extramoves,ax ;把附加段地址装入附加段寄存器es;自己所要实现的功能源代码在此添加movax,4c00h ;程序结束后返回DOSint21hmainendp ;程序的主体部分结束codeends ;代码段结束endstart ;汇编程序的结束,程序在start处开始执行该步以及以下几步在电脑上一边讲解,一边演示给同学们看。

汇编语言程序的上机过程
汇编语言程序的上机过程
汇编语言程序的上机过程
汇编语言程序的上机过程
汇编语言程序的上机过程

4、四、用MASM程序产生O幞洼踉残BJ文件源文件建立后,就要用汇编程序对源文件汇编,汇编后产生二进制目标文件(以OBJ作为扩展名),其操作如下:肛舀辨乔D:\>masmex.asm汇编程序输入的是ASM文件,其输出文件可以是3个,第一个是OBJ文件,这是我们汇编的主要目的。第二个是LIST文件,称为列表文件,这个文件列出源程序和机器语言程序清单,并给出符号表,因而可使程序调试更加方便,这个文件可有可无,如果不需要,则可对[NUL.LST]直接按回车键。LST清单的最后部分为段名表和符号表,表中分别给出段名、段的大小及有关属性,以及用户定义的符号名、类型和属性。第三个是CRF文件,这个文件用来产生交叉引用表REF,对于一般程序不需要建立此文件。为了建立交叉引用表,必须调用CREF程序。至此,汇编过程已经完成了。但是,汇编程序还有另一个重要功能,可以给出源程序的出错信息。警告信息(warningerrors)指出汇编程序所认为的一般性错误,严重警告错误(severeerrors)则指出汇编程序认为已使汇编程序无法进行正确汇编的错误。除给出错误的个数外,汇编程序还给出出错信息,包括出错的行和错误类型。当然汇编程序只能给出程序中的语法错误,至于程序的算法或编制程序中的其他错误则程序的调试时去解决。

汇编语言程序的上机过程

5、五、用LINK程序产生EXE文件在DOS提示符下键入LINK命令即可,具体的操作如下:D:\>linkex.objLINK程序有两个输入文件OBJ和LIB。OBJ是我们需要连接的目标文件,LIB则是程序中需要用到的库文件,如果程序中没有用到库文件,则直接按回车健。LINK程序有两个输出文件EXE和MAP文件,EXE文件就是可执行文件,MAP文件是连接程序的列表文件,又称为连接映像,它给出每个段在存储器中的分配情况。

汇编语言程序的上机过程
汇编语言程序的上机过程

6、六、程序的执行在DOS提示符下直接键入可执行的文件名即可,具体的操作如下:D:\>ex

汇编语言程序的上机过程

7、七、举例下面这个源代码的功能是在屏幕上显示一个字符串“ThisismyfirstASMprogram.”。datasegmentstringdb'ThisismyfirstASMprogram.',13,10,'$';字符串以’$’符号结尾,以单引号括起来dataendscodesegmentmainprocfarassumecs:code,ds:data ;assume伪操作指定某个段分配给哪个段寄存器,但它不能把段地址装入段寄存器中start: ;程序的入口地址pushds ;saveolddatasegmentsubax,ax ;ax寄存器清零,作为数据段0偏移地址pushax ;零偏移地址入栈movax,datamovds,ax ;把数据段地址装入数据段寄存器dsleadx,string ;把字符串首地址装入dx寄存器,或写成movdx,offsetstringmovah,9 ;DOS功能调用,在屏幕上显示字符串int21h ;DOS中断ret ;returntoDOSmainendpcodeendsendstart ;汇编的结束,程序在此执行

汇编语言程序的上机过程
© 手抄报圈