MASM говорит "отсутствует оператор в выражении", но я не вижу проблем со сборкой.
Я пытаюсь вручную вызывать системные вызовы windows в x86 asm, я взял смещение системного вызова из fs дляNtFlushInstructionCache из https://j00ru.vexillium.org/syscalls/nt/64/
Объявление C: extern "C" NTSTATUS NewNtFlushInstructionCache(HANDLE ProcessHandle, PVOID BaseAddress, ULONG NumberOfBytesToFlush);
Вот мой asm:
.model flat
.486
.code
NewNtFlushInstructionCache PROC
mov eax, 39h
xor ecx, ecx
lea edx, [esp + 4]
call large DWORD PTR fs:[0C0h]
add esp, 4
ret 14h
NewNtFlushInstructionCache ENDP
END
Ошибка «отсутствует оператор в выражении» в этой строке: call large DWORD PTR fs:[0C0h]
Любая помощь?Можно ли получить доступ к fs напрямую из сборки?