инструкция.
исал следующую простую программу, но nasm отказывается ее компилировать.
section .text
global _start
_start:
mov rax, 0x01
mov rdi, 0x01
mov rsi, str
mov rdx, 0x03
syscall
mov rax, 60
syscall
segment .data
str db 'Some string'
nasm -f elf64 main.asm
main.asm:15: error: comma, colon, decorator or end of line expected after operand
Как я читаю в этомответ это потому чтоstr
это мнемоническая инструкция. Поэтому я добавил двоеточиеstr
и теперь он компилируется нормально. Но как насчет линии
mov rsi, str
str
это мнемоника инструкции здесь, но она все равно хорошо компилируется. Почему?