• 05、汇编语言--环境搭建


    环境搭建

    开发汇编语言程序,首先需要安装开发软件,熟悉开发平台。

    开发环境

    在DOS和Windows操作系统下,最流行微软汇编程序MASM,Borland公司的TASM也常用,两者相差不大。在Linux操作系统下,标准的汇编程序是GAS,NASM也较常用。

    开发软件包

    MASM5.0搭建开发环境需要用到如下工具:

    里面包含:MASM5.0、MASM6.0和DOSBox0.74

    链接:https://pan.baidu.com/s/1fqbjBbmWWdU3z8CRmpW-tQ 提取码:8gj6

    编译程序只需要MASM、LINK、DEBUG即可,编辑器可以考虑使用NotePad++。

    MASM.EXE:汇编程序,用于汇编源程序(.asm),得到目标程序(.obj);
    LINK.EXE:连接程序,用于连接目标程序,得到可执行程序(.exe);
    DEBUG.EXE:调试程序,用于调试可执行程序。

    下面的步骤看看就好,推荐使用VSCode + MASM/TASM插件构建开发环境:

    VSCode官网:https://code.visualstudio.com/

    开发环境的具体搭建步骤如下:

    1、安装DOSBox,可以安装到任意位置。
    2、在任意盘符下创建Assembly(自定义)的文件夹,里面包含ASM和MASM。

    ASM:用来存放要编译的汇编程序,也就是源码目录
    MASM:用来存放编译程序MASM.EXE、LINK.EXE、DEBUG.EXE等三个文件

    3、由于每次配置都非常麻烦,所以在DOSBox 0.74 Options.bat中的结尾处添加配置(双击打开):

    # 挂载驱动器(将放汇编程序、编译工具文件夹挂载到一个虚拟盘)
    mount G: D:Assembly
    # 添加系统临时变量(此时的 G: 代表的是D:Assembly)
    set PATH=%PATH%;G:MASM;
    # 转到 G: 
    G: 
    # 进入ASM文件夹
    cd G:ASM
    

    4、编写汇编源程序代码,代码如下所示:

    ;hello.asm(文件名)
    .model small
    .stack
    .data 
    	msg db'Hello,Assembly!',13,10,'$'	;定义要显示的字符串
    .code
    .startup
    	mov dx,offset msg	;指定字符串在数据段的偏移地址
    	mov ah,9			;AH赋值9
    	int 21h				;利用功能调用显示信息
    .exit
    end
    

    5、输入如下命令进行编译、链接和运行等操作(如果使用MASM5.0编译会出错)

    masm hello.asm
    link hello.obj
    debug hello.exe

    当遇到空行显示直接回车即可。如果debug后不显示按g再回车就可以显示打印内容。

    6、编译出错要改用MASM6.15,直接拖拽hello.asm到ml.exe文件上会生成hello.obj文件,然后执行命令:

    link hello.obj
    hello.exe

    注意:由于ml.exe是32位程序,所以不能使用命令运行在DOSBOX中。
    如果DOSBox初始的界面很小,且不能直接拉伸界面,可以配置修改大小:

    双击打开DOSBox 0.74 Options.bat(别右键编辑)

    windowresolution=original
    output=surface
    

    修改为:

    windowresolution=1280x800  # 这个是小写字母 x
    output=opengl
    
  • 相关阅读:
    『重构--改善既有代码的设计』读书笔记----Replace Temp with Query
    LXPanel自定义添加应用程序到快速启动栏
    『重构--改善既有代码的设计』读书笔记----Inline Temp
    『重构--改善既有代码的设计』读书笔记----Inline Method
    App Store自动下载WiFi与蜂窝数据切换机制
    『重构--改善既有代码的设计』读书笔记----Extract Method
    EXpression 表达式目录树
    linq to sql and linq to object 总结
    基于反射实现实体DTO映射
    对文件操作
  • 原文地址:https://www.cnblogs.com/pengjingya/p/15022477.html
Copyright © 2020-2023  润新知