linux下搭建汇编环境


在windows学习都是用的MASM,那如果在linux下也用MASM呢,怎么办?方法如下:

一.安装

可以通过一些软件,来模拟DOS,可以用Dosbox。如果用的ubuntu,在软件中心就可以找到。

直接安装后就可以在启动栏看到图标 ,     或是通过命令:sudo apt-get install dosbox  

二.环境搭建

1.在 linux下新建一个 masm 文件夹,然后把 windows下的masm的 LINK.EXE  、MASM.EXE 拷贝到masm中;
  由于DosBox中是没有 Debug 程序,需要先下载一个Win7  32位的debug程序下载地址:http://u.115.com/file/b3mmegwu ,
  然后把 debug.exe 也放置到masm文件夹中,即可。

2.在终端中直接输入dosbox 回车即可,将会跳出 DosBox 的图形界面,如:




3.然后模拟指定C盘的位置
   在dosbox中输入  mount   c  /home/wang/masm      (注意:/home/wang/masm    是我的系统masm所在路径

  之后输入: c:   回车

  这样就进入你指定的目录了。

  现在环境已经搭建完成。


三.指令编写(两个独立事例)

事例1.Debug计算2的4次方

输入debug回车,进入debug状态,输入 a  (a是逐行汇编)
然后输入指令 ,再输入 t(跟踪执行)察看结果,如图:




事例2.编写 helloworld 

一.汇编的源程序文件是以.asm为后缀的文件。编写程序使用任意编辑器即可,建议用vim,保存为 hello.asm ,代码是:

DATA SEGMENT
    BUF DB 'HELLO WORLD!  THIS IS MY FIRST ASM FILE! $'
DATA ENDS

CODE SEGMENT
    ASSUME  CS:CODE,DS:DATA
START:	MOV AX,DATA
    MOV DS,AX
    LEA DX,BUF
    MOV AH,09
    INT 21H
    MOV AH,4CH
    INT 21H
CODE ENDS
END START

二.在DosBox界面下输入 masm hello.asm,然后按几次回车就可以了



然后是链接,在DosBox下执行: link  hello   (注意:没有后缀)



最后运行即可:










搭建汇编环境需要以下步骤: 1. 安装VS Code编辑器 下载并安装VS Code编辑器,官网下载地址:https://code.visualstudio.com/ 2. 安装汇编语言插件 在VS Code编辑器中,按下F1,输入“ext install”并按下回车,然后在搜索栏中输入“Assembly”,选择一个适合的汇编语言插件进行安装。 3. 安装MIPS交叉编译器 如果你需要编写MIPS汇编语言,需要安装交叉编译器。在Linux系统下,使用以下命令安装: ``` sudo apt-get install gcc-mipsel-linux-gnu binutils-mipsel-linux-gnu ``` 在Windows系统下,可以从以下链接下载并安装: https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Automated%20Builds/mipsel-64-elf-gcc-8.1.0-win32-seh-rt_v6-rev0.7z/download 4. 配置VS Code编辑器 打开VS Code编辑器,按下“Ctrl+Shift+P”,然后输入“settings.json”,选择“Open Settings (JSON)”。在json配置文件中添加以下配置项: ```json { "terminal.integrated.shell.windows": "C:\\Windows\\System32\\cmd.exe", "terminal.integrated.shellArgs.windows": [ "/c", "C:\\Program Files\\Git\\bin\\bash.exe", "-l" ], "terminal.integrated.env.windows": { "PATH": "C:\\MIPS\\bin;${env:PATH}" } } ``` 其中,“terminal.integrated.shell.windows”指定终端使用的shell,这里使用Windows系统的cmd.exe;“terminal.integrated.shellArgs.windows”指定终端启动时执行的命令,这里使用bash.exe;“terminal.integrated.env.windows”指定终端环境变量,这里添加了MIPS交叉编译器的bin目录。 5. 编写汇编代码 创建一个新的文件,将汇编代码粘贴到文件中,然后保存文件。 6. 编译汇编代码 在终端中输入以下命令: ``` mipsel-linux-gnu-as filename.asm -o filename.o ``` 其中,filename.asm是你的汇编代码文件名,filename.o是你的目标文件名。 7. 运行程序 在终端中输入以下命令: ``` mipsel-linux-gnu-ld filename.o -o filename ./filename ``` 其中,filename.o是你的目标文件名,filename是你的可执行程序名。运行可执行程序时,需要添加“./”前缀。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值