打開文件,數據將以如下方式展示在我們面前。左邊是機器碼,右邊是反編譯文本。

很顯然,反編譯文本只是按照Ascii對二進制數據進行編譯,所以能夠很好地恢復出來。而剩下的因為在Ascii表中沒有對應的編碼,所以也就不能恢復出來。
在扇區末尾可以很明顯的看到55aa結束標志,而在之間填充的0完全是times 510 - ($-$$) db 0的功勞。如果不以0填充這些區域,程序拉起后的行為就不一定是我們所能夠預想的。
為了看懂剩下的區域內容,使用ndisasm進行反編譯。正常來說我們可以得到下列結果,而從7C28到7DFC中間的內容不過是簡單重復,沒有展示出來的必要。


首先程序加載到7C00處,從這里進行起跳;
然后數據對齊,并調用7C0B的程序;
7C0B命令裝載7c1E起始地址到ax,從1F到22要求端口傳輸字符串。
insb--輸入字符串到端口。
輸入字符串指令(Input String Instruction)。該指令是從某一指定的端口接受一個字符串,并存入一片存儲單元之中。輸入端口由DX指定,存儲單元的首地址和讀入數據的個數分別由ES:DI和CX來確定。在指令的執行過程中,還根據標志位DF對寄存器DI作相應增減。該指令不影響任何標志位。
Outsw—輸出字符串到端口。
輸出字符串指令(Output String Instruction)。該指令是把一個字符串輸入到指定的輸出端口中。輸出端口由DX指定,其輸出數據的首地址和個數分別由DS:SI和CX來確定。在指令的執行過程中,還根據標志位DF對寄存器SI作相應增減。該指令的執行不影響任何標志位。
回到7C0E處,從0E到1D內容作用如上文一致,不再解析。
7C0A有一個短跳轉到7C0A,即是要程序在此循環,可是該命令存在空耗計算機資源嫌疑。
至此整個程序解析完畢,而剩余沒有解析的部分希望看客自行查找資料,這對于學習匯編與操作系統有好處。
三、運行環境搭建
運行環境使用VBox虛擬機,也可以使用物理機驗證。
Ⅰ.創建虛擬機。
新建

按圖填寫,下一步






最后點擊創建。
Ⅱ.裝載.bin文件到虛擬硬盤。
使用李忠老師開發的工具。
打開按照如下方式寫入即可。

Ⅲ.將盤片安裝到虛擬機。

參考文獻:
[1] General Software.[EB/OL]. https://cdn.embeddedts.com/resource-attachments/x86-edio-41.pdf
[2] 謝煥強.精簡32位Linux操作系統在X86上的設計與實現[D].2022.23-24.
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
計算機
+關注
關注
19文章
7636瀏覽量
90266 -
匯編
+關注
關注
2文章
214瀏覽量
26443 -
虛擬機
+關注
關注
1文章
963瀏覽量
29110
發布評論請先 登錄
相關推薦
熱點推薦
計算機安全使用常識
計算機安全使用常識 (1)使用符合額定電壓的電源。電壓高于額定電壓會燒毀硬件,低于額定電壓計算機不能正常啟動或系統運行不正常,甚至也會燒毀硬件。(2)正確開關計算機。正確的開機方法是:
發表于 03-10 12:10
計算機組成原理 精選資料分享
計算機組成原理第一章 計算機系統概述1.1 計算機系統簡介計算機系統:硬件、軟件軟件:系統軟件、應用軟件計算機系統的層次結構(由高到低):高
發表于 07-23 06:15
計算機開機啟動過程詳解 精選資料分享
計算機的開機啟動過程(1) 啟動過程總攬(二)詳細說明1、CPU 供電按下主機的電源鍵后,計算機開始啟動,為主板部分芯片和CPU進行供電。主
發表于 07-23 09:18
計算機組成期末復習 精選資料分享
機D.計算機可實現高速運算(c)2、計算機硬件能直接執行的只能是下面哪項。A.符號語言 B.匯編語言C.機器語言 D.機器語言和匯編語言(c)3
發表于 07-26 07:14
微型計算機原理及應用
前言微機原理主要內容包括微型計算機體系結構、8088微處理器和指令系統、匯編語言設計以及微型計算機各個組成部分介紹等內容。微機原理接口技術是一門實踐性強的學科,不但要求較高的理論水平,而且還要求有實際的動手能力。這次項目設計的主
發表于 09-10 07:38
5. 電子計算機的應用,計算機應用基礎(試卷版)5|計算機應用基礎試卷 精選資料分享
:通用計算機和專用計算機B:數字電子計算機和模擬電子計算機C:科學與過程計算計算機、工業控制計算機
發表于 09-13 09:08
計算機組成原理與匯編語言程序設計
計算機組成原理與匯編語言程序設計是為中央電大計算機組成原理與匯編語言程序設計課程編寫的教材。在開始學習本書之前,請大家務必先認真閱讀這篇前言,它將告訴你本課
發表于 10-21 17:56
?0次下載

計算機的機器語言和匯編語言與高級語言的詳細資料介紹
計算機語言通常是一個能完整、準確和規則地表達人們的意圖,并用以指揮或控制計算機工作的“符號系統”。計算機語言通常分為三類:即機器語言、匯編語言和高級語言。
構建 4 位計算機:匯編語言和匯編器(第 2 部分)
一旦我們構建了一臺計算機,下一步就是開發一種匯編語言,然后是一個可以匯編我們程序的匯編器。 ? 在我 之前的專欄 中,我們介紹了在計算機內存
發表于 08-01 17:52
?994次閱讀

評論