问题是当我构建一个 32 位 application.exe 时,我得到一个带有 16 位机器代码的应用程序。
这是代码(取自一本书):
.386
.model flat
.const
URL db "http://www.lionking.org/`cubbi/", 0
.code
_start:
xor ebx, ebx
push ebx
push ebx
push ebx
push offset URL
push ebx
push ebx
; call ShellExecute
push ebx
; call ExitProcess
end _start
要构建我在控制台中编写的应用程序
- ml winurl.asm(我试过 ml /c winurl.asm 但没有其他结果)
- 链接 winurl.obj
然后我有一个 16 位机器码的可执行文件:
PU = ?86, Uirtual 8086 Mode, Id/Step = 0F62, A20 enabled
09E4:0000 33DB XOR BX,BX
09E4:0002 53 PUSH BX
09E4:0003 53 PUSH BX
09E4:0004 53 PUSH BX
09E4:0005 680000 PUSH 0000h
09E4:0008 0000 ADD [BX+SI],AL
09E4:000A 53 PUSH BX
09E4:000B 53 PUSH BX
09E4:000C 53 PUSH BX
09E4:000D 0000 ADD [BX+SI],AL
09E4:000F 006874 ADD [BX+SI+74h],CH
09E4:0012 7470 JZ Short 0084
我不需要正常工作的代码。我只想用 32 位代码组装一个应用程序,或者我想了解我做错了什么。
感谢您的关注。