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 ,代码是:

[plain] view plaincopy
  1. DATA SEGMENT  
  2.     BUF DB 'HELLO WORLD!  THIS IS MY FIRST ASM FILE! $'  
  3. DATA ENDS  
  4.   
  5. CODE SEGMENT  
  6.     ASSUME  CS:CODE,DS:DATA  
  7. START:  MOV AX,DATA  
  8.     MOV DS,AX  
  9.     LEA DX,BUF  
  10.     MOV AH,09  
  11.     INT 21H  
  12.     MOV AH,4CH  
  13.     INT 21H  
  14. CODE ENDS  
  15. END START  

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



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



最后运行即可:




展开阅读全文

没有更多推荐了,返回首页