日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

前言

本學期學校安排有匯編語言這門課,需要自己搭建匯編語言開發環境,特此寫下本文記錄搭建過程.

關于搭建匯編語言開發環境的教程,我也找了許多,可看下來卻依舊一頭霧水,經過本人摸索,同時結合網上教程,欲寫下這篇易懂的文章.

準備工作

1.下載DOSBox

工具介紹:DOSBox是一個DOS模擬程序,由于它采用的是SDL庫,所以可以很方便的移植到其他的平臺.目前,DOSBox已經支持在Windows、Linux、Mac OS X、BeOS 、palmOS、Android 、webOS、os/2等系統中運行.不少DOS下的游戲都可以直接在該平臺上運行.

工具官網:DOSBox, an x86 emulator with DOS

項目主頁:
https://sourceforge.net/projects/dosbox/

下載鏈接1(32位):
http://sourceforge.net/projects/dosbox/files/dosbox/0.74/DOSBox0.74-win32-installer.exe/download/

下載鏈接2(這個是我下載好的,可能會快一點):
https://idefun.lanzoux.com/i4TQgm4zjkf/

2.下載匯編工具包

下載鏈接:
https://idefun.lanzoux.com/i4TQgm4zjkf/

匯編工具截圖

Windows10下搭建匯編語言開發環境

 

安裝教程

1.安裝DOSBox

雙擊運行DOSBox安裝程序

點擊next

Windows10下搭建匯編語言開發環境

 

選擇安裝位置(我選擇都是D:DOSBox)然后點擊install即可

安裝位置要記得,后面要用

2.創建工作目錄

安裝完畢創建一個工作目錄(目錄位置及目錄名可自定義)

我的是在D:/DOSBox/Debug

之后再在Debug下創建兩個文件夾ASM(放自己寫的匯編程序)和MASM(放匯編工具)

Windows10下搭建匯編語言開發環境

 

將匯編工具放入MASM文件夾

Windows10下搭建匯編語言開發環境

 

3.掛載工作目錄

打開DOSBox安裝目錄(我的在D:DOSBox)

Windows10下搭建匯編語言開發環境

 

打開后找到DOSBox 0.74 Options.bat這個批處理文件

Windows10下搭建匯編語言開發環境

 

直接雙擊運行會出現一個記事本

Windows10下搭建匯編語言開發環境

 

使用快捷鍵Ctrl+F查找其中的[autoexec]部分(一般在文件末尾)

Windows10下搭建匯編語言開發環境

 

在文件中添加下列內容并保存

MOUNT F D:DOSBoxDebug
set PATH=%PATH%;F:MASM;
F:
cd F:ASM
cls

Windows10下搭建匯編語言開發環境

 

命令解釋:

#掛載工作目錄掛載到虛擬盤符F(虛擬盤符可自定義,命令不區分大小寫)
MOUNT F D:DOSBoxDebug
#添加系統臨時變量(此時的F代表的是D:DOSBoxDebug)
set PATH=%PATH%;F:MASM;
#轉到F盤符
F:
#切換到F:ASM目錄
cd F:ASM
#執行一次清屏
cls

如果不加cls,打開會是這樣

Windows10下搭建匯編語言開發環境

 

加上cls,打開會是這樣(我覺得更美觀,依個人喜好)

Windows10下搭建匯編語言開發環境

 

注意:不進行此種配置的話,每次打開DOSBox是需要手動輸入上述命令,非常麻煩

使用說明

DOSBox常用快捷鍵

快捷鍵

作用

Alt+Enter

切換全屏

Ctr+F1

改變鍵盤映射

Alt+Pause

暫停模擬

Ctrl+Alt+F5

開始/停止錄制視頻

Ctrl+F4

交換掛載的磁盤映像,也就是更新磁盤文件

Ctrl+F5

截圖

Ctrl+F6

開始/停止錄制聲音

Ctrl+F7

減少跳幀

Ctrl+F8

增加跳幀

Ctrl+F9

關閉DOSBOX

Ctrl+F10

捕捉/釋放鼠標

Ctrl+F11

模擬減速

Ctrl+F12

加速模擬

Alt+F12

不鎖定速

注意:以上快捷鍵我并沒有全部測試,更多詳細信息參見README.txt(在DOSBox安裝目錄中的Documentation里面)

Windows10下搭建匯編語言開發環境

 

調整窗口大小

初始的界面很小,且不能直接拉伸界面,所以有需要的可以按照下面的方法調整一下
雙擊打開DOSBox 0.74 Options.bat

使用快捷鍵Ctrl+F查找windowresolution字段

Windows10下搭建匯編語言開發環境

 

windowresolution=original
output=surface

改為

windowresolution=800x500 #800x500為自定義大小,可修改
output=opengl

注意:不用刪除原來的語句,在前面加上#注釋掉即可

Windows10下搭建匯編語言開發環境

 

保存后,重啟DOSBox生效

創建并編輯文件

關于創建并編輯文件,如果你的工作目錄(掛載的目錄)有EDIT.COM文件(我提供的匯編工具包中有),那么你就可以在DOSBox中創建并編輯文件,如果沒有請使用我提供的工具包或者耐心往下看.

使用DOSBox創建并編輯文件(不推薦)

打開DOSBox使用下面命令創建并編輯test.asm文件

edit test.asm

Windows10下搭建匯編語言開發環境

 

回車后進入下面界面即可進行編輯(注意:鼠標箭頭只能在編輯器里活動,想將鼠標退出來的話可以用Ctrl+F10組合鍵退出)

Windows10下搭建匯編語言開發環境

 

使用記事本創建并編輯文件(其他編輯器也可以)

下面以此種方式創建test.asm文件

新建文本文檔,將下面代碼復制到里面并保存

datas segment
buf db'Hello, World!$'
datas ends
stacks segment stack
db 200 dup(0)
stacks ends
codes segment
assume cs:codes,ds:datas,ss:stacks
start:
mov ax,datas
mov ds,ax
mov dx,seg buf
lea dx,buf
mov ah,09h
int 21h
mov ah,4ch
int 21h
codes ends
end start

Windows10下搭建匯編語言開發環境

 

之后重命名為test.asm

Windows10下搭建匯編語言開發環境

 

編譯調試

打開DOSBox輸入下面命令

masm test.asm

回車后會詢問文件名,建議直接回車

編譯程序提示輸入交叉引用文件的名稱,這個文件同列表文件一樣,是編譯器將源程序編譯為目標文件過程中產生的中間結果.可以讓編譯器不生成這個文件,直接按Enter鍵即可

Windows10下搭建匯編語言開發環境

 


Windows10下搭建匯編語言開發環境

 

可以像上圖一樣分別輸入文件名,打開ASM查看如下

Windows10下搭建匯編語言開發環境

 

本文全部默認即不分別輸入文件名直接回車

Windows10下搭建匯編語言開發環境

 

打開ASM文件夾查看如下

Windows10下搭建匯編語言開發環境

 

繼續輸入命令

link test.obj

Windows10下搭建匯編語言開發環境

 

運行完畢,查看ASM文件夾

Windows10下搭建匯編語言開發環境

 

繼續執行下列命令

debug test.exe

Windows10下搭建匯編語言開發環境

 

debug的簡單使用

debug是Dos、windows提供的實模式(8086方式)程序的調試工具

  • 可以查看CPU各種寄存器的內容
  • 可以查看內存的情況
  • 可以在機器碼級別跟蹤程序的運行

命令

作用

R命令

查看、改變CPU寄存器的內容

D命令

查看內存中的內容(機器指令形式)(16進制顯示)

E命令

改寫內存中的內容,即提供指令(使用機器指令),用得比較少,多為A命令

U命令

查看內存中的內容(將機器指令形式轉換為匯編指令的形式)(反編譯)

T命令

執行一條匯編(機器)指令(就是執行當前指令緩沖器中的指令)

A命令

相比較E,使用匯編指令進行內存修改——向內存提供機器指令

P命令

在遇到匯編指令為int xx 時,使用p指令結束(否則CPU會指向一個
未知的地址段)

G命令

執行完exe運行結果顯示

Q命令

退出debug

?命令

查看指令幫助

R命令

查看CPU寄存器的內容

Windows10下搭建匯編語言開發環境

 

標識名

置位

復位

溢出Overflow(是否)

OV

NV

向Direction(減量/增量)

DN

UP

中斷Interrupt(允許/屏蔽)

EI

DI

符號Sign(負正)

NG

PL

零Zero(是否)

ZR

NZ

輔助進位Auxiliary Carry(是否)

AC

NA

奇偶Parity(偶奇)

PE

PO

進位Carry(是否)

CY

NC

改變標志位的值

rf

Windows10下搭建匯編語言開發環境

 

改變CPU寄存器的內容

改變ax的值

直接回車退出修改

Windows10下搭建匯編語言開發環境

 

改變CS:IP的值

Windows10下搭建匯編語言開發環境

 

D命令

使用D命令,debug將輸出3部分內容:

  1. 中間是從指定地址開始的128個內存單元的內容,用16進制的格式輸出,每行的輸出從16的整數倍的地址開始,最多輸出16個單元的內容.注意在每行的中間有一個"-",它將每行的輸出分為兩部分,這樣便于查看
  2. 左邊是每行的起始地址
  3. 右邊是每個內存單元中的數據對應的可顯示的ASCII碼字符.若沒有對應可顯示的ASCII字符,debug就用"."來代替
Windows10下搭建匯編語言開發環境

 

在一進入debug后,用D命令直接查看,將列出debug預設的地址處的內容

Windows10下搭建匯編語言開發環境

 

使用d 段地址:偏移地址查看(以d 1000:0為例)

格式:d 段地址:偏移地址
使用"d 段地址:偏移地址"的格式來查看,debug將列出從指定內存單元開始的128個內存單元的內容

Windows10下搭建匯編語言開發環境

 

在使用"d 段地址:偏移地址"之后,接著使用D命令,可列出后續的內容

Windows10下搭建匯編語言開發環境

 

也可以指定D命令的查看范圍,此時采用"d 段地址:起始偏移地址 結尾偏移地址"的格式

Windows10下搭建匯編語言開發環境

 

若輸入的地址不是16的倍數,則輸出效果是這樣的

Windows10下搭建匯編語言開發環境

 

E命令

將內存1000:0-1000:9單元中的內容分別寫為0、1、2、3....、9,可以用"e 段地址:起始地址 數據 數據 數據 ……"的格式來進行

Windows10下搭建匯編語言開發環境

 

用E命令以提問的方式來逐個地修改從某一地址開始的內存單元中的內容

Windows10下搭建匯編語言開發環境

 

  • 紅色部分為用戶輸入的修改的數據,到了某一內存單元的時候,可以選擇修改(輸入要修改的數值),也可以選擇不修改(直接按空格),處理完一個內存單元之后,按空格,繼續處理下一個內存單元;全部都處理完畢之后,按enter

可以用E命令向內存中寫入字符

Windows10下搭建匯編語言開發環境

 

也可以用E命令向內存中寫入字符串

Windows10下搭建匯編語言開發環境

 

用E命令向內存中寫入機器碼,用T命令執行內存中的機器碼

e 1000:0 b8 01 00 b9 02 00 01 c8

機器碼

對應的匯編指令

b80100

mov ax,0001

b90200

mov cx,0002

01c8

add ax,cx


Windows10下搭建匯編語言開發環境

 

用E命令向從1000:0開始的內存單元中寫入了8個字節的機器碼
用D命令查看內存1000:0~1000:1f中的數據(從數據的角度看一下寫入的內容)
用U命令查看從1000:0開始的內存單元中的機器指令和他們所對應的匯編指令

U命令

對機器代碼反匯編顯示

按地址反匯編

u 地址

該命令從指定地址開始,反匯編32個字節,若地址省略,則從上一個U命令的最后一個指令的下一個單元開始顯示32個字節

Windows10下搭建匯編語言開發環境

 


Windows10下搭建匯編語言開發環境

 

按范圍反匯編

u 范圍

T命令

?命令

輸入?查看更多命令

Windows10下搭建匯編語言開發環境

 

結果如下:

Windows10下搭建匯編語言開發環境

 

分享到:
標簽:環境 開發
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定