Piszę program "Witaj świecie" za pomocą asemblera. Mam ogłoszony 2 stałe ciągów znaków z nowej linii charakteru \n
na końcu każdego łańcucha:Nowa linia characted w stałej łańcuchowej nie jest rozpoznawana przez 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
Po I zbudował i wykonywany ten kod i mam następujący wynik:
$ nasm -f elf64 -o first.o first.asm
$ ld -o first first.o
$ ./first
abcd\nefgh\n$
Dlaczego znak nowej linii \n
jest wydrukowany?