日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

debug与DOSBox安装&&debug命令操作

發布時間:2025/5/22 编程问答 32 如意码农
生活随笔 收集整理的這篇文章主要介紹了 debug与DOSBox安装&&debug命令操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一. DOSBox && debug使用
        • 1.安裝配置(以下方法們按照從麻煩到簡便的順序)
            • (1) 多步驟(可行,但不推薦)
            • (2)一步到位(強烈推薦)
        • 2. 窗口大小
  • 二. debug兩種狀態
  • 三.debug命令及操作
    • ? :查看文檔
    • A :逐步匯編
        • 1.不給地址的話,默認為0101或者當前的IP地址
        • 2.從給定地址adress開始輸入匯編語句,把語句匯編成機器代碼依次存放在給定地址開始的存儲器
    • R : read&&write register顯示和修改寄存器
        • 1.顯示寄存器狀態
        • 2.修改寄存器
    • U : 反匯編
        • 1.若省略地址,從上一個U命令的最后一個指令的下一個單元開始顯示32個字節。
        • 2.若只給起始地址,只對20H個字節的機器代碼反匯編顯示
        • 3.若給定始末地址,對指定地址的機器代碼反匯編顯示
    • D : 以十六進制顯示內存區域的內容
        • 1.若未給出范圍,默認為128字節存儲單元。
        • 2.若給出一個特定地址,則顯示對應的存儲單元的內容
        • 3.若給定一個查看范圍,則顯示范圍內的儲存單元們的內容
        • 4.若給定起點和長度,長度以參數L為標識,則從起點開始顯示規定長度的內容
    • E : 改變內存單元的內容
        • 1.若只給出地址,可改變對應地址開始的連續的一個至八個字節
        • 2.若給出地址以及一個或多個數據,可連續修改內存中的內容
    • T:單步執行
        • 1.若不給任何參數,則從CS : IP 開始執行
        • 2.若給出地址,不給出指令數參數,則在指定地址的指令執行后,不再執行,并顯示寄存器狀態
        • 3.若指定地址和指令數,則從指定地址開始執行對應的指令數量
    • G : 連續執行
        • 1.若不給出任何參數,則從當前物理地址開始運行,直到運行終止指令才停止
        • 2.若只給出起始地址,則從指定地址開始運行,直到運行終止指令才停止
        • 3.若給定起始地址和斷點地址,則從指定地址開始運行,運行到斷點結束
    • P : 執行匯編程序,單步跟蹤。與T命令不同的是:P命令不會跟蹤進入子程序或軟中斷。

一. DOSBox && debug使用

DOSBox下載 : https://sourceforge.net/projects/dosbox/files/dosbox/0.74-2/DOSBox0.74-2-win32-installer.exe/download
debug下載鏈接:https://pan.baidu.com/s/1c1rph04y4ZAZrTQfZJuazA
提取碼:bxcc

1.安裝配置(以下方法們按照從麻煩到簡便的順序)

(1) 多步驟(可行,但不推薦)
  • 打開DOSBox

    • 輸入自定義的驅動器盤符X ,以及你DOSBox的路徑: mount X Y:……
    • 回車,輸入你剛才定義的驅動器盤符
    • 進入X盤之后,你就可以開始調試模式啦,bingo(怎么調試待會再說呀~)
  • 直接把debug拖進DOSBox中,即點住debug后不放拖到DOSBox應用程序上

此時會出現用DOSBox打開的提示字樣

(2)一步到位(強烈推薦)

雙擊打開DOSBox文件目錄中的 DOSBox 0.74-2 Options

在文件末尾,可以看到[autoexec]區段,在最后加入咱上個方法輸入的東西,

MOUNT X Y:……
X:

Ctrl + S保存一下之后,再次打開DOSBox自動掛載到指定驅動盤符,直接輸入debug指令就OK啦

2. 窗口大小

配置完這個新朋友很開心,可是定睛一看,這么小的窗口,還不能調大小?!
有點子不友善哇,讓我們來調教一下這個小妖精~
方法來自貼吧大神https://tieba.baidu.com/p/2150370425?red_tag=0020431408

依然是找到DOSBox里的DOSBox 0.74-2 Options
找個區段,添加以下代碼


[sdl]
fullscreen=false
fulldouble=false
fullresolution=original
windowresolution=1080x800
output=opengl
autolock=true
sensitivity=100
waittrue
priority=higher,normal
mapperfile=mapper-0.74.map
usescancodes=true [render] frameskip=0
aspect=false
scaler=normal2x

可以在windowresolution里調你想要的分辨率

二. debug兩種狀態

  • 接收debug命令的狀態
  • 命令下的相關操作狀態
    兩者之間切換用shift

三.debug命令及操作

  • 確定與退出都按回車鍵
  • 建議初學者不要對CS、IP、SS、SP中的內容進行修改
  • "-"為提示符
  • 89D8 H = MOV AX,BX
  • 修改一個按回車,修改多個按空格
  • HLT:暫停,涉及到硬件處理

? :查看文檔

首先讓我們打個“?”,看看都有啥指令
一共才二十來個指令,而常用指令有才六個~

A :逐步匯編

assemble匯編: 以匯編的形式在內存中輸入一條機器指令
ps:起始的偏移地址一定為0100

A [adress]

[ ]表示其中的內容可省略

1.不給地址的話,默認為0101或者當前的IP地址

2.從給定地址adress開始輸入匯編語句,把語句匯編成機器代碼依次存放在給定地址開始的存儲器

eg:

  • 用A命令分別把0001,0002送到AX,BX中,再AX = AX + BX
  • 再用D命令顯示下結果
    //D命令顯示相應內存的內容
  • 用U命令反編譯,把機器代碼翻譯為匯編語句
    //U : 反匯編反匯編,即把機器指令翻譯成字節碼顯示

R : read&&write register顯示和修改寄存器

1.顯示寄存器狀態


這實在是很心酸的一張照片哩,鑒于筆者的后置像素太渣,
還是借助外援拍圖后期修改的,嗚嗚┭┮﹏┭┮

2.修改寄存器

-R 寄存器名稱

eg:修改AX的值,AX從0000變為我們指定的0001

U : 反匯編

unssemble反匯編:把機器代碼反匯編顯示

-U [地址]

1.若省略地址,從上一個U命令的最后一個指令的下一個單元開始顯示32個字節。

2.若只給起始地址,只對20H個字節的機器代碼反匯編顯示

3.若給定始末地址,對指定地址的機器代碼反匯編顯示

D : 以十六進制顯示內存區域的內容

dump

-D[地址或范圍]

1.若未給出范圍,默認為128字節存儲單元。

從左至右依次是:
段地址:偏移地址 以十六進制的形式顯示內存值   以ASCII碼的形式顯示內存值

其中 物理地址=段地址 × 16D + 偏移地址,16D也就是左移四位

2.若給出一個特定地址,則顯示對應的存儲單元的內容

3.若給定一個查看范圍,則顯示范圍內的儲存單元們的內容

4.若給定起點和長度,長度以參數L為標識,則從起點開始顯示規定長度的內容

-D[起點][L長度]

E : 改變內存單元的內容

enter

-E 地址 [內容]

注意哦ヾ(●′?`●) 像地址只要的不帶[]的參數,必須有!
otherwise,看error來找你敘舊~

1.若只給出地址,可改變對應地址開始的連續的一個至八個字節

2.若給出地址以及一個或多個數據,可連續修改內存中的內容

T:單步執行

trace
執行執行以cs:ip開始的一條或n條機器指令,并顯示寄存器的內容

-[=地址][指令數]

notes : 地址前面的等于不可省,即如果給出地址參數,則一定要在地址前面加上等于
否則,error來找你敘舊~

1.若不給任何參數,則從CS : IP 開始執行

2.若給出地址,不給出指令數參數,則在指定地址的指令執行后,不再執行,并顯示寄存器狀態

3.若指定地址和指令數,則從指定地址開始執行對應的指令數量

G : 連續執行

go 連續執行機器指令

-G [=起始地址][斷點地址]

1.若不給出任何參數,則從當前物理地址開始運行,直到運行終止指令才停止

遇不到就會卡死在這里……

2.若只給出起始地址,則從指定地址開始運行,直到運行終止指令才停止

3.若給定起始地址和斷點地址,則從指定地址開始運行,運行到斷點結束

P : 執行匯編程序,單步跟蹤。與T命令不同的是:P命令不會跟蹤進入子程序或軟中斷。

P命令的使用方式與T命令的使用方式完全相同。
執行循環、重復的字符串指令、軟件中斷或子例程序。
#持續更新ing

總結

以上是生活随笔為你收集整理的debug与DOSBox安装&&debug命令操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。