0

我有一个 256 位数据结构(一个 4 int64 数组),我需要在 X64 汇编程序中加载和执行(整数)加法。我没有做 4 个 MOV,而是尝试用一条指令加载所有 4 个。这可能吗?我想我可以用 MOVDQA 来做,但这显然只会加载到 XMM 寄存器中,从那里我唯一的选择是做一个浮点加法,这不是我需要的。

编辑:当前例程是:

    mov rax, [rcx]
mov r8, 8[rcx]
mov r9, 16[rcx]
mov r10, 24[rcx]
add rax, [rdx]
adc r8, 8[rdx]
adc r9, 16[rdx]
adc r10, 24[rdx]
jc  adjust_modular
mov [rcx], rax
mov 8[rcx], r8
mov 16[rcx], r9
mov 24[rcx], r10
adjust_modular: (....)
ret
4

0 回答 0