我的任务是编写一个汇编代码,它将$ s1的最左边字节存储在$ t1指向的位置。这就是我所拥有的:
lb $s4, 0($s1)
sb $s4, $t1
这显然是错误的。有人可以帮助我吗?
答案 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)