汇编环境搭建

汇编环境搭建终端

安装 dosbox
sudo apt-get install dosbox
下载
必备文件调试链接 debug link masm 的 exe 文件
在硬盘里创建 masm 目录,将上面三个文件放到 masm 目录下
然后终端输入的 DOSBox
运行后
创建模拟 C 盘目录
mount c / home /~ / masm
再进入模拟目录下
c:此时
就可以开始汇编编程了^_^

用 vim 编辑 hello world 保存成 hello.asm

masm hello.asm // 此处按回车 3 下

link hello // 同理

运行 hello // 此处可能最后会不出结果 需要退出 dosbox 重新进入一下就可以了

这里贴出 hello world 的汇编代码

  DATA    SEGMENT
      STRING  DB   'Hello World!', '$'
  DATA    ENDS

  STACK1  SEGMENT PARA    STACK
      DW  20H DUP  (0)
  STACK1  ENDS
  CODE   SEGMENT
  ASSUME  CS:CODE, DS:DATA, SS:STACK1
  BEGIN:  MOV     AX, DATA
      MOV DS, AX
      LEA     DX, STRING
      MOV     AH, 9
      INT     21H
      MOV     AH, 4CH
      INT 21H
  CODE   ENDS

      END BEGIN

linux 下生成配置文件

参见链接

配置表 在这分享下

调了分辨率 和 启动 自动执行代码 省去了 输入mount xxx;c:

#这个在24行处  分辨率可自行调整
fullscreen=false
fulldouble=false
fullresolution=original
windowresolution=1024x640
output=opengl
autolock=true
sensitivity=100
waitonerror=true
priority=higher,normal
mapperfile=mapper-0.74.map
usescancodes=true


#这个在文件底部
[autoexec]
# Lines in this section will be run at startup.
# You can put your MOUNT lines here.
mount c: /home/lambert/masm
c:

执行一个汇编源程序的步骤在 dosbox 下 (详述)

在 dosbox 下 输入 masm 可以显示出版本

  • masm

    编译文件 masm xx.asm
    第一个回车 确定输出目标文件名称
    第二个回车 忽略列表文件生成
    第三个回车 忽略交叉引用文件生成

在 dosbox 下 输入 link 可以显示出版本

  • link

    连接 目标文件 从而得到可执行文件
    连接文件 link xx
    第一个回车 输入可执行程序的名称
    第二个回车 忽略映像文件生成
    第三个回车 输入调用的子程序 忽略库文件的连接 忽略按回车
    最后会报一个错LINK : warning L4021:no stack segment // 没有栈段 这里我们不理会这个错误

说完复杂的 方法 现在换简单的

masm xx; // 在结尾加上分行,按enter后,编译器就对xx文件进行编译,在当前目录生成目标文件xx.obj,并在编译的过程中自动忽略中间文件的生成

link xx; // 同上

更多资源见博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值