1. 程式人生 > >linux下搭建彙編環境

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   (注意:沒有後綴)



最後執行即可: