diff --git a/SM2-MFMM-(2).md b/SM2-MFMM-(2).md
index 647d1da..ca6c5c8 100644
--- a/SM2-MFMM-(2).md
+++ b/SM2-MFMM-(2).md
@@ -193,3 +193,52 @@ $t_5=0 + 0$
```
乘法: 3
加法:8
+
+### 方案二:(移位、加法、减法)
+$T_2=T_1 \ast P=t_0 \ast P= t_0 \ast (2^{256}-(2^{32} \ast 2^{192} + 0 \ast 2^{128} + (2^{32} - 1) \ast 2^{64} + 1))$
+$T_2=t_0 \ast 2^{256} - t_0 \ast 2^{32} \ast 2^{192} - t_0 \ast (2^{32} - 1) \ast 2^{64} - t_0$
+
+$T_3=T + T_2=t_4 \ast 2^{256} + t_3 \ast 2^{192} + t_2 \ast 2^{128} + t_1 \ast 2^{64} + t_0 \ast 2^{256} - t_0 \ast 2^{32} \ast 2^{192} - t_0 \ast (2^{32} - 1) \ast 2^{64} - t_0 $
+$T_3=(t_4+t_0) \ast 2^{256}+(t_3 - t_0 \ast 2^{32}) \ast 2^{192} + t_2 \ast 2^{128} + (t_1 + t_0 - t_0 \ast 2^{32}) \ast 2^{64} $
+
+先处理加法,后处理减法,后四个加法是带进位加法
+$t_1=t_1 + t_0$
+$t_2=t_2 + 0$
+$t_3=t_3 + 0$
+$t_4=t_4 + t_0$
+$t_5=0 + 0$
+
+显然,这里不像平方那样有溢出风险。
+
+接着处理减法,假定a0是 $t_0 \ast 2^{32}$ 的低64位,a1是 $t_0 \ast 2^{32}$ 的高64位。后三个减法是带借位减法:
+$t_1=t_1 - a_0$
+$t_2=t_2 - a_1$
+$t_3=t_3 - a_0$
+$t_4=t_4 - a_1$
+$t_5=t_5 - 0$
+
+伪代码:
+```asm
+ // First reduction step
+ MOVQ acc0, AX
+ MOVQ acc0, DX
+ SHLQ $32, AX
+ SHRQ $32, DX
+
+ ADDQ acc0, acc1
+ ADCQ $0, acc2
+ ADCQ $0, acc3
+ ADCQ acc0, acc4
+ ADCQ $0, acc5
+
+ SUBQ AX, acc1
+ SBBQ DX, acc2
+ SBBQ AX, acc3
+ SBBQ DX, acc4
+ SBBQ $0, acc5
+```
+移位: 2
+加法:5
+减法:5
+
+