таблица символов и таблица перемещения в объектном файле
Насколько я понимаю, инструкции и данные в объектном файле имеют адреса. Первый элемент данных начинается с адреса 0, а первая инструкция также начинается с адреса 0.
Таблица перемещения содержит информацию об инструкциях, которые необходимо обновить, если адреса в файле меняются, например, если файл связан вместе с другим. Строка A в приведенном ниже примере будет находиться в таблице перемещений. Я неЯ думаю, что B будет в таблице перемещения, так как адрес метки "равным» относительно B. Являются ли эти правильные предположения?
Я знаю, что таблица символов показывает метки, которые есть у файла, а также метки, которые не имеютне было решено. Но какую еще информацию содержит таблица символов?
Кроме того, когда ассемблер переводит инструкции в двоичный файл, что помещается в эти инструкции, которые имеют неразрешенные ссылки? В этом примере.
.data
TEXT: .asciiz "Foo"
.text
.global main
main:
li t0, 1
beq t0, 1, equal #B
equal:
la a0, TEXT
jal printf #A