私は単にコンソールからの入力から文字列を読み込もうとしています。私はxspimを実行してシミュレーションを実行していますが、これは裸のモードで実行する必要があります。擬似命令を使用できないことを意味し、オンラインで見つかった多くのことが擬似命令でを実行する方法です。私が読んでいるすべてのドキュメントでは、 "la"命令を使用して$ a0に文字列を格納するように指示していますが、その命令は利用できません。私はその命令が何を翻訳するかについて読んで、効果的に "lui"に続いて "ori"に変わった。私を投げ捨てる部分は、最初のデータ位置(常に0x 1000 0000)と文字列の最初のバイトのアドレスの間のバイト数を入力することになっています。私の文字列の最初のバイトが何であるか分かりません。 RISCマシン用ベアモード(ラ・擬似命令なし)で動作するMIPSの静的データのアドレスを取得する方法
.globl main
.globl done
.globl convert
.data
prompt: .asciiz "Enter a decimal number, to quit type 'quit':" #45
result: .asciiz "The number you entered is " #72
input: .space 64
.text
convert:
main: addi $v0, $0, 4 #Print prompt to enter number
lui $a0, 0x1000 #Address of prompt
syscall #Display prompt
addi $v0, $0, 8 #Setting up syscall to read in string
lui $at, 4097
ori $a0, $at, input #Where I want my string to be stored
addi $a1, $0, 64 #How long my string will be
syscall #Syscall to read in string
スタック上のバッファ(入力バッファ用)を使用して回避することができます。 –