Пример: из 0xAABBCCDD получить 0x00DDCCBB
Решил задачу так:
MOV EAX, [EAX]; //инициализация
MOV ECX, EAX;
SHR ECX, 16
MOV DH, $00;
MOV DL, AL;
SHL EDX, 16;
MOV DH, AH;
MOV DL, CL;
MOV EAX, EDX;
Можно ли улучшить этот код?
ОС: win32
Ответ
MOV EAX, [EAX] ; EAX=0xAABBCCDD XOR EBX, EBX ; BL=0x00 XCHG AH, BL ; EAX=0xAABB00DD BL=0xCC ROR EAX, 16 ; EAX=0x00DDAABB MOV AH, BL ; EAX=0x00DDCCBB
Комментариев нет:
Отправить комментарий