[問題] 請問 .EXE 檔的檔案格式

看板ASM (組合語言)作者 (老哥交車了 Q_Q:)時間17年前 (2007/08/14 11:48), 編輯推噓0(007)
留言7則, 2人參與, 最新討論串1/1
以下程式我用 nasm 1.asm -o 1.exe org 0h entry: jmp START ; START: mov ah,02h mov dl,01h int 21h mov ah,4ch int 21h 檢視 1.exe 的 16進位格式 得到 e9 00 00 b4 02 b2 01 cd 21 b4 4c cd 21 我找了相關的 exe檔相關格式來看 http://www.itee.uq.edu.au/~cristina/students/david/honoursThesis96/bff.htm 都說第1個byte, 跟第2byte 應該是 0x4d, 0x5a (MZ格式) 那為何 nasm compiler 出來的跟 exe 格式不同呢 有沒有人有研究這個部分,可以說一下看法 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.120.70.34

08/14 13:45, , 1F
nasm 只可以產生 binary 如果你要生 .exe 可以抓 alink 在去
08/14 13:45, 1F

08/14 13:46, , 2F
link , 不然就是你要自己加 EXE Header 進去 .
08/14 13:46, 2F

08/14 15:10, , 3F
那請問為什麼這樣的檔案可以直接執行呢?
08/14 15:10, 3F

08/15 00:32, , 4F
DOS 下可以執行的檔案有三種 *.COM-> *.EXE-> *.BAT
08/15 00:32, 4F

08/15 10:31, , 5F
謝謝z大, 我知道檔名的關係,只是好奇說非正式的exe檔
08/15 10:31, 5F

08/15 10:32, , 6F
格式也能照常執行,那exe的 header主要提供誰做辨識
08/15 10:32, 6F

08/15 15:29, , 7F
OS 執行檔的 Loader .
08/15 15:29, 7F
文章代碼(AID): #16mINwPU (ASM)
文章代碼(AID): #16mINwPU (ASM)