我們先從一個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