www.pudn.com > ngcd080s.zip > EXTRACT8.ASM
%include ".\src\helper.asm" BITS32 GLOBAL _extract8 GLOBAL _motorola_peek GLOBAL _motorola_poke SECTION .text AlignFunc _extract8: BEGIN PUSHL ebx PUSHL ecx PUSHL edi PUSHL esi mov esi, [esp + ARGS] mov edi, [esp + ARGS + 4] mov bh, byte [esi] mov bl, byte [esi+1] mov ch, byte [esi+2] mov cl, byte [esi+3] %rep 4 xor eax, eax shr ch, 1 rcl al, 1 shr cl, 1 rcl al, 1 shr bh, 1 rcl al, 1 shr bl, 1 rcl al, 1 shr ch, 1 rcl ah, 1 shr cl, 1 rcl ah, 1 shr bh, 1 rcl ah, 1 shr bl, 1 rcl ah, 1 shl ah, 4 or al, ah mov [edi], al inc edi %endrep pop esi pop edi pop ecx pop ebx ret AlignFunc _motorola_peek: BEGIN mov eax, [esp + ARGS] mov eax, [eax] bswap eax ret AlignFunc _motorola_poke: BEGIN PUSHL ecx PUSHL edx mov edx, [esp + ARGS] mov ecx, [esp + ARGS + 4] bswap ecx mov [edx], ecx pop edx pop ecx ret AlignFunc