2012-09-04 75 views
0

在我的课堂笔记,我已经得到了这个信息:翻译C到装配

C:

thisthread.id = 4711; 

汇编:

.text 
.align 2 
movia r8,thisthread 
movi r9,4711 
stw r9,4(r8) # id after sp that takes 4 bytes 

但不属坐4位而不是?我认为偏移量是以位而不是以字节为单位指定的。我错了吗?

+5

那么,操纵位的唯一方法就是使用位操作符。通常情况下,内存不能按位进行处理。 –

+0

如果SP是堆栈指针,那么它的大小是4位,将可用堆栈限制为16个字节,这是没有用的(因为这是局部变量的空间)。 – dbrank0

回答

7

你错了。偏移量的确是以字节为单位的。