2011-03-10 5 views
0

Ma tâche consiste à écrire un code d'assemblage qui stockera l'octet le plus à gauche de $ s1 à l'emplacement indiqué par $ t1. Voici ce que j'ai:Octet de stockage de code d'assemblage/octet de chargement

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

Ceci est apparemment faux. Est-ce que quelqu'un peut m'aider?

+0

Il y a beaucoup de langues d'assemblage ... soin de révéler laquelle? – Hogan

Répondre

4

Vous êtes en train de charger $ s4 avec l'octet à adresse mémoire $ s1, pas à partir de $ s1. La solution dépend de votre architecture, mais pour obtenir le plus à gauche (le plus important) octet du registre $ s1 vous pouvez faire quelque chose comme ça (en supposant 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) 
Questions connexes