⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 x64dll.asm

📁 lots Elliptic curve cryptography codes. Use Visual c++ to compile
💻 ASM
📖 第 1 页 / 共 3 页
字号:
include ksamd64.incEXTERNDEF ?Te@rdtable@CryptoPP@@3PA_KA:FAREXTERNDEF ?g_cacheLineSize@CryptoPP@@3IA:FAREXTERNDEF ?SHA256_K@CryptoPP@@3QBIB:FAR.CODE    ALIGN   8Baseline_Add	PROC	lea		rdx, [rdx+8*rcx]	lea		r8, [r8+8*rcx]	lea		r9, [r9+8*rcx]	neg		rcx					; rcx is negative index	jz		$1@Baseline_Add	mov		rax,[r8+8*rcx]	add		rax,[r9+8*rcx]	mov		[rdx+8*rcx],rax$0@Baseline_Add:	mov		rax,[r8+8*rcx+8]	adc		rax,[r9+8*rcx+8]	mov		[rdx+8*rcx+8],rax	lea		rcx,[rcx+2]			; advance index, avoid inc which causes slowdown on Intel Core 2	jrcxz	$1@Baseline_Add		; loop until rcx overflows and becomes zero	mov		rax,[r8+8*rcx]	adc		rax,[r9+8*rcx]	mov		[rdx+8*rcx],rax	jmp		$0@Baseline_Add$1@Baseline_Add:	mov		rax, 0	adc		rax, rax			; store carry into rax (return result register)	retBaseline_Add ENDP    ALIGN   8Baseline_Sub	PROC	lea		rdx, [rdx+8*rcx]	lea		r8, [r8+8*rcx]	lea		r9, [r9+8*rcx]	neg		rcx					; rcx is negative index	jz		$1@Baseline_Sub	mov		rax,[r8+8*rcx]	sub		rax,[r9+8*rcx]	mov		[rdx+8*rcx],rax$0@Baseline_Sub:	mov		rax,[r8+8*rcx+8]	sbb		rax,[r9+8*rcx+8]	mov		[rdx+8*rcx+8],rax	lea		rcx,[rcx+2]			; advance index, avoid inc which causes slowdown on Intel Core 2	jrcxz	$1@Baseline_Sub		; loop until rcx overflows and becomes zero	mov		rax,[r8+8*rcx]	sbb		rax,[r9+8*rcx]	mov		[rdx+8*rcx],rax	jmp		$0@Baseline_Sub$1@Baseline_Sub:	mov		rax, 0	adc		rax, rax			; store carry into rax (return result register)	retBaseline_Sub ENDPALIGN   8Rijndael_Enc_AdvancedProcessBlocks	PROC FRAMErex_push_reg rsipush_reg rdipush_reg rbxpush_reg r12.endprologmov r8, rcxmov r11, ?Te@rdtable@CryptoPP@@3PA_KAmov rdi, QWORD PTR [?g_cacheLineSize@CryptoPP@@3IA]mov rsi, [(r8+16*19)]mov rax, 16and rax, rsimovdqa xmm3, XMMWORD PTR [rdx+16+rax]movdqa [(r8+16*12)], xmm3lea rax, [rdx+rax+2*16]sub rax, rsilabel0:movdqa xmm0, [rax+rsi]movdqa XMMWORD PTR [(r8+0)+rsi], xmm0add rsi, 16cmp rsi, 16*12jl label0movdqa xmm4, [rax+rsi]movdqa xmm1, [rdx]mov r12d, [rdx+4*4]mov ebx, [rdx+5*4]mov ecx, [rdx+6*4]mov edx, [rdx+7*4]xor rax, raxlabel9:mov esi, [r11+rax]add rax, rdimov esi, [r11+rax]add rax, rdimov esi, [r11+rax]add rax, rdimov esi, [r11+rax]add rax, rdicmp rax, 2048jl label9lfencetest DWORD PTR [(r8+16*18+8)], 1jz label8mov rsi, [(r8+16*14)]movdqu xmm2, [rsi]pxor xmm2, xmm1psrldq xmm1, 14movd eax, xmm1mov al, BYTE PTR [rsi+15]mov r10d, eaxmovd eax, xmm2psrldq xmm2, 4movd edi, xmm2psrldq xmm2, 4movzx esi, alxor r12d, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, ahxor edx, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]shr eax, 16movzx esi, alxor ecx, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]movzx esi, ahxor ebx, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]mov eax, edimovd edi, xmm2psrldq xmm2, 4movzx esi, alxor ebx, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, ahxor r12d, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]shr eax, 16movzx esi, alxor edx, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]movzx esi, ahxor ecx, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]mov eax, edimovd edi, xmm2movzx esi, alxor ecx, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, ahxor ebx, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]shr eax, 16movzx esi, alxor r12d, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]movzx esi, ahxor edx, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]mov eax, edimovzx esi, alxor edx, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, ahxor ecx, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]shr eax, 16movzx esi, alxor ebx, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]psrldq xmm2, 3mov eax, [(r8+16*12)+0*4]mov edi, [(r8+16*12)+2*4]mov r9d, [(r8+16*12)+3*4]movzx esi, clxor r9d, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]movzx esi, blxor edi, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]movzx esi, bhxor r9d, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]shr ebx, 16movzx esi, blxor eax, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]movzx esi, bhmov ebx, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]xor ebx, [(r8+16*12)+1*4]movzx esi, chxor eax, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]shr ecx, 16movzx esi, dlxor eax, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]movzx esi, dhxor ebx, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]shr edx, 16movzx esi, chxor edi, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, clxor ebx, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]movzx esi, dlxor edi, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]movzx esi, dhxor r9d, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movd ecx, xmm2mov edx, r12dmov [(r8+0)+3*4], r9dmov [(r8+0)+0*4], eaxmov [(r8+0)+1*4], ebxmov [(r8+0)+2*4], edijmp label5label3:mov r12d, [(r8+16*12)+0*4]mov ebx, [(r8+16*12)+1*4]mov ecx, [(r8+16*12)+2*4]mov edx, [(r8+16*12)+3*4]label8:mov rax, [(r8+16*14)]movdqu xmm2, [rax]mov rsi, [(r8+16*14)+8]movdqu xmm5, [rsi]pxor xmm2, xmm1pxor xmm2, xmm5movd eax, xmm2psrldq xmm2, 4movd edi, xmm2psrldq xmm2, 4movzx esi, alxor r12d, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, ahxor edx, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]shr eax, 16movzx esi, alxor ecx, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]movzx esi, ahxor ebx, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]mov eax, edimovd edi, xmm2psrldq xmm2, 4movzx esi, alxor ebx, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, ahxor r12d, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]shr eax, 16movzx esi, alxor edx, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]movzx esi, ahxor ecx, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]mov eax, edimovd edi, xmm2movzx esi, alxor ecx, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, ahxor ebx, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]shr eax, 16movzx esi, alxor r12d, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]movzx esi, ahxor edx, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]mov eax, edimovzx esi, alxor edx, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, ahxor ecx, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]shr eax, 16movzx esi, alxor ebx, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]movzx esi, ahxor r12d, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]mov eax, r12dadd r8, [(r8+16*19)]add r8, 4*16jmp label2label1:mov ecx, r10dmov edx, r12dmov eax, [(r8+0)+0*4]mov ebx, [(r8+0)+1*4]xor cl, chand rcx, 255label5:add r10d, 1xor edx, DWORD PTR [r11+rcx*8+3]movzx esi, dlxor ebx, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]movzx esi, dhmov ecx, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]shr edx, 16xor ecx, [(r8+0)+2*4]movzx esi, dhxor eax, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, dlmov edx, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]xor edx, [(r8+0)+3*4]add r8, [(r8+16*19)]add r8, 3*16jmp label4label2:mov r9d, [(r8+0)-4*16+3*4]mov edi, [(r8+0)-4*16+2*4]movzx esi, clxor r9d, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]mov cl, almovzx esi, ahxor edi, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]shr eax, 16movzx esi, blxor edi, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]movzx esi, bhxor r9d, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]shr ebx, 16movzx esi, alxor r9d, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]movzx esi, ahmov eax, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, blxor eax, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]movzx esi, bhmov ebx, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, chxor eax, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]movzx esi, clxor ebx, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]shr ecx, 16movzx esi, dlxor eax, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]movzx esi, dhxor ebx, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]shr edx, 16movzx esi, chxor edi, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, clxor ebx, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]movzx esi, dlxor edi, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]movzx esi, dhxor r9d, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]mov ecx, edixor eax, [(r8+0)-4*16+0*4]xor ebx, [(r8+0)-4*16+1*4]mov edx, r9dlabel4:mov r9d, [(r8+0)-4*16+7*4]mov edi, [(r8+0)-4*16+6*4]movzx esi, clxor r9d, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]mov cl, almovzx esi, ahxor edi, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]shr eax, 16movzx esi, blxor edi, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]movzx esi, bhxor r9d, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]shr ebx, 16movzx esi, alxor r9d, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]movzx esi, ahmov eax, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, blxor eax, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]movzx esi, bhmov ebx, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, chxor eax, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]movzx esi, clxor ebx, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]shr ecx, 16movzx esi, dlxor eax, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]movzx esi, dhxor ebx, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]shr edx, 16movzx esi, chxor edi, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, clxor ebx, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]movzx esi, dlxor edi, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]movzx esi, dhxor r9d, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]mov ecx, edixor eax, [(r8+0)-4*16+4*4]xor ebx, [(r8+0)-4*16+5*4]mov edx, r9dadd r8, 32test r8, 255jnz label2sub r8, 16*16movzx esi, chmovzx edi, BYTE PTR [r11+rsi*8+1]movzx esi, dlxor edi, DWORD PTR [r11+rsi*8+0]mov WORD PTR [(r8+16*13)+2], dimovzx esi, dhmovzx edi, BYTE PTR [r11+rsi*8+1]movzx esi, alxor edi, DWORD PTR [r11+rsi*8+0]mov WORD PTR [(r8+16*13)+6], dishr edx, 16movzx esi, ahmovzx edi, BYTE PTR [r11+rsi*8+1]movzx esi, blxor edi, DWORD PTR [r11+rsi*8+0]mov WORD PTR [(r8+16*13)+10], dishr eax, 16movzx esi, bhmovzx edi, BYTE PTR [r11+rsi*8+1]movzx esi, clxor edi, DWORD PTR [r11+rsi*8+0]mov WORD PTR [(r8+16*13)+14], dishr ebx, 16movzx esi, dhmovzx edi, BYTE PTR [r11+rsi*8+1]movzx esi, alxor edi, DWORD PTR [r11+rsi*8+0]mov WORD PTR [(r8+16*13)+12], dishr ecx, 16movzx esi, ahmovzx edi, BYTE PTR [r11+rsi*8+1]movzx esi, blxor edi, DWORD PTR [r11+rsi*8+0]mov WORD PTR [(r8+16*13)+0], dimovzx esi, bhmovzx edi, BYTE PTR [r11+rsi*8+1]movzx esi, clxor edi, DWORD PTR [r11+rsi*8+0]mov WORD PTR [(r8+16*13)+4], dimovzx esi, chmovzx edi, BYTE PTR [r11+rsi*8+1]movzx esi, dlxor edi, DWORD PTR [r11+rsi*8+0]mov WORD PTR [(r8+16*13)+8], dimov rax, [(r8+16*14)+16]mov rbx, [(r8+16*14)+24]mov rcx, [(r8+16*18+8)]sub rcx, 16movdqu xmm2, [rax]pxor xmm2, xmm4movdqa xmm0, [(r8+16*16)+16]paddq xmm0, [(r8+16*14)+16]movdqa [(r8+16*14)+16], xmm0pxor xmm2, [(r8+16*13)]movdqu [rbx], xmm2jle label7mov [(r8+16*18+8)], rcxtest rcx, 1jnz label1movdqa xmm0, [(r8+16*16)]paddq xmm0, [(r8+16*14)]movdqa [(r8+16*14)], xmm0jmp label3label7:xorps xmm0, xmm0lea rax, [(r8+0)+7*16]movaps [rax-7*16], xmm0movaps [rax-6*16], xmm0movaps [rax-5*16], xmm0movaps [rax-4*16], xmm0movaps [rax-3*16], xmm0movaps [rax-2*16], xmm0movaps [rax-1*16], xmm0movaps [rax+0*16], xmm0movaps [rax+1*16], xmm0movaps [rax+2*16], xmm0movaps [rax+3*16], xmm0movaps [rax+4*16], xmm0movaps [rax+5*16], xmm0movaps [rax+6*16], xmm0pop r12pop rbxpop rdipop rsiretRijndael_Enc_AdvancedProcessBlocks ENDPALIGN   8GCM_AuthenticateBlocks_2K	PROC FRAMErex_push_reg rsipush_reg rdipush_reg rbx.endprologmov rsi, r8mov r11, r9movdqa xmm0, [rsi]label0:movdqu xmm4, [rcx]pxor xmm0, xmm4movd ebx, xmm0mov eax, 0f0f0f0f0hand eax, ebxshl ebx, 4and ebx, 0f0f0f0f0hmovzx edi, ahmovdqa xmm5, XMMWORD PTR [rsi + 32 + 1024 + rdi]movzx edi, almovdqa xmm4, XMMWORD PTR [rsi + 32 + 1024 + rdi]shr eax, 16movzx edi, ahmovdqa xmm3, XMMWORD PTR [rsi + 32 + 1024 + rdi]movzx edi, almovdqa xmm2, XMMWORD PTR [rsi + 32 + 1024 + rdi]psrldq xmm0, 4movd eax, xmm0and eax, 0f0f0f0f0hmovzx edi, bhpxor xmm5, XMMWORD PTR [rsi + 32 + (1-1)*256 + rdi]movzx edi, blpxor xmm4, XMMWORD PTR [rsi + 32 + (1-1)*256 + rdi]shr ebx, 16movzx edi, bhpxor xmm3, XMMWORD PTR [rsi + 32 + (1-1)*256 + rdi]movzx edi, blpxor xmm2, XMMWORD PTR [rsi + 32 + (1-1)*256 + rdi]movd ebx, xmm0shl ebx, 4and ebx, 0f0f0f0f0hmovzx edi, ahpxor xmm5, XMMWORD PTR [rsi + 32 + 1024 + 1*256 + rdi]movzx edi, alpxor xmm4, XMMWORD PTR [rsi + 32 + 1024 + 1*256 + rdi]shr eax, 16movzx edi, ahpxor xmm3, XMMWORD PTR [rsi + 32 + 1024 + 1*256 + rdi]movzx edi, alpxor xmm2, XMMWORD PTR [rsi + 32 + 1024 + 1*256 + rdi]psrldq xmm0, 4movd eax, xmm0and eax, 0f0f0f0f0hmovzx edi, bhpxor xmm5, XMMWORD PTR [rsi + 32 + (2-1)*256 + rdi]movzx edi, blpxor xmm4, XMMWORD PTR [rsi + 32 + (2-1)*256 + rdi]shr ebx, 16movzx edi, bhpxor xmm3, XMMWORD PTR [rsi + 32 + (2-1)*256 + rdi]movzx edi, blpxor xmm2, XMMWORD PTR [rsi + 32 + (2-1)*256 + rdi]movd ebx, xmm0shl ebx, 4and ebx, 0f0f0f0f0hmovzx edi, ahpxor xmm5, XMMWORD PTR [rsi + 32 + 1024 + 2*256 + rdi]movzx edi, alpxor xmm4, XMMWORD PTR [rsi + 32 + 1024 + 2*256 + rdi]shr eax, 16movzx edi, ahpxor xmm3, XMMWORD PTR [rsi + 32 + 1024 + 2*256 + rdi]movzx edi, alpxor xmm2, XMMWORD PTR [rsi + 32 + 1024 + 2*256 + rdi]psrldq xmm0, 4movd eax, xmm0and eax, 0f0f0f0f0hmovzx edi, bhpxor xmm5, XMMWORD PTR [rsi + 32 + (3-1)*256 + rdi]movzx edi, blpxor xmm4, XMMWORD PTR [rsi + 32 + (3-1)*256 + rdi]shr ebx, 16movzx edi, bhpxor xmm3, XMMWORD PTR [rsi + 32 + (3-1)*256 + rdi]movzx edi, blpxor xmm2, XMMWORD PTR [rsi + 32 + (3-1)*256 + rdi]movd ebx, xmm0shl ebx, 4and ebx, 0f0f0f0f0hmovzx edi, ahpxor xmm5, XMMWORD PTR [rsi + 32 + 1024 + 3*256 + rdi]movzx edi, alpxor xmm4, XMMWORD PTR [rsi + 32 + 1024 + 3*256 + rdi]shr eax, 16movzx edi, ahpxor xmm3, XMMWORD PTR [rsi + 32 + 1024 + 3*256 + rdi]movzx edi, alpxor xmm2, XMMWORD PTR [rsi + 32 + 1024 + 3*256 + rdi]movzx edi, bhpxor xmm5, XMMWORD PTR [rsi + 32 + 3*256 + rdi]movzx edi, blpxor xmm4, XMMWORD PTR [rsi + 32 + 3*256 + rdi]shr ebx, 16movzx edi, bhpxor xmm3, XMMWORD PTR [rsi + 32 + 3*256 + rdi]movzx edi, blpxor xmm2, XMMWORD PTR [rsi + 32 + 3*256 + rdi]movdqa xmm0, xmm3pslldq xmm3, 1pxor xmm2, xmm3movdqa xmm1, xmm2pslldq xmm2, 1pxor xmm5, xmm2psrldq xmm0, 15movd rdi, xmm0movzx eax, WORD PTR [r11 + rdi*2]shl eax, 8movdqa xmm0, xmm5pslldq xmm5, 1pxor xmm4, xmm5psrldq xmm1, 15movd rdi, xmm1xor ax, WORD PTR [r11 + rdi*2]shl eax, 8psrldq xmm0, 15movd rdi, xmm0xor ax, WORD PTR [r11 + rdi*2]movd xmm0, eaxpxor xmm0, xmm4add rcx, 16sub rdx, 1jnz label0movdqa [rsi], xmm0pop rbxpop rdipop rsiretGCM_AuthenticateBlocks_2K ENDPALIGN   8GCM_AuthenticateBlocks_64K	PROC FRAMErex_push_reg rsipush_reg rdi.endprologmov rsi, r8movdqa xmm0, [rsi]label1:movdqu xmm1, [rcx]pxor xmm1, xmm0pxor xmm0, xmm0movd eax, xmm1psrldq xmm1, 4movzx edi, aladd rdi, rdipxor xmm0, [rsi + 32 + (0*4+0)*256*16 + rdi*8]movzx edi, ahadd rdi, rdipxor xmm0, [rsi + 32 + (0*4+1)*256*16 + rdi*8]shr eax, 16movzx edi, aladd rdi, rdipxor xmm0, [rsi + 32 + (0*4+2)*256*16 + rdi*8]movzx edi, ahadd rdi, rdipxor xmm0, [rsi + 32 + (0*4+3)*256*16 + rdi*8]movd eax, xmm1psrldq xmm1, 4movzx edi, aladd rdi, rdipxor xmm0, [rsi + 32 + (1*4+0)*256*16 + rdi*8]movzx edi, ahadd rdi, rdipxor xmm0, [rsi + 32 + (1*4+1)*256*16 + rdi*8]shr eax, 16movzx edi, aladd rdi, rdipxor xmm0, [rsi + 32 + (1*4+2)*256*16 + rdi*8]movzx edi, ahadd rdi, rdipxor xmm0, [rsi + 32 + (1*4+3)*256*16 + rdi*8]movd eax, xmm1psrldq xmm1, 4movzx edi, aladd rdi, rdipxor xmm0, [rsi + 32 + (2*4+0)*256*16 + rdi*8]movzx edi, ahadd rdi, rdipxor xmm0, [rsi + 32 + (2*4+1)*256*16 + rdi*8]shr eax, 16movzx edi, aladd rdi, rdipxor xmm0, [rsi + 32 + (2*4+2)*256*16 + rdi*8]movzx edi, ahadd rdi, rdipxor xmm0, [rsi + 32 + (2*4+3)*256*16 + rdi*8]movd eax, xmm1psrldq xmm1, 4movzx edi, aladd rdi, rdi

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -