現在、アセンブリ言語の割り当てをコーディングしています。元々は MARS コンパイラで疑似を有効にしてコーディングし、疑似コマンドを 1 つずつ変換しました。現在、「Invalid Language Element: [str1]」というエラー メッセージが表示されて困っています。これは私のコードのほんの一部です。
1|.data
2|val1: .word 1 #0x10010000
3|val2: .word 2 #0x10010004
4|val3: .word 3 #0x10010008
5|name: .asciiz "Jacob McDonald" #0x1001000C length 15
6|str1: .asciiz "Enter a number: " #0x1001001B length 17
7|newln: .asciiz "\n" #0x1001002C
8|.globl main
9|.text
10|main:
11|addi $16, $0, 23 #Load 23 into $s0
12|addi $2, $0, 4 #Set syscall command 4, print string
13|lui $1, 4097 [str1] #Load string to be printed to queue
14|ori $4, $1, 27 [str1]
15|syscall #syscall print string str1
qtSpim を介して実行するとコードが正常に実行されるため、何を修正する必要があるかわかりませんが、実行されず、「無効な言語要素: [str1]」というエラー メッセージが表示されます。
13行目と14行目の書き方でエラーが発生するのでしょうか? .asciiz 名ではなく、実際の 16 進アドレスを指定する必要がありますか?