Доступ к одному символу в строке

Я использую что-то вроде SPIMS или MARS с функциями syscall.

Я читаю строку (и это работает, потому что я могу ее распечатать) следующим образом:

li $v0, 8
la $a0, string
li $a1, 256
syscall

Однако у меня возникает проблема с доступом к одному символу строки. Поэтому, если я хочу получить доступ к первому символу и распечатать его, я пытаюсь сделать следующее:

la $t0, string
lb $a0, ($t0)
li $v0, 4
sys call

Если я попробую что-то вроде этого:

la $a0, string
li $v0, 4
syscall

Это распечатает всю строку, поскольку строка указывает на всю строку.

Если я попробую что-то вроде:

la $a0, string
lb $a0, ($t0)
li $v0, 4
syscall

Это даст мне ошибку out of bound. Я не понимаю, почему - разве символ не байт в длину, и это просто загружает первый байт из строки в $a0?

Спасибо

7
задан quetzalcoatl 4 March 2013 в 22:00
поделиться