匯編程序設計之DOSBox模擬環(huán)境配置
匯編程序設計DOSBox模擬環(huán)境配置最近在學習匯編語言設計,然后上網找關于匯編程序的編譯軟件。不負有心人,終于找到了我需要的軟件,值得慶幸。關于配置方法以及步驟,以下詳情。首先,我們需要一個環(huán)境,該環(huán)境稱為:DOSBox環(huán)境,該環(huán)境是一個仿真器環(huán)境,仿真真實的DOS環(huán)境,可重新創(chuàng)建 MS-DOS 兼容環(huán)境(包括聲音、輸入、圖形甚至基本網絡)。然后我們在這個環(huán)境下面進行匯編語言設計。有能力者可以直接網上下載真實的DOS環(huán)境,從而從實體機上運行并編寫調試匯編程序。
DOSBox下載連接為: ---->這是下載鏈接<-----
腳本之家網站下載:http://chabaoo.cn/softs/55204.html
下載了之后,便是以下安裝。習慣安裝在 D 盤,所以我設置成了 D:\Program.....如下圖:
經過一系列的努力,你終于把環(huán)境配好了,好棒(?•??•?)??然后,我們首先在D盤中新建一個文件夾,稱作 "MASM"
為什么呢?
因為待會要使用,笨蛋( ╯□╰ )
哦~(●ˇ∀ˇ●)
接下來,我們進行masm配置,首先,你得把那幾個程序找到
edit.exe, edit.com ( 編輯軟件 )debug.exe ( 是一種計算機程序,用于測試和調試MS-DOS可執(zhí)行文件 )masm.exe ( 是一個利用 x86 匯編語言程序并產生相應的二進制文件的工具 )link.exe ( 是將對象文件與庫鏈接起來以創(chuàng)建可執(zhí)行文件或動態(tài)鏈接庫文件的工具 )
當然,我的百度云盤上有,如果你有能力,可以自己找找看.....---->這是我的百度云盤鏈接<(?ˊ?ˋ)?*?------(提取碼:qvs9)當你下載完的時候,估計你花費了不少的時間。然后呢,下載完之后,是一個壓縮包,把這個壓縮包里面的文件解壓到剛剛在D盤創(chuàng)建的 MASM 目錄下 ( 知道為什么剛剛要你創(chuàng)建這個文件了吧~ ) 然后你就完成了基本的配置
打開DOSBox軟件,然后它是這樣的:
然后請你輸入
mount c d:\MASM (打一個換行符)c : ( 再打一個換行符 )然后你就完成了配置
mount c d:\MASM 這句話的意思是:把原來的虛擬文件夾換掉(“c”作為虛擬C盤 "d:dos"你要虛擬的文件夾位置。 我不清楚是否每次進入的時候都需要輸入,反正我沒試過,我為了能夠好用,每次進來的時候都不由自主輸入了這句話)格式是:mount c ( 這是你的磁盤 ) : \ ( 剛剛解壓的文件在的文件夾 )c : 這個意思是把該目錄下切換成虛擬c盤
通過以上的配置,恭喜你,完成了masm的配置以及DOSBox的配置,然后你就可以edit文件了
這是edit的步驟:
1.切換到masm目錄下,換成了虛擬c盤之后,輸入edit hello.asm,然后進行編輯文件,在你編寫完成后,就可以保存退出
2.返回dos后,輸入masm hello.asm,進行編譯
3.編譯完成后,輸入link hello.obj,進行鏈接
4.鏈接成功后,輸入hello.exe,回車,輸出字符Hello World,成功了
以下附上hello.asm的代碼 (雖然我暫時沒看懂.....)
;80x86匯編語言<入門程序> ;YPP.20170928 ;文件名Hello.asm DSEG SEGMENT MESS DB 'Hello,World!' ,0DH,0AH,24H DSEG ENDS SSEG SEGMENT PARA STACK DW 256 DUP(?) SSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG BEGIN: MOV AX,DSEG MOV DS,AX MOV DX,OFFSET MESS MOV AH,9 INT 21H MOV AH,4CH INT 21H CSEG ENDS END BEGIN
有錯誤請指出,謝謝 <( ̄︶ ̄)↗[GO!]
相關文章
os_object_release Crash 排查記錄分析
這篇文章主要為大家介紹了os_object_release Crash 排查記錄分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11從匯編代碼開始全面解析synchronized還原最真實的偏向鎖
這篇文章主要為大家介紹了從模板解釋器匯編源碼開始分析還原最真實的偏向鎖實現,解釋monitorenter字節(jié)碼命令的方法開始,從匯編代碼開始全面解析synchronized2022-02-02