Я пишу программу «Hello world», используя Assembler. Я объявил 2 строковых константы с символом новой строки \n
в конце каждой строки:Новая строка, записанная в константе строки, не распознается nasm
section .data
str1: db "abcd\n"
str2: db "efgh\n"
section .text
global _start
_start:
mov rax, 1
mov rdi, 1
mov rsi, str1
mov rdx, 6
syscall
mov rax, 1
mov rdi, 1
mov rsi, str2
mov rdx, 6
syscall
mov rax, 60
mov rdi, 0
syscall
После того как я построил и казнил этот код, и я получил следующий результат:
$ nasm -f elf64 -o first.o first.asm
$ ld -o first first.o
$ ./first
abcd\nefgh\n$
Почему напечатан новый символ линии \n
?