Win32 APIを使用して、アセンブリで簡単なコマンドラインプログラムを作成しようとしました。私は次のように書き、エラーや警告なしでコンパイルしてリンクし、コマンドラインから起動しましたが、コマンドプロンプトに何も表示されませんでした。誰もが何が悪いのか、何が「HelloWorld!」と言うのかを知ることができますか?コマンドラインで?プログラム:
; Block 1
.386
.model flat,stdcall
option casemap:none
; Block 2
include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
; Block 3
.data
szMsg db "Hello World!",0
nNumToWrite dd 12
; Block 4
.data?
numwritten dd ?
CommandLine LPSTR ?
; Block 5
.code
start:
invoke GetCommandLine
mov CommandLine,eax
invoke WriteConsole,CommandLine,addr szMsg,nNumToWrite,numwritten,NULL
xor eax,eax
invoke ExitProcess,eax
end start