Ubuntu 匯編語言環(huán)境搭建:DOSBox虛擬環(huán)境
Ubuntu 匯編語言環(huán)境搭建:DOSBox虛擬環(huán)境
使用的教材《匯編語言》 王爽 第四版
1. 安裝 DOSBox 虛擬環(huán)境
sudo apt-get install dosbox
2. 新建目錄
2.1 新建文件目錄
在用戶家目錄中創(chuàng)建 DOSbox目錄以作為DOSBox虛擬環(huán)境的C盤根目錄,并且在其中新建三個目錄:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
(1)ASM:于存放匯編程序
(2)MASM:存放編譯時需要的工具
(3)DOS:存放DOSBox環(huán)境的其他命令程序工具
另外,在DOS目錄內(nèi)創(chuàng)建VIM73目錄以備在DOSBox虛擬環(huán)境中安裝vim7.3編輯器 —— 參見后面所述。
2.2 準(zhǔn)備匯編編譯工具文件degub.exe、masm.exe、link.exe
注意較高版本 masm 不支持8086格式的匯編語言(建議masm 5.0)。
將debug.exe, LINK.EXE, MASM.EXE三個文件拷貝到MASM 目錄中。
3. 配置dosbox 環(huán)境變量
3.1 掛載 c 盤
$ dosbox
DOSBox version 0.74
Copyright 2002-2010 DOSBox Team, published under GNU GPL.
---
CONFIG:Loading primary settings from config file /home/respecting-god/.dosbox/dosbox-0.74.conf
MIXER:Got different values from SDL: freq 44100, blocksize 512
ALSA:Can't subscribe to MIDI port (65:0) nor (17:0)
MIDI:Opened device:none
(1)在啟動dosbox 之后,輸入c: 會提示c盤不存在
(2)掛載C盤根目錄
mount c ~/DOSBox
其中~表示用戶的家目錄。
3.2 配置環(huán)境變量
在啟動dosbox 后,會在用戶家目錄中產(chǎn)生配置文件.dosbox/dosbox-0.74.conf。在該文件的[autoexec]標(biāo)注后面添加所需要的環(huán)境變量:
mount c ~/DOSBox
作用:掛載驅(qū)動器c盤到目錄~/DOSBox(也可以用絕對路徑),從而使C盤映射到~/DOSBox目錄;默認情況下DOSBox并沒有開啟C:,因此必須先掛載。實際上, 這意味著必須為DOSBox創(chuàng)建一個可以做為C:\的目錄。至此,~/DOSBox目錄就成為dos環(huán)境下的c:\目錄。
c:
作用:啟動DOSBox后自動進行C盤根目錄。
path=%path%;\MASM
作用:相當(dāng)于將目錄MASM路徑加入到path中,于是當(dāng)執(zhí)行masm,link,debug命令時就無需進入目錄MASM,否則就必須進入MASM目錄才能夠執(zhí)行masm、link、debug操作。
path=%path%;\DOS
作用:相當(dāng)于將目錄\DOS路徑加入到path中,于是當(dāng)執(zhí)行DOS目錄內(nèi)所包含的命令工具程序時就無需進入目錄\DOS,否則必須進入\DOS目錄才能夠執(zhí)行存放在該目錄內(nèi)的命令程序。
path=%path%;\DOS\VIM73
作用:相當(dāng)于將目錄\DOS\VIM73路徑加入到path中,于是當(dāng)執(zhí)行vim命令時就無需進入目錄\DOS\VIM73,否則必須進入\DOS\vim73目錄才能夠執(zhí)行vim操作。(關(guān)于VIM73目錄參見后面所述)
注意:dos 環(huán)境中是不區(qū)分大小寫;Windows(包括 DOS)操作系統(tǒng)執(zhí)行命令時,都是首先搜索當(dāng)前目錄下的同名命令名來執(zhí)行 —— 這就是為什么在設(shè)置 DOS 環(huán)境變量時要添加上述三個 path 的原因。
3.3 dos 環(huán)境中安裝 vim:為方便編寫程序,需在 dos 環(huán)境中安裝 vim 編輯器
第1步:將VIM73文件夾(包含vim安裝程序文件)復(fù)制到~/DOSBox目錄內(nèi)。
(1)首先從FTP archive directory /pub/vim/pc/ (nluug.nl)網(wǎng)站下載vim73_46d32.zip、vim73_46rt.zip、vim73_46src.zip三個文件
(2)創(chuàng)建文件夾vim73,并將上述三個壓縮文件解壓后所得到的vim73文件夾內(nèi)的全部文件都放入這個新創(chuàng)建的VIM73文件夾內(nèi)
注意,壓縮文件vim73_46d32.zip解壓后所得到的vim73文件夾內(nèi)包含的csdpmi4b.zip壓縮文件也要解壓,并將解壓后得到的BIN和MANIFEST兩個文件夾內(nèi)的文件全部復(fù)制到該新創(chuàng)建的VIM73文件夾內(nèi)(若非如此操作,則安裝vim時將報錯而無法安裝),而這些文件所在的BIN和MANIFEST兩個文件夾則丟棄(新創(chuàng)建的VIM73文件夾中不包含這兩個文件夾)。csdpmi4b.zip解壓后所得的csdpmi4b文件夾及該壓縮文件本身都應(yīng)該丟棄(刪除)—— 只取其所包含的實際文件(解壓后產(chǎn)生的所有文件夾都刪除)。
(3)將已經(jīng)包含所有安裝vim所需程序文件的新創(chuàng)建VIM73目錄復(fù)制到~\DOSBox\DOS目錄內(nèi)
第2步:啟動dosbox,進入\DOS\VIM73目錄,鍵入install命令,以執(zhí)行VIM73目錄內(nèi)的install程序文件,安裝vim編輯器;在安裝的最后,要按 d(即 do it? 的意思)鍵后完成安裝。
安裝完成后執(zhí)行dir命令,vim安裝后將生成VIMFILES和_VIMRC兩個目錄。
第3步:在啟動vim時,會先執(zhí)行默認安裝后生成的vim啟動配置文件_VIMRC,這時會提示以下錯誤:
Error detected while processing c:\dos\_vimrc:
line 2:
E484: Can't open file c:\dos\vim73\vimrc_example.vim
配置文件\DOS\_VIMRC的內(nèi)容如下:
set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin
需要將該文件的第1行后面的所有行都用雙引號(”)注釋掉,只保留第一行,才能正常啟動vim編輯器:
set nocompatible
" source?$VIMRUNTIME/vimrc_example.vim
" source $VIMRUNTIME/mswin.vim
" behave mswin
第3行是設(shè)置gvim的配置信息,第4行是將vim作為gvim使用。
3.4 修改dosbox 的窗口配置;
vi .dosbox/dosbox-0.74.conf
修改配置文件中的如下內(nèi)容(其中#開頭的行是原文件內(nèi)容,其下一行是修改后的內(nèi)容):
fullscreen=false
fulldouble=false
#fullresolution=original
fullresolution=1024x768
#windowresolution=original
windowresolution=1024x768
#output=surface
output=opengl
說明:
1024x768的x是英文字母,不能用星號代替(*)
4. hello world
4.1 新建匯編文本
在 MASM 目錄中新建 hello.asm文件,在該文件中輸入以下內(nèi)容:
DATA SEGMENT
str db 'Hello Worlds$'?
DATA ENDS
CODE SEGMENT
ASSUME? 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
4.2 生成目標(biāo)文件
輸入masm hello.asm 匯編語言編譯命令,根據(jù)提示,鍵入三次 enter,生成目標(biāo)文件HELLO.OBJ:
4.3 鏈接
輸入link hello.obj鏈接命令,輸入三次回車,生成 hello.exe
4.4 執(zhí)行
執(zhí)行可執(zhí)行文件hello.exe
引用原文章內(nèi)容出處:
https://blog.csdn.net/Pipcie/article/details/105499537