0
MIPSアセンブリの文字列内の2つの文字を置き換える方法がわかっていました。たとえば、MIPSの文字列を置換する
.data
str: "MIPS is love"
replacement: "\n"
stringtoreplace: " "
私はこれでどこから始めるべきかわかりません。
MIPSアセンブリの文字列内の2つの文字を置き換える方法がわかっていました。たとえば、MIPSの文字列を置換する
.data
str: "MIPS is love"
replacement: "\n"
stringtoreplace: " "
私はこれでどこから始めるべきかわかりません。
strが$ s0にあるとします。 $ s1はCのようにあなたのiのような反復子にしましょう。$ s1は$ s0に格納されたベースアドレスへのオフセットになります。したがって、検索して置換するには、$ s1をインクリメントして文字列を繰り返し処理します。 置き換える文字列を$ s2に置き換え、$ s3に置き換えます。
add $s1,$s1,$zero #initializing $s1 to 0
loop:
add $t0,$s0,$s1
lb $t1,0($t0)
bne $t1,$s2,skip_replace
sb $s3,0($t0)
skip_replace:
addi $s1,$s1,1
bne $t1,$zero,loop
あなたはロジックが何であるかを考え、次にASM –
にどのようにMIPSの文字列を反復処理するかということを書面で始めますか? –
所定の条件が満たされるまでレジスタをインクリメントするループを作成します。 – Michael