ASM Segfault при доступе к данным bss с некоторыми регистрами (кроме rbx) - PullRequest
1 голос
/ 11 марта 2020
;Just a lab a lab to test some instructions.

            section .bss
arraySize   equ     50
array       resb    arraySize

            global  _start

            section .text
_start:     mov     rax, array
            mov     byte [rbx], 10

            mov     rax, 1
            mov     rdi, 1
            mov     rsi, array
            mov     rdx, arraySize
            syscall

            mov     rax, 60
            xor     rdi, rdi
            syscall

Так что я пишу этот код, чтобы проверить какой-то странный segfault. Проблема остается в этой инструкции

_start:     mov     rax, array

Когда я пытаюсь получить доступ к адресу bss-данных "массива" с помощью регистра, отличного от bx, похоже, что он вызывает ошибку, я не знаю почему, и я сделал мое исследование. Если у вас есть какие-либо подсказки, я буду рад их прочитать:)!

...