Updated SM2 MFMM (2) (markdown)

Sun Yimin 2024-02-22 15:49:04 +08:00
parent 2e4b8cf5f8
commit 85c22bf09c

@ -219,26 +219,50 @@ $t_5=t_5 - 0$
伪代码: 伪代码:
```asm ```asm
// First reduction step XORQ acc5, acc5
MOVQ acc0, AX // First reduction step
MOVQ acc0, DX MOVQ acc0, AX
SHLQ $32, AX MOVQ acc0, DX
SHRQ $32, DX SHLQ $32, AX
SHRQ $32, DX
ADDQ acc0, acc1
ADCQ $0, acc2 ADDQ acc0, acc1
ADCQ $0, acc3 ADCQ $0, acc2
ADCQ acc0, acc4 ADCQ $0, acc3
ADCQ $0, acc5 ADCQ acc0, acc4
ADCQ $0, acc5
SUBQ AX, acc1 SUBQ AX, acc1
SBBQ DX, acc2 SBBQ DX, acc2
SBBQ AX, acc3 SBBQ AX, acc3
SBBQ DX, acc4 SBBQ DX, acc4
SBBQ $0, acc5 SBBQ $0, acc5
``` ```
移位: 2 移位: 2
加法5 加法5
减法5 减法5
如果先使用减法:
```asm
XORQ acc5, acc5
// First reduction step
MOVQ acc0, AX
MOVQ acc0, DX
SHLQ $32, AX
SHRQ $32, DX
SUBQ AX, acc1
SBBQ DX, acc2
SBBQ AX, acc3
MOVQ acc0, AX
SBBQ DX, acc0
ADDQ AX, acc1
ADCQ $0, acc2
ADCQ $0, acc3
ADCQ acc0, acc4
ADCQ $0, acc5
```
移位: 2
加法5
减法4