私の目標は、以下のCコードをMIPSアセンブリに変換することです。コードの重要な部分が欠落しているように感じます。誰かが私が間違っていることと、問題を解決するために私がしなければならないことを説明できますか?
Cコードは次のとおりです。
char str[] = "hello, class";
int len = 0;
char *ptr = str;
while (*ptr && *ptr != ’s’)
++ptr;
len = ptr - str;
これまでの私のコードは次のとおりです。
.data
myStr: .asciiz "hello, class"
s: .asciiz "s"
main:
la $t0, myStr
la $t1, s
lbu $t1, 0($t1)
loop:
beq $t0, $t1, continue
addi $t0, $t0, 1
j loop
continue:
sub $v0, $t0, $t1