【发布时间】:2015-11-02 03:07:29
【问题描述】:
我们的任务是编写与我们提供的点阵打印机模拟器配合使用的代码。我相当确定大部分内容的实施与这个问题无关。主要是该工具接受32位数据(相当于一个字),每个字母的表示大小为1字节(8位)。将数组中的连续字节连接在一起不起作用,因为它没有在字边界上对齐,并且向它抛出连续字节也不起作用。有没有更好的方法?
【问题讨论】:
我们的任务是编写与我们提供的点阵打印机模拟器配合使用的代码。我相当确定大部分内容的实施与这个问题无关。主要是该工具接受32位数据(相当于一个字),每个字母的表示大小为1字节(8位)。将数组中的连续字节连接在一起不起作用,因为它没有在字边界上对齐,并且向它抛出连续字节也不起作用。有没有更好的方法?
【问题讨论】:
您始终可以在机器字边界上对齐变量:
.align 2
var:
.word 0 # 4 bytes word-aligned
.align 2
array:
.space 32 # 32 bytes word-aligned
【讨论】:
.word 前面的 .align 是多余的,.word 将始终是字对齐的。
.word somevalue 之前插入了align 2。