octa reserves quadword values (the mnemonic is a holdover from 16-bit days).
octa 保留四字值(此缩写形式延用了 16 位时的用法)。
Therefore, for arbitrary addresses, we have no idea where in the loaded quadword the value we wanted is.
因而,对于任意的地址,我们无从知道在加载的四字中我们想要的那个值位于何处。
These all need to be quadword aligned, so that you can copy it into your main program and use the values with DMA transfers.
而且它们都是按四字节对齐的以便能够将其复制进您的主程序并在DMA 传输时使用值。
The rotqby instruction, "rotate (left) quadword by bytes," USES the address you loaded from to indicate how far to rotate the register.
rotqby指令(代表的是“rotate (left)quadwordbybytes”)使用加载自的地址以指示寄存器的旋转程度。
Note that all of the declared variables which will be copied using DMA are aligned on quadword boundaries and are multiples of quadwords.
注意所有声明的变量(使用DMA复制的)都是按四字边界对齐的且都是四字的整数倍。
It also provides for byte, halfword, word, and quadword operand fetches and stores between storage and a set of 32 Vector Registers (VRs).
它还规定在存储设备与一组32位矢量寄存器(Vector Register,VR)之间存取和储存的字节、半字、字和四字操作数。
Spu_rlmaskqw operates on the whole quadword at a time, but only up to 7 bits (it performs a modulus on count to put it in the proper range).
spu_rlmaskqw会对整个4字同时进行操作,不过最多只能移动7位(它会对count取模,从而将其放入正确的范围内)。
Vector instructions operate on vectors of scalar quantities and on scalar quantities, where the scalar size is byte, halfword, word, and quadword.
矢量指令作用于标量的矢量及标量,其中标量范围为字节、半字、字和四字。
To get that word, you would need to load a quadword from memory location 0, and then shift the bits so that the value you want is in the preferred slot.
要获得此字,应该先要从内存位置0加载一个四字,然后再移位以使所想要的值存在于首选槽内。
Since all registers on the SPU are 16-bytes long, this will load a full 16-byte quadword into the register, even though you are only really concerned with the first 4 bytes of it.
因为所有SPU上的寄存器都是 16字节长,因而这会将整个 16 字节的四字加载进寄存器,而我们所关心的只是它的前4 个字节。
Remember, the LQD instruction only loads from 16-byte boundaries. It will therefore ignore the four least significant bits during the load, and just load an aligned quadword from memory.
记住,lqd指令只能从16字节边界加载,所以它会在加载期间忽略最低有效的四位,而只会从内存加载已对齐的四字。
Therefore, if you want to store only one byte, if you tried to do it directly on an unaligned address, it would both go into the wrong location and clobber the remaining bytes in the quadword.
因此,如果希望只存储一个字节,且试图在未对齐的地址直接存储,那么它就会进入到不正确的位置并会截断四字内剩余的字节。
Therefore, if you want to store only one byte, if you tried to do it directly on an unaligned address, it would both go into the wrong location and clobber the remaining bytes in the quadword.
因此,如果希望只存储一个字节,且试图在未对齐的地址直接存储,那么它就会进入到不正确的位置并会截断四字内剩余的字节。
应用推荐