MZ執行檔

DOS MZ執行檔(英語:DOS MZ executable)格式是DOS中的.EXE執行檔格式。

介紹

該檔案可以通過檔案開頭的ASCII字元串“MZ”(十六進制:4D 5A)來識別(“幻數”)。 “MZ”是Mark Zbikowski的縮寫,Mark Zbikowski是MS-DOS的主要開發者之一。

該檔案在檔案頭部用ASCII字元串“MZ”(十六進制:4D 5A)標識。“MZ”是MS-DOS開發者之一的馬克·茨柏克沃斯基(Mark Zbikowski)的姓名首字母縮寫

DOS MZ執行檔比COM執行檔格式更晚出現,並與其有一定差別。DOS執行檔頭部包含了重定位信息,使得多個段能被載入到任意記憶體地址中,並且支持大於64KB的執行檔;然而該格式仍然要求相對低的記憶體限制。這些限制後來通過使用DOS擴展器得以繞過。

DOS EXE程式的執行環境可以在其程式段前綴中找到。

DS(數據段)暫存器通常包含與CS(代碼段)暫存器相同的值,並且在初始化EXE檔案時不載入數據段的實際段地址;程式設計師必須自己設定,通常通過以下指令完成:MOV AX,@ DATA MOV DS,AX。在最初的DOS 1.x API中,還必須讓DS暫存器指向程式終止時PSP的段;這是通過以下說明完成的:PUSH DS XOR AX,AX PUSH AX。然後程式終止將由RETF指令執行,該指令將從堆疊中使用PSP檢索原始段地址,然後跳轉到包含INT 20h指令的地址0。

DOS 2.x API引入了一個新的程式終止函式INT 21h Function 4Ch,它不需要在程式開始時保存PSP段地址,並且Microsoft建議不要使用舊的DOS 1.x方法。

兼容性

MZ DOS執行檔可在DOS和基於Windows 9x的作業系統中運行。基於Windows NT的32位系統也可以使用內置的DOS虛擬機運行(儘管一些圖形模式是不支持的)。64位版本的Windows無法執行它們。替代方法是運行這些模擬器程式 ,例如DOSBox、DOSEMU和Wine。

MZ DOS執行檔可由連結器生成,如Digital Mars Optlink、微軟連結器、VALX或Open Watcom的WLINK。另外FASM可以直接創建它們。

相關詞條

相關搜尋

熱門詞條

聯絡我們