Моя цель — перевести приведенный ниже код 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