私は自分のプログラムを書くのに行き詰まっています。
- コンソール内にウェルカム メッセージを表示する
- ユーザーが 0 から 9 までの数字を入力するのを待ちます]
- その数を 0 と比較します
- 存在する場合はメッセージを表示し、そうでない場合は終了します
これが私が現在持っているものです:
.386
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\kernel32.lib
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib
include \masm32\include\masm32.inc
includelib \masm32\lib\masm32.lib
.data
capt db "SCHiM says: ",0
txt db "Enter a number 0-9:",0
.data?
data db ?
.code
start:
call AllocConsole
push offset txt
call StdOut
push 1
push offset data
call StdIn
mov al, data
cmp al, 0h
jz eqzero
invoke ExitProcess, NULL
eqzero:
push offset capt
call StdOut
push offset data
call StdOut
endloop:
jmp endloop
invoke ExitProcess, NULL
end start
プログラムは、警告やエラーなしで完全にアセンブルおよびリンクしますが、cmp は常に 1 を返します。データの値を (StdOut を使用して) 出力すると、入力した正確な値が表示されます。
前もって感謝します