MIPS编程地址存储和加载

时间:2015-03-07 00:04:11

标签: mips

我无法理解如何在MIPS中加载和存储特定地址。我需要获取一个项目的地址并将其存储在另一个项目的单词中。如何将项目的地址作为单词加载,以便将其存储为单词?我将如何加载这个单词并将其转换为地址?这可能吗?我需要能够链接项目,如双项链接列表,其中每个项目指向下一个项目。

1 个答案:

答案 0 :(得分:0)

当然,使用la获取标签的地址,并使用lw / sw从/向某处加载/存储该地址。

一个例子:

.data
list: .space 8*4

item1: .word 123

.text
.globl main
main:

la $a1,list     # a1 = address of list

la $t0,item1    # t0 = address of item1
sw $t0,($a1)    # store item1's address in the first word of list

# ...

lw $t0,($a1)    # t0 = address of item1
lw $a0,($t0)    # a0 = item1
li $v0,1        # syscall 1 (print_int)
syscall

li $v0, 10      # syscall 10 (exit)
syscall