
(上机第一步)EDIT,是编辑程序,像一个文本编辑器,用来编辑汇编语言源程序,编辑好的程序扩展名为asm;
(第二步)MASM,是汇编程序,用来把asm程序编译成二进制代码,该二进制代码文件称为目标程序,扩展名为obj;
(第三步)LINK,是链接程序,用来把obj文件变成可执行目标代码,即可执行文件exe;
在第二步和第三步中,可以发现程序语法上的错误;
(第四步)DEBUG是调试工具,用于发现程序逻辑上的错误。
Segmented Executable Linker,Incermental Linker
首先MASM软件包并不包含资源编辑器,资源编辑器值是当做Windows SDK的一部分来发布的,或者要从Micsoft Visual
Studio软件包Common目录中找到,更有甚者连接器Link竟然不是32位的,只能连接DOS程序Incermental Linker只能在Visual C++目录中找到。
其他一些有用工具也不在MASM的软件包里,所以要使用MASM进行Win32汇编编程需要对软件包进行改造,一方面要舍弃一些MASM软件包的LInk,另一方面
,需要到其他地方去找资源编译器和32位链接器等工具软件。Win32编程用的一些链接库导入文件MASM软件包并没有,同样需要到VisualC++中去找,,MASM软件包没有自己的
头文件,也不可能用c++的头文件,需要自己根据资料整理Visualc++的h文件整理出来,然而Windows的数据结构和预定义的数据多的是处了明的。MASM会是Win32编程非常难以下手。
汇编语言程序设计的基本步骤 了解了汇编语言指令的功能和用法,了解了汇编语言程序的编写格式,就可以编制完整的汇编语言程序了。一个程序通常具有顺序、分支、循环和子程序4种结构形式。顺序程序结构就是指完全按顺序逐条执行的指令序列。在程序设计过程中,顺序结构大量存在,屡见不鲜。但一个完整的程序只是逐条去执行指令,这非常少见。常见的程序结构,是上述4种结构的混合体。一般来说,编制一个汇编语言程序的步骤如下:(1) 分析题意,确定算法或算法思想。算法是指解决问题的方法和步骤。比如现有的一些计算方法和日常生活中解决问题的逻辑思维推理方法等。(2) 根据算法画出流程图,简单的情况也可不画。画出描述算法的流程图,可以首先从图上检验算法的正确性,减少出错的可能,使得动手编写程序时的思路更加清晰。(3) 分配存储空间和工作单元,合理地使用寄存器。分配存储空间和工作单元,是指存储空间的分段和数据定义。另外,由于寄存器的数量有限,编写程序时经常会感到寄存器不够用。因此,对于字节数据,要尽量使用8位寄存器。而采用适当的寻址方式,也会达到节省寄存器的目的。(4) 根据流程图编写程序。这是编制汇编语言程序最为重要的一步。算法里规定的功能,是要通过一条条指令描述出来的。为了提高编程能力,对于初学者,一是要多阅读现有的程序,以学习别人的编程经验;而更为重要的是,必须多亲自动手编写,不要怕失败,只有通过无数次失败,才能从中积累自己的编程经验。(5) 上机调试运行程序。通过汇编的源程序,只能说明它里面不存在语法错误。但是它是否能达到算法所要求的预期效果,还必须经过上机调试,用一些实验数据来测试,才能够真正地得出结论。可以这么说,即使是一个非常有经验的程序员,也没有百分之百的把握说他编写的程序一次就成功。 用流程图表示算法 流程图用一些图形框来代表各种 *** 作。用图形表示算法,直观形象,可以用来帮助人们对算法的理解。下图给出了一些常用的流程图符号。
上图中的判断框(菱形)用来对一个给定的条件作出判断,以决定如何执行其后的 *** 作。它有一个入口,两个出口,如下图(a)所示。
连接点(圆圈)是用来将画在不同地方的流程线连接起来。例如在下图(b)里,有两个圈里写着数字1的圆圈,它表示是从左边的1出来,进到右边图的1里(这由流程线的方向给出)。可以看出,这两个点其实就是同一个点,只是由于画不下而分开来画的。用连接点,可以避免流程图中的流程线相互交叉或过长,从而使流程图清晰。
注释框不是流程图中必需的部分。在流程图中使用它,是为了对流程图中的某些框的 *** 作做一些必要的说明,以便使人们能够更好地通过流程图来理解算法。
处理框反映做些什么样的 *** 作,如把某个单元的内容送入某个寄存器,从某个存储单元取出数据等。它是流程图里最为本质的、出现最多的图形框。
输入/输出框反映程序的输入和输出情况。计算机程序无外乎接收数据,进行处理,然后加以输出,所以输入/输出框是必不可少的。
386model flat, stdcallcodestart:jmp nextszStr db "12345678", 0next:call getPtrgetPtr:pop esiadd esi, -14 ;call getPtr opcode长度5字节+字符串长度9字节end startend
以上就是关于请说明EDIT,MASM,LINK,DEBUG等在汇编语言源程序上机过程中的作用全部的内容,包括:请说明EDIT,MASM,LINK,DEBUG等在汇编语言源程序上机过程中的作用、如何使用masm编译软件、汇编语言程序设计的一般步骤是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)