<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ![](https://img.kancloud.cn/4e/47/4e47699813d62de3c1a9b049841e23f6_844x268.png) debug是dos系統中著名的調試程序,也可以在windows系統實模式下 可以查看cpu中各種寄存器中的內容、內存的情況,并且在機器指令級跟蹤程序的運行 ## **我們用到的Debug功能(共20個命令)。** **`R`** 命令查看、改變CPU寄存器的內容: **`D`** 命令查看內存中的內容; **`E`** 命令改寫內存中的內容; **`U`** 命令將內存中的機器指令翻譯成匯編指令; **`T`** 命令執行一條機器指令; **`A`** 命令以匯編指令的格式在內存中寫入一條機器指令。 `... ...` [TOC] ## **啟用debug** 參考環境搭建章節 ![](https://img.kancloud.cn/b2/87/b287b3e94b1eeef57fac52b8f3665215_918x506.png) ## **查看寄存器內容R** r ![](https://img.kancloud.cn/6f/4b/6f4b27173d3ca5a22c1b170db9c4614c_898x138.png) ## **修改寄存器內容R** r+空格+寄存器名+回車(不需要空格即:r寄存器名+回車也可以) ![](https://img.kancloud.cn/92/2d/922dd95109c6f4b3c10821da16975d20_875x174.png) ## **查看內存的內容D** d 列出指定地址開始的128字節(即128個內存單元)的內容:【d】 列出內存中指定地址處的內容:【段地址:偏移地址】 列出內存中指定地址范圍內的內容:【段地址:開始偏移地址 結尾偏移地址】 ![](https://img.kancloud.cn/6c/b2/6cb28793e1b60ee7cf565bf4b7af238d_630x293.png) ![](https://img.kancloud.cn/4c/60/4c60aadc3a92b5b7e443156f7499f961_639x288.png) ![](https://img.kancloud.cn/b6/71/b6711eb06c63017b8bd0190921d458dc_631x147.png) ![](https://img.kancloud.cn/15/5c/155c002ec98e1f14eae4494cba2fb03e_641x69.png) ![](https://img.kancloud.cn/49/ee/49ee2ad4413ba75ee30416e10050e933_891x550.png) ## **改變內存中的內容E** e 逐個詢問修改:【段地址:偏移地址+回車+填值+空格 填值+空格 填值 ... 回車結束修改 】 直接修改:【段地址:偏移地址 數據1 數據2 數據3 ...】 ![](https://img.kancloud.cn/27/e2/27e241de8caaaf6d5335db56029a439f_904x270.png) ## **查看代碼U** u ``` u 段地址:偏移地址 ``` 我們知道匯編指令是人能讀懂的,指令本身也是數據,他都有對應的機器碼 mov ax,0123H 對應的機器碼為:D8 23 01 mov bx 0003H 對應的機器碼為:BB 03 00 mov ax,bx 對應的機器碼為:89 D8 add ax,bx 對應的機器碼為:01 D8 實操: ``` e 2000:0 d8 23 01 bb 03 00 89 d8 01 d8 ``` ![](https://img.kancloud.cn/92/9d/929d5f98f34dda9ef20d7aef11706465_889x416.png) ## **寫入匯編指令A** a ``` a 段地址:偏移地址 回車 匯編指令1 +回車 ... 匯編指令n +回車 回車回車結束 ``` ![](https://img.kancloud.cn/94/12/94124de5e80eb72a8da4cfc98d776c96_833x96.png) 這里我們在cs:ip處寫入匯編指令方便示范下一個命令t ![](https://img.kancloud.cn/21/89/218912f574a3d76ed5e0e442285de6f8_640x407.png) ## **執行CS:IP處的匯編指令T** t ![](https://img.kancloud.cn/94/12/94124de5e80eb72a8da4cfc98d776c96_833x96.png) ![](https://img.kancloud.cn/e4/91/e49129fce5ed4c4f9877a24bb0fe4ce5_398x110.png) ![](https://img.kancloud.cn/58/0f/580ff2b387858f0ce1515f31d04143fb_881x548.png) t會向下逐個執行匯編命令,那么執行后怎么才能重置到自己想執行匯編命令的位置?jmp 073f:100 下一小節詳細介紹cs:ip寄存器 ## **退出debug** q 回車
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看