Я получил ошибку при попытке компилировать этот ASM
Write an assembly program to implement the following.
while X > 0
if X != 3 AND (X > A OR X <B)
X = X –2
else
X = X –1
end while
Использовать оценку короткого замыкания. Предположим, что A, B и X являются 16-разрядными целочисленными переменными со знаком. Предположим, что A = 9, B = 8 и X = 11
Я получил .code область, но мне не хватает .data?
.386
.model flat,stdcall
.stack 4096
ExitProcess proto,dwExitCode:dword
.data
; declare variables here
X WORD ?
.code
main proc
; write your code here
mov eax, X
beginwhile:
cmp eax, 0
jng endwhile
mov ebx,A
mov ecx,B
cmp X,3
jne L1
jmp L3
jmp endwhile
L1:
cmp X, ebx
jl L2
cmp X,ecx
jg L2
jmp L3
jmp endwhile
L2:
mov X, X-2
jmp endwhile
L3:
mov X, X-1
jmp endwhile
endwhile:
mov X, eax
invoke ExitProcess,0
main endp
end main