汇编代码存储字节/加载字节

时间:2011-03-10 00:15:39

标签: assembly byte mips

我的任务是编写一个汇编代码,它将$ s1的最左边字节存储在$ t1指向的位置。这就是我所拥有的:

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

这显然是错误的。有人可以帮助我吗?

1 个答案:

答案 0 :(得分:4)

您正在使用内存地址 $ s1的字节加载$ s4,而不是来自$ 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)