1

x86アセンブリでnasmを使用してコードを書いています。私はこれを行うことができるようにしたいと思います(EAXは回転数、または[EBP + 12]の下です):

ror ESI, EAX ;count- register
ror ESI, DWORD [EBP + 12] ;count- memory

しかし、それは不可能です。r のような即時定数のみを受け入れます

ror ESI, 4  ; four right rotations

私はループをするのが好きではありません:

loop:  
ror ESI, 1
sub EAX, 1
cmp EAX, 0
jg loop

おそらく、この問題のより良い解決策があります。

4

1 に答える 1

3

ROR は CL レジスタでのみ機能することがわかりました。たとえば、次のようになります。

ror ESI, CL
于 2012-12-25T21:50:49.987 に答える