Сборка кода, байт / байт загрузки - PullRequest
0 голосов
/ 10 марта 2011

Моя задача - написать ассемблерный код, который будет хранить самый левый байт $ s1 в месте, указанном $ t1.Вот что у меня есть:

lb $s4, 0($s1)
sb $s4, $t1

Это явно неправильно.Может ли кто-нибудь помочь мне?

1 Ответ

4 голосов
/ 10 марта 2011

Вы загружаете $ s4 с байтом в адрес памяти $ s1, а не из $ s1.Решение зависит от вашей архитектуры, но для получения самого левого (самого значимого) байта из регистра $ s1 вы можете сделать что-то вроде этого (при условии MIPS):

srl $s4, $s1, 24 ;shift the value in $s1 24 steps to the right and store in $s4
sb $s4, 0($t1)   ;store the byte at ($t1)
...