引言
最近因爲要寫一個東西需要在C++中嵌入一點彙編代碼,所以需要學習一下彙編語言,首先我們要做的事情是配置一個執行彙編語言的環境,一番挑選之後,我選擇了DOSbox,並在完成配置以後記錄這篇文章,希望後面學習的朋友能夠少踩坑,少碰雷。
下載
首先我們需要下載這個軟件,我使用的是deepin15.7,deepin強大的應用商店中已經有這個東西了。
當然一般的我們使用指令是這樣的:
sudo apt-get install dosbox
下載完成以後我們可以執行來看看是否下載成功:
dosbox -version
然後我們就可以去運行了
當然直接點擊圖標也是可以的。
配置
然後我們需要掛載c盤並進入,在Dosbox執行以下指令:
mount c /home/lizhaolong/masm
c:
然後我們需要把這個掛在配置中並重新啓動Dosbox,配置在~/.dosbox/dosbox-0.74.conf,如下:
這裏想要進行彙編的學習還需要masm、link、debug三個工具;其中masm是彙編工具、link是鏈接工具、debug是調試工具,這裏是下載的地址:https://github.com/Super-long/masm,把其中除了readme以外的數據放到/home/lizhaolong/masm下就可以。
執行第一個彙編代碼
我們編寫第一個彙編代碼(借用楊博東學長的代碼),命名爲hello.asm。如下:
DATA SEGMENT
str db 'Hello World$' ;要輸出的字符串必須要以$結尾
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA ;將CS和CODE,DS和DATA段建立聯繫
START:
MOV BX,DATA
MOV DS,BX
LEA DX,str
MOV AH,9
INT 21H
MOV AH,4CH ;將控制權返回給終端。
INT 21H
CODE ENDS
END START
把這個文件放在/home/lizhaolong/masm中,如下:
接下來我們開始執行,在輸入masm hello.asm
後按三下回車,
然後我們的/home/lizhaolong/masm中就出現了hello.obj
輸入link hello.obj
以後連續輸入三個回車。
然後鏈接就OK啦,我們發現/home/lizhaolong/masm中出現了hello.exe
然後直接在Dosbox中執行就好啦。
激動人心的一刻!Hello World!
這樣Linux下的8086彙編環境就算是搭建完成了,可以愉快的學習啦