我们先从一个32位代码如:“AA BB CC DD”(小端)写这项工作在不到4线装配AT&T
我们要“AA DD CC BB”作为最终结果(大端)。 我已经设法将它写入8行,其中%ebx作为条目,%ecx作为出口。老师提到可以用不到4行的方式写这个,3是记录。我很好奇看看它如何缩短。
mov %R1, %ebx
mov %bx, %cx
shl $16, %ecx
mov %cl, %dl
mov %bl, %cl
mov %bh, %dh
shr %16, %edx
and %edx, %ecx
是的,这是可能的三条指令来做到这一点。但我不要虐待。我既不想让你的同学失望,也不希望你过早放弃学习大会。 **大会很有趣'**。研究'x86'汇编的指令,你可能会找到一个更好的解决方案。在这里你会找到一个好的[起点](http://www.felixcloutier.com/x86)。 – zx485
也许我误解了这个问题,但我不明白AA DD CC BB是AA BB CC DD的大端形式。 –
@迈克尔佩奇:你没有看到它,因为它不在那里。它是大端转换为小端的**'ROR'ed'的一个字节**。 – zx485