zoukankan      html  css  js  c++  java
  • 汇编程序设计上机步骤

    上机操作是从课本到实践的一步跨越,这是的必须要的一步。汇编语言程序设计同样需要上机,而且很重要。下面是我根据上课情况简单概括的汇编语言程序设计上机步骤,当然本文所面对的是和我一样的初学者。

    本文谈到的DOS即为windows下的命令提示符(cmd.exe)

    工具MASM5.00、一个源程序(hello.asm)放在c盘根目录,为方便讲解,下载后解压缩到c盘根目录,路径为:c:masm

    执行汇编和链接命令时,需要将DOS当前路径切换到c:masm

    汇编语言源程序的上机步骤包括编辑、汇编、链接、调试等几个过程,如下图所示。

    1.编辑

    编辑无非就是创建一个源程序并编辑代码。具体实现也有好几种:可新建记事本,然后保存扩展名为.asm,然后再输入代码;或者可用notepad++编辑代码,这个可以有,而且相当方便,支持代码高亮,缩进等;又或者打开开始->运行->cmd->edit,然后打代码。方法众多,不一一介绍。

    2.汇编

    汇编过程是将源程序(.ASM)翻译为等价的二进制机器语言的过程,所产生的文件称为目标程序,其后缀为.OBJ。在这个阶段中,将对源程序的语法进行检验,如果发现错误将给予提示。错误提示分为严重错误和警告错误两种。严重错误指示某些指令存在语法错误,不能形成对应的二进制机器指令。而警告错误指示某些指令含义不够明确,需要提醒程序员注意。程序员可以根据提示对源程序进行修改,直到得到正确的结果为止。
    当前目录:c:masm
    汇编命令:masm c:hello.asm;(这条命令默认将源程序汇编到c:masm,如果想将.OBJ文件存在其它地方,则需在后面再添加一个路径名,如:masm c:hello.asm c: est;则汇编后生成的OBJ文件将在c: est)

    3.链接

    在汇编过程中形成了目标文件(.OBJ),但是在该文件中,只是将源程序的操作码部分变成了机器码,而地址操作数还是可浮动的相对地址,不是实际地址,浮动地址需要再定位。只有经过链接过程才能形成最后的可执行文件。链接程序的功能就是把一个或多个目标文件合并成一个可执行文件,其后缀为.EXE。其实在链接过程中一共形成两个文件:第一个是可执行文件(.EXE)。默认的可执行文件名字与源程序文件相同,也可以根据用户要求进行修改可执行文件的名字;链接过程中形成的第二个文件是内存映像文件(.MAP),它给出了每个段的地址分配情况和长度。如果不需要该文件则可以在链接命令执行时直接输入Enter键。在链接过程中还与一个库文件(.LIB文件)相关。一般的汇编程序不需要库文件。但是当汇编语言与高级语言(如C语言)接口时需要用到库文件。此时输入相应的库文件名字即可。
    当前目录:c:masm
    链接命令:link hello.obj;(或者放在其它你想放的地方,与汇编命令的用法相似,link c:hello.asm c: est;即在c: est目录下生成hello.exe)

    4.运行

    通过汇编和链接,最终形成的可执行文件已经排出了程序中的语法错误,可以直接执行。但是可能还存在一些算法错误,这样的错误则要通过调试过程来修正。常用的调试工具软件有DEBUG等。
    当前目录:c:masm
    运行:直接输入hello即显示“hello,world!”

    MASM5.00下载地址:

    百度网盘:http://pan.baidu.com/disk/home    路径:全部文件 > mq > mq-开发工具 > 汇编工具

    出处:http://www.shelwee.com/html/archives/65530.html

  • 相关阅读:
    springboot 无法访问静态资源
    webrtc源码阅读理解一
    c++ include的顺序重要吗?
    简说yuv
    i420 转 nv21
    ffmpeg mp4 转 yuv、 y4m转yuv、mp4转y4m && ffplay 播放y4m、yuv
    mysql 查询json字符串条件
    Webpack4.X中sourcemap的配置 详解
    webpack如何打包生成的map文件不生效?
    vue中使用setInterval,移入暂停,移出继续
  • 原文地址:https://www.cnblogs.com/mq0036/p/5043052.html
Copyright © 2011-2022 走看看