📄 mips3.s
字号:
sltu AT,c_1,t_1 daddu t_2,AT daddu c_2,t_2 sltu AT,c_2,t_2 daddu c_3,AT dmultu a_3,b_0 /* mul_add_c(a[3],b[0],c1,c2,c3); */ mflo t_1 mfhi t_2 daddu c_1,t_1 sltu AT,c_1,t_1 daddu t_2,AT daddu c_2,t_2 sltu AT,c_2,t_2 daddu c_3,AT sd c_1,24(a0) dmultu a_3,b_1 /* mul_add_c(a[3],b[1],c2,c3,c1); */ mflo t_1 mfhi t_2 daddu c_2,t_1 sltu AT,c_2,t_1 daddu t_2,AT daddu c_3,t_2 sltu c_1,c_3,t_2 dmultu a_2,b_2 /* mul_add_c(a[2],b[2],c2,c3,c1); */ mflo t_1 mfhi t_2 daddu c_2,t_1 sltu AT,c_2,t_1 daddu t_2,AT daddu c_3,t_2 sltu AT,c_3,t_2 daddu c_1,AT dmultu a_1,b_3 /* mul_add_c(a[1],b[3],c2,c3,c1); */ mflo t_1 mfhi t_2 daddu c_2,t_1 sltu AT,c_2,t_1 daddu t_2,AT daddu c_3,t_2 sltu AT,c_3,t_2 daddu c_1,AT sd c_2,32(a0) dmultu a_2,b_3 /* mul_add_c(a[2],b[3],c3,c1,c2); */ mflo t_1 mfhi t_2 daddu c_3,t_1 sltu AT,c_3,t_1 daddu t_2,AT daddu c_1,t_2 sltu c_2,c_1,t_2 dmultu a_3,b_2 /* mul_add_c(a[3],b[2],c3,c1,c2); */ mflo t_1 mfhi t_2 daddu c_3,t_1 sltu AT,c_3,t_1 daddu t_2,AT daddu c_1,t_2 sltu AT,c_1,t_2 daddu c_2,AT sd c_3,40(a0) dmultu a_3,b_3 /* mul_add_c(a[3],b[3],c1,c2,c3); */ mflo t_1 mfhi t_2 daddu c_1,t_1 sltu AT,c_1,t_1 daddu t_2,AT daddu c_2,t_2 sd c_1,48(a0) sd c_2,56(a0) jr raEND(bn_mul_comba4)#undef a_4#undef a_5#undef a_6#undef a_7#define a_4 b_0#define a_5 b_1#define a_6 b_2#define a_7 b_3.align 5LEAF(bn_sqr_comba8) .set reorder ld a_0,0(a1) ld a_1,8(a1) ld a_2,16(a1) ld a_3,24(a1) dmultu a_0,a_0 /* mul_add_c(a[0],b[0],c1,c2,c3); */ ld a_4,32(a1) ld a_5,40(a1) ld a_6,48(a1) ld a_7,56(a1) mflo c_1 mfhi c_2 sd c_1,0(a0) dmultu a_0,a_1 /* mul_add_c2(a[0],b[1],c2,c3,c1); */ mflo t_1 mfhi t_2 slt c_1,t_2,zero dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_2,t_1 sltu AT,c_2,t_1 daddu c_3,t_2,AT sd c_2,8(a0) dmultu a_2,a_0 /* mul_add_c2(a[2],b[0],c3,c1,c2); */ mflo t_1 mfhi t_2 slt c_2,t_2,zero dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_3,t_1 sltu AT,c_3,t_1 daddu t_2,AT daddu c_1,t_2 sltu AT,c_1,t_2 daddu c_2,AT dmultu a_1,a_1 /* mul_add_c(a[1],b[1],c3,c1,c2); */ mflo t_1 mfhi t_2 daddu c_3,t_1 sltu AT,c_3,t_1 daddu t_2,AT daddu c_1,t_2 sltu AT,c_1,t_2 daddu c_2,AT sd c_3,16(a0) dmultu a_0,a_3 /* mul_add_c2(a[0],b[3],c1,c2,c3); */ mflo t_1 mfhi t_2 slt c_3,t_2,zero dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_1,t_1 sltu AT,c_1,t_1 daddu t_2,AT daddu c_2,t_2 sltu AT,c_2,t_2 daddu c_3,AT dmultu a_1,a_2 /* mul_add_c2(a[1],b[2],c1,c2,c3); */ mflo t_1 mfhi t_2 slt AT,t_2,zero daddu c_3,AT dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_1,t_1 sltu AT,c_1,t_1 daddu t_2,AT daddu c_2,t_2 sltu AT,c_2,t_2 daddu c_3,AT sd c_1,24(a0) dmultu a_4,a_0 /* mul_add_c2(a[4],b[0],c2,c3,c1); */ mflo t_1 mfhi t_2 slt c_1,t_2,zero dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_2,t_1 sltu AT,c_2,t_1 daddu t_2,AT daddu c_3,t_2 sltu AT,c_3,t_2 daddu c_1,AT dmultu a_3,a_1 /* mul_add_c2(a[3],b[1],c2,c3,c1); */ mflo t_1 mfhi t_2 slt AT,t_2,zero daddu c_1,AT dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_2,t_1 sltu AT,c_2,t_1 daddu t_2,AT daddu c_3,t_2 sltu AT,c_3,t_2 daddu c_1,AT dmultu a_2,a_2 /* mul_add_c(a[2],b[2],c2,c3,c1); */ mflo t_1 mfhi t_2 daddu c_2,t_1 sltu AT,c_2,t_1 daddu t_2,AT daddu c_3,t_2 sltu AT,c_3,t_2 daddu c_1,AT sd c_2,32(a0) dmultu a_0,a_5 /* mul_add_c2(a[0],b[5],c3,c1,c2); */ mflo t_1 mfhi t_2 slt c_2,t_2,zero dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_3,t_1 sltu AT,c_3,t_1 daddu t_2,AT daddu c_1,t_2 sltu AT,c_1,t_2 daddu c_2,AT dmultu a_1,a_4 /* mul_add_c2(a[1],b[4],c3,c1,c2); */ mflo t_1 mfhi t_2 slt AT,t_2,zero daddu c_2,AT dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_3,t_1 sltu AT,c_3,t_1 daddu t_2,AT daddu c_1,t_2 sltu AT,c_1,t_2 daddu c_2,AT dmultu a_2,a_3 /* mul_add_c2(a[2],b[3],c3,c1,c2); */ mflo t_1 mfhi t_2 slt AT,t_2,zero daddu c_2,AT dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_3,t_1 sltu AT,c_3,t_1 daddu t_2,AT daddu c_1,t_2 sltu AT,c_1,t_2 daddu c_2,AT sd c_3,40(a0) dmultu a_6,a_0 /* mul_add_c2(a[6],b[0],c1,c2,c3); */ mflo t_1 mfhi t_2 slt c_3,t_2,zero dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_1,t_1 sltu AT,c_1,t_1 daddu t_2,AT daddu c_2,t_2 sltu AT,c_2,t_2 daddu c_3,AT dmultu a_5,a_1 /* mul_add_c2(a[5],b[1],c1,c2,c3); */ mflo t_1 mfhi t_2 slt AT,t_2,zero daddu c_3,AT dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_1,t_1 sltu AT,c_1,t_1 daddu t_2,AT daddu c_2,t_2 sltu AT,c_2,t_2 daddu c_3,AT dmultu a_4,a_2 /* mul_add_c2(a[4],b[2],c1,c2,c3); */ mflo t_1 mfhi t_2 slt AT,t_2,zero daddu c_3,AT dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_1,t_1 sltu AT,c_1,t_1 daddu t_2,AT daddu c_2,t_2 sltu AT,c_2,t_2 daddu c_3,AT dmultu a_3,a_3 /* mul_add_c(a[3],b[3],c1,c2,c3); */ mflo t_1 mfhi t_2 daddu c_1,t_1 sltu AT,c_1,t_1 daddu t_2,AT daddu c_2,t_2 sltu AT,c_2,t_2 daddu c_3,AT sd c_1,48(a0) dmultu a_0,a_7 /* mul_add_c2(a[0],b[7],c2,c3,c1); */ mflo t_1 mfhi t_2 slt c_1,t_2,zero dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_2,t_1 sltu AT,c_2,t_1 daddu t_2,AT daddu c_3,t_2 sltu AT,c_3,t_2 daddu c_1,AT dmultu a_1,a_6 /* mul_add_c2(a[1],b[6],c2,c3,c1); */ mflo t_1 mfhi t_2 slt AT,t_2,zero daddu c_1,AT dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_2,t_1 sltu AT,c_2,t_1 daddu t_2,AT daddu c_3,t_2 sltu AT,c_3,t_2 daddu c_1,AT dmultu a_2,a_5 /* mul_add_c2(a[2],b[5],c2,c3,c1); */ mflo t_1 mfhi t_2 slt AT,t_2,zero daddu c_1,AT dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_2,t_1 sltu AT,c_2,t_1 daddu t_2,AT daddu c_3,t_2 sltu AT,c_3,t_2 daddu c_1,AT dmultu a_3,a_4 /* mul_add_c2(a[3],b[4],c2,c3,c1); */ mflo t_1 mfhi t_2 slt AT,t_2,zero daddu c_1,AT dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_2,t_1 sltu AT,c_2,t_1 daddu t_2,AT daddu c_3,t_2 sltu AT,c_3,t_2 daddu c_1,AT sd c_2,56(a0) dmultu a_7,a_1 /* mul_add_c2(a[7],b[1],c3,c1,c2); */ mflo t_1 mfhi t_2 slt c_2,t_2,zero dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_3,t_1 sltu AT,c_3,t_1 daddu t_2,AT daddu c_1,t_2 sltu AT,c_1,t_2 daddu c_2,AT dmultu a_6,a_2 /* mul_add_c2(a[6],b[2],c3,c1,c2); */ mflo t_1 mfhi t_2 slt AT,t_2,zero daddu c_2,AT dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_3,t_1 sltu AT,c_3,t_1 daddu t_2,AT daddu c_1,t_2 sltu AT,c_1,t_2 daddu c_2,AT dmultu a_5,a_3 /* mul_add_c2(a[5],b[3],c3,c1,c2); */ mflo t_1 mfhi t_2 slt AT,t_2,zero daddu c_2,AT dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_3,t_1 sltu AT,c_3,t_1 daddu t_2,AT daddu c_1,t_2 sltu AT,c_1,t_2 daddu c_2,AT dmultu a_4,a_4 /* mul_add_c(a[4],b[4],c3,c1,c2); */ mflo t_1 mfhi t_2 daddu c_3,t_1 sltu AT,c_3,t_1 daddu t_2,AT daddu c_1,t_2 sltu AT,c_1,t_2 daddu c_2,AT sd c_3,64(a0) dmultu a_2,a_7 /* mul_add_c2(a[2],b[7],c1,c2,c3); */ mflo t_1 mfhi t_2 slt c_3,t_2,zero dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_1,t_1 sltu AT,c_1,t_1 daddu t_2,AT daddu c_2,t_2 sltu AT,c_2,t_2 daddu c_3,AT dmultu a_3,a_6 /* mul_add_c2(a[3],b[6],c1,c2,c3); */ mflo t_1 mfhi t_2 slt AT,t_2,zero daddu c_3,AT dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_1,t_1 sltu AT,c_1,t_1 daddu t_2,AT daddu c_2,t_2 sltu AT,c_2,t_2 daddu c_3,AT dmultu a_4,a_5 /* mul_add_c2(a[4],b[5],c1,c2,c3); */ mflo t_1 mfhi t_2 slt AT,t_2,zero daddu c_3,AT dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_1,t_1 sltu AT,c_1,t_1 daddu t_2,AT daddu c_2,t_2 sltu AT,c_2,t_2 daddu c_3,AT sd c_1,72(a0) dmultu a_7,a_3 /* mul_add_c2(a[7],b[3],c2,c3,c1); */ mflo t_1 mfhi t_2 slt c_1,t_2,zero dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_2,t_1 sltu AT,c_2,t_1 daddu t_2,AT daddu c_3,t_2 sltu AT,c_3,t_2 daddu c_1,AT dmultu a_6,a_4 /* mul_add_c2(a[6],b[4],c2,c3,c1); */ mflo t_1 mfhi t_2 slt AT,t_2,zero daddu c_1,AT dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_2,t_1 sltu AT,c_2,t_1 daddu t_2,AT daddu c_3,t_2 sltu AT,c_3,t_2 daddu c_1,AT dmultu a_5,a_5 /* mul_add_c(a[5],b[5],c2,c3,c1); */ mflo t_1 mfhi t_2 daddu c_2,t_1 sltu AT,c_2,t_1 daddu t_2,AT daddu c_3,t_2 sltu AT,c_3,t_2 daddu c_1,AT sd c_2,80(a0) dmultu a_4,a_7 /* mul_add_c2(a[4],b[7],c3,c1,c2); */ mflo t_1 mfhi t_2 slt c_2,t_2,zero dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_3,t_1 sltu AT,c_3,t_1 daddu t_2,AT daddu c_1,t_2 sltu AT,c_1,t_2 daddu c_2,AT dmultu a_5,a_6 /* mul_add_c2(a[5],b[6],c3,c1,c2); */ mflo t_1 mfhi t_2 slt AT,t_2,zero daddu c_2,AT dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_3,t_1 sltu AT,c_3,t_1 daddu t_2,AT daddu c_1,t_2 sltu AT,c_1,t_2 daddu c_2,AT sd c_3,88(a0) dmultu a_7,a_5 /* mul_add_c2(a[7],b[5],c1,c2,c3); */ mflo t_1 mfhi t_2 slt c_3,t_2,zero dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_1,t_1 sltu AT,c_1,t_1 daddu t_2,AT daddu c_2,t_2 sltu AT,c_2,t_2 daddu c_3,AT dmultu a_6,a_6 /* mul_add_c(a[6],b[6],c1,c2,c3); */ mflo t_1 mfhi t_2 daddu c_1,t_1 sltu AT,c_1,t_1 daddu t_2,AT daddu c_2,t_2 sltu AT,c_2,t_2 daddu c_3,AT sd c_1,96(a0) dmultu a_6,a_7 /* mul_add_c2(a[6],b[7],c2,c3,c1); */ mflo t_1 mfhi t_2 slt c_1,t_2,zero dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_2,t_1 sltu AT,c_2,t_1 daddu t_2,AT daddu c_3,t_2 sltu AT,c_3,t_2 daddu c_1,AT sd c_2,104(a0) dmultu a_7,a_7 /* mul_add_c(a[7],b[7],c3,c1,c2); */ mflo t_1 mfhi t_2 daddu c_3,t_1 sltu AT,c_3,t_1 daddu t_2,AT daddu c_1,t_2 sd c_3,112(a0) sd c_1,120(a0) jr raEND(bn_sqr_comba8).align 5LEAF(bn_sqr_comba4) .set reorder ld a_0,0(a1) ld a_1,8(a1) ld a_2,16(a1) ld a_3,24(a1) dmultu a_0,a_0 /* mul_add_c(a[0],b[0],c1,c2,c3); */ mflo c_1 mfhi c_2 sd c_1,0(a0) dmultu a_0,a_1 /* mul_add_c2(a[0],b[1],c2,c3,c1); */ mflo t_1 mfhi t_2 slt c_1,t_2,zero dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_2,t_1 sltu AT,c_2,t_1 daddu c_3,t_2,AT sd c_2,8(a0) dmultu a_2,a_0 /* mul_add_c2(a[2],b[0],c3,c1,c2); */ mflo t_1 mfhi t_2 slt c_2,t_2,zero dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_3,t_1 sltu AT,c_3,t_1 daddu t_2,AT daddu c_1,t_2 sltu AT,c_1,t_2 daddu c_2,AT dmultu a_1,a_1 /* mul_add_c(a[1],b[1],c3,c1,c2); */ mflo t_1 mfhi t_2 daddu c_3,t_1 sltu AT,c_3,t_1 daddu t_2,AT daddu c_1,t_2 sltu AT,c_1,t_2 daddu c_2,AT sd c_3,16(a0) dmultu a_0,a_3 /* mul_add_c2(a[0],b[3],c1,c2,c3); */ mflo t_1 mfhi t_2 slt c_3,t_2,zero dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_1,t_1 sltu AT,c_1,t_1 daddu t_2,AT daddu c_2,t_2 sltu AT,c_2,t_2 daddu c_3,AT dmultu a_1,a_2 /* mul_add_c(a2[1],b[2],c1,c2,c3); */ mflo t_1 mfhi t_2 slt AT,t_2,zero daddu c_3,AT dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_1,t_1 sltu AT,c_1,t_1 daddu t_2,AT daddu c_2,t_2 sltu AT,c_2,t_2 daddu c_3,AT sd c_1,24(a0) dmultu a_3,a_1 /* mul_add_c2(a[3],b[1],c2,c3,c1); */ mflo t_1 mfhi t_2 slt c_1,t_2,zero dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_2,t_1 sltu AT,c_2,t_1 daddu t_2,AT daddu c_3,t_2 sltu AT,c_3,t_2 daddu c_1,AT dmultu a_2,a_2 /* mul_add_c(a[2],b[2],c2,c3,c1); */ mflo t_1 mfhi t_2 daddu c_2,t_1 sltu AT,c_2,t_1 daddu t_2,AT daddu c_3,t_2 sltu AT,c_3,t_2 daddu c_1,AT sd c_2,32(a0) dmultu a_2,a_3 /* mul_add_c2(a[2],b[3],c3,c1,c2); */ mflo t_1 mfhi t_2 slt c_2,t_2,zero dsll t_2,1 slt a2,t_1,zero daddu t_2,a2 dsll t_1,1 daddu c_3,t_1 sltu AT,c_3,t_1 daddu t_2,AT daddu c_1,t_2 sltu AT,c_1,t_2 daddu c_2,AT sd c_3,40(a0) dmultu a_3,a_3 /* mul_add_c(a[3],b[3],c1,c2,c3); */ mflo t_1 mfhi t_2 daddu c_1,t_1 sltu AT,c_1,t_1 daddu t_2,AT daddu c_2,t_2 sd c_1,48(a0) sd c_2,56(a0) jr raEND(bn_sqr_comba4)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -