Visual Studio で 512 ビット (big int) を追加する c++ コードを masm インライン アセンブラーに変換しようとしています。以下のリンクに示されている C++ のように、キャリーは非常に重要です。Visual Studio で c++ を masm インライン アセンブラーに表現する必要があります。
私はmasmでこれをやろうとしましたが、私のmasmコードにはわずか700ミリ秒しかかかりませんでした。
C++ コードはこちら. C++ 加算に 300 ミリ秒かかる
マスムコード
_asm {
mov edx, summand
mov eax, [edx]
mov ebx, this
add eax, [ebx]
mov [ebx], eax
mov ecx, 4
mov eax, [edx + ecx]
adc eax, [ebx + ecx]
mov [ebx + ecx], eax
mov ecx, 8
mov eax, [edx + ecx]
adc eax, [ebx + ecx]
mov [ebx + ecx], eax
mov ecx, 12
mov eax, [edx + ecx]
adc eax, [ebx + ecx]
mov [ebx + ecx], eax
}