簡體   English   中英

將 C++ 轉換為 MIPS 程序集

[英]Translating c++ to MIPS assembly

我正在嘗試將以下 C++ 代碼行轉換為 MIPS 程序集:

cout << a2[i]

這是我嘗試過的代碼,但得到的結果不正確。

*變量 i 保存在 $t5 中。

li $v0, 1
la $a0, a2
sll $t5, $t5, 2
add $a0, $a0, $t5
srl $t5, $t5, 2
lw $a0, 0($a0)
syscall

說到 MIPS,我有點生疏。 不過,我確實記得一些事情。

您通常不應該使用 $a 寄存器,除非您將參數傳遞給函數(就像使用 syscall 一樣)。

因此,在這兩種情況下,我會改用臨時寄存器:

la $a0, a2
add $a0, $a0, $t5

變成

la $t0, a2
add $t1, $t0, $t5

進而:

lw $a0, 0($t1)
syscall

你也可以省略這個:

srl $t5, $t5, 2

除此之外,我會問你收到什么樣的錯誤輸出?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM