.extern против .data в MIPS - PullRequest
       20

.extern против .data в MIPS

0 голосов
/ 23 октября 2018

При программировании сборки MIPS (в частности, в контексте классной комнаты с использованием MARS), когда следует использовать директиву .extern вместо простого размещения метки в секции .data?

1 Ответ

0 голосов
/ 17 марта 2019

В MARS вы можете скомпилировать несколько файлов.Если вы хотите получить доступ к метке (глобальной переменной) из другого файла, вам нужно поместить ее в глобальный сегмент данных (используя .extern).

Например:

File1.asm

.data
.extern local 4
.text
    li $t0, 0x00000041
    la $t1, local
    sw $t0, 0($t1)

File2.asm

.data
.text
    li $v0, 4
    la $a0, local
    syscall

С помощью .extern вы можете читать local из File2.asm

Для получения дополнительной информации читайте: http://danzig.jct.ac.il/mips/architecture.html

...