数値が正か負かゼロかをチェックするプログラムを作成しました。コードをコンパイルしようとすると、cmp オペコードである 28 行目で不適切なオペランド タイプ エラーが発生します。フォーマットが間違っていますか、それとも他の問題がありますか?
#include <stdio.h>
int input;
int output;
int main (void)
{
scanf("%d", &input);
__asm
{
jmp start
negative:
mov ebx, -1
ret
nuetral:
mov ebx, 0
ret
positive:
mov ebx, 1
ret
start:
mov eax, input
mov ebx, other
cmp 0, eax
jl negative
je neutral
jg positive
mov output, ebx
}
printf("%d\n", output);
}