Запись в ячейку памяти в сборке x86-64 AT & T - PullRequest
0 голосов
/ 10 октября 2018

Я пытаюсь переместить данные из ячейки памяти в другую ячейку памяти, а затем распечатать результат.Но все, что я получаю, это какое-то мусорное значение, и я не могу понять, почему.Соответствующий код ниже:

.bss 
code: .skip 1000000

.data 
smth: .asciz "somerandomtext"
format_str: .asciz "Contents of code:\n%s"

.text
main:
pushq %rbp
movq %rsp, %rbp

movq $smth , %rdi    # move address of smth in rdi
movq $code , %rax    # move address of code in rax
movq %rdi , (%rax)   # move contents of rdi to address stored in rax ??

movq $0 , %rax
movq $code , %rsi
movq $format_str , %rdi
call printf

movq %rbp, %rsp
popq %rbp

Я знаю, что мой выбор регистров не идеален, я столкнулся с этой проблемой, работая над чем-то другим.

...