2013-02-27 85 views
0

我想獲取在.data中聲明的全局值的地址。 la指令不被識別?否則怎麼執行
Mips程序集,.data節

.data 
word1: .word 0 
word2: .word 0 
.text 
    .globl __start 
    __start: 
    la $v0,word1 --> here I receive a syntax error. 

我要存儲字1字節,並在單詞2

另一個字節我不能獲取地址

+0

什麼彙編程序正在使用?在MARS上組裝時可以正常工作 – gusbro 2013-02-27 14:00:24

+0

您應該可以使用'li'。或者是'lui'和'ori'的組合。 – Michael 2013-02-27 16:11:30

+0

請給出您正在使用的工具鏈/平臺以及錯誤消息。你的代碼看起來不錯,但是從設置到設置語法略有不同。 (例如,將寄存器稱爲$ v0 vs v0)。 – 2013-02-28 22:17:53

回答

1

la是不是一個真正的MIPS指令,它是一個方便的彙編宏。它通常分爲luioriaddi。在鏈接比靜態鏈接時已知的平面佈局更復雜的系統上,彙編器可能無法實現它。要訪問數據段,您可能需要取消引用全局指針(GP)或進行間接加載。