Где sbrk должен выделить место в этом упражнении на ассемблере MIPS? - PullRequest
0 голосов
/ 02 июня 2018

В упражнении предлагается записать каждый байт в шестнадцатеричной (включая адреса) памяти, измененной после выполнения этого кода:

        .data 0xFEC
        .half -127, 0x127
arr:    .word -40
        .space 5
        .align 3
str:    .asciiz "ABBA"

        .text
        ...

, но проблема заключается в том, что указание адреса после .data(0xFEC), дает мне ошибку на Марсе (симулятор MIPS).Я думаю, это потому, что это не тот адрес, который обычно используется для данных, поправьте меня, если я ошибаюсь.Кстати, я выполнил эту часть, начиная с этого момента и проводя тестирование на Марсе без указания адреса.После этого мне нужно записать значение str, которое должно быть его начальным адресом (снова поправьте меня, если я ошибаюсь), и значение , возвращаемое при первом использовании системного вызова sbrk .Я попытался добавить этот код:

        .text
        .globl main
main:   li $v0, 9
        li $a0, 4
        syscall

без 0xFEC (невозможно выполнить с ним), но независимо от того, что я делаю, значение всегда будет 0x10040000.Как мне это сделать?

...