汇编语言编译运行的三种方法

今天在帮别人解决DOSBox无法使用的时候发现了几种汇编语言编译运行的方法,特此记录

DOSBox

安装DOSBox(这个安装步骤就不讲了,百度多的是)

在任意地方新建一个文件夹,名字不要过长就好,例如我的是AsmTools,将下载好的MASM.EXE、LINK.EXE、MASM.EXE(这几个文件可以在王爽老师的汇编语言论坛中找到)

DOSBox 0.74 Opthions.bat 这一文件中的最后加上

MOUNT C "D:\AsmTools" 	(引号内的是刚才创建的文件夹)
C:

这样当你打开DOSBox的时候就会自动加载到虚拟c盘

然后输入debug就可以使用debug

将你编写好的汇编语言文件(后缀为.asm,假设是test.asm)放在刚刚创建好的文件夹中,然后在DOSBox中进行如下几步操作

第一步

masm test.asm

完成这一步你会得到一个后缀为obj的文件

第二步

link test.obj

完成这一步后你会得到一个后缀为exe的文件

第三步

test

这一步是执行可执行文件

全部操作到这里就完成啦

MASM32+DOSBox

找我帮忙的这个同学因为上一种方法不能使用,所以我找到了另一种方式,如下:

在官网下载MASM32(这一步不细讲)

在环境变量中进行如下操作(如果没有该条目可以创建的):

include项中添加C:\masm32\include

lib中添加C:\masm32\lib

path中添加C:\masm32\bin

然后打开MASM32的安装目录,在里面搜索link,进行以下操作:

将masm32安装文件夹的bin目录下的link.exe改为link32.exe,同时link16.exe改为link.exe
(其实对与原来的link.exe向怎么操作都可以,因为我们其实用不到它)

然后打开cmd,进入你写汇编语言程序的目录(假设里面已经写好了test.asm),进行如下操作:

第一步

ml /c test.asm

完成这一步你会得到一个后缀为obj的文件

第二步

link test.obj

完成这一步后你会得到一个后缀为exe的文件

然后打开DOSBox(他的配置和上一种方法一样),进行如下操作

test

(其实就是运行一下那个可执行文件,在win10里没法直接运行)

到此这一方法终于成功了

但是这两种方法都挺麻烦的,特别第二种,所以找到了emu8086

emu8086

https://emu8086-microprocessor-emulator.en.softonic.com/

上面的这一个是emu8086的官网下载地址,下载完成安装即可

使用:

  1. 新建工程

第一次进去,应该会让你新建工程,这是点击empty workspace,不是第一次进去,点击左上角的new就可(你们肯定用过别的编译器,都差不多)

  1. 编写代码

这一步就没啥可说的,这里给出一个供大家测试的代码(入门写的,大佬见谅)

STACKS  SEGMENT   STACK       
STACKS  ENDS
DATAS   SEGMENT               
string  DB        'hello world', 0dh, 0ah, '$'
DATAS   ENDS
CODES   SEGMENT              
        ASSUME    CS:CODES,DS:DATAS,SS:STACKS
START:  MOV       AX,DATAS    
        MOV       DS,AX
        MOV	       DX, offset string
        MOV       AH, 9
        INT       21H
        MOV       AX,4C00H    
        INT       21H
CODES  ENDS
        END       START
  1. 保存代码

点击菜单栏中的save,然后。。。

  1. 编译

点击菜单栏中的compile

你的代码没问题的话,run是绿色的激活状态,点击进行下一步,不是激活状态的话,改改代码吧

  1. 运行

点击run

  1. 单步执行:F8
  • 9
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值