Я получаю сообщение об ошибке макроса в NASM: «ошибка: синтаксический анализатор: ожидается инструкция» - PullRequest
0 голосов
/ 27 апреля 2018

Я получаю ту же ошибку: error: parser: instruction expected
Я получаю эту ошибку со следующей строкой:

WSTRING 'MESSAGE'

Мой код:

Bits 16  
call clear_screen  
WSTRING 'MESSAGE'  
jmp $   

%MACRO WSTRING 1  
     mov si, %1  
     call print  
%ENDMACRO   

Я пробовал это и тоже не работает:

Bits 16
MSG DB 'MESSAGE',0
call clear_screen
WSTRING MSG
jmp $

%MACRO WSTRING 1
    mov si, %1
    call print
%ENDMACRO

1 Ответ

0 голосов
/ 27 апреля 2018

Вы не можете использовать литеральную строку в качестве операнда инструкции. Вы можете использовать только адрес строки. Это означает, что вам нужно указать ассемблеру поместить эту строку куда-нибудь, а затем использовать ее символический адрес.

...