nb_kernel214_ia32_sse2.intel_syntax.s

来自「最著名最快的分子模拟软件」· S 代码 · 共 2,137 行 · 第 1/5 页

S
2,137
字号
	mulpd   xmm3, [esp + nb214_half] ;# iter1a 	mulpd   xmm7, [esp + nb214_half] ;# iter1b 	movapd  xmm2, xmm3	;# copy of luA 	movapd  xmm6, xmm7	;# copy of luB 	mulpd   xmm3, xmm3	;# luA*luA 	mulpd   xmm7, xmm7	;# luB*luB 	movapd  xmm1, [esp + nb214_three]	mulpd   xmm3, xmm0	;# rsqA*luA*luA 	mulpd   xmm7, xmm4	;# rsqB*luB*luB 		movapd  xmm5, xmm1	subpd   xmm1, xmm3	;# 3-rsqA*luA*luA 	subpd   xmm5, xmm7	;# 3-rsqB*luB*luB 	mulpd   xmm1, xmm2	;# luA*(3-rsqA*luA*luA) 	mulpd   xmm5, xmm6	;# luB*(3-rsqB*luB*luB) 	mulpd   xmm1, [esp + nb214_half] ;# rinv 	mulpd   xmm5, [esp + nb214_half] ;# rinv 	movapd [esp + nb214_rinvMH1], xmm1	movapd [esp + nb214_rinvH2M], xmm5	;# start with OO interaction 	movapd xmm0, [esp + nb214_rinvsqOO] ;# xmm0=rinvsq	movapd  xmm1, xmm0		mulpd   xmm1, xmm1 ;# rinv4	mulpd   xmm1, xmm0 ;#rinvsix	movapd  xmm2, xmm1	mulpd	xmm2, xmm2 ;# rinvtwelve	mulpd  xmm1, [esp + nb214_c6]	mulpd  xmm2, [esp + nb214_c12]	movapd xmm3, xmm2	subpd  xmm3, xmm1	;# Vvdw=Vvdw12-Vvdw6 			addpd  xmm3, [esp + nb214_Vvdwtot]	mulpd  xmm1, [esp + nb214_six]	mulpd  xmm2, [esp + nb214_twelve]	subpd  xmm2, xmm1	mulpd  xmm2, xmm0	movapd [esp + nb214_Vvdwtot], xmm3	movapd xmm0, xmm2	movapd xmm1, xmm2 ;# fscal	xorpd xmm3, xmm3	movapd xmm4, xmm3	movapd xmm5, xmm3	mulpd xmm0, [esp + nb214_dxOO]	mulpd xmm1, [esp + nb214_dyOO]	mulpd xmm2, [esp + nb214_dzOO]	subpd xmm3, xmm0	subpd xmm4, xmm1	subpd xmm5, xmm2	addpd xmm0, [esp + nb214_fixO]	addpd xmm1, [esp + nb214_fiyO]	addpd xmm2, [esp + nb214_fizO]	movapd [esp + nb214_fjxO], xmm3	movapd [esp + nb214_fjyO], xmm4	movapd [esp + nb214_fjzO], xmm5	movapd [esp + nb214_fixO], xmm0	movapd [esp + nb214_fiyO], xmm1	movapd [esp + nb214_fizO], xmm2	;# H1-H1 interaction 	movapd xmm0, [esp + nb214_rinvH1H1]	movapd xmm7, xmm0	;# xmm7=rinv 	movapd xmm5, [esp + nb214_krf]	mulpd  xmm0, xmm0	;# xmm0=rinvsq 	mulpd  xmm5, [esp + nb214_rsqH1H1] ;# xmm5=krsq 	movapd xmm6, xmm5	addpd  xmm6, xmm7	;# xmm6=rinv+ krsq 	subpd  xmm6, [esp + nb214_crf]	mulpd  xmm6, [esp + nb214_qqHH] ;# xmm6=voul=qq*(rinv+ krsq-crf) 	mulpd  xmm5, [esp + nb214_two]	subpd  xmm7, xmm5	;# xmm7=rinv-2*krsq 	mulpd  xmm7, [esp + nb214_qqHH] ;# xmm7 = coul part of fscal 		addpd  xmm6, [esp + nb214_vctot] ;# local vctot summation variable 	mulpd  xmm0, xmm7	movapd [esp + nb214_vctot], xmm6	movapd xmm1, xmm0	movapd xmm2, xmm0	xorpd xmm3, xmm3	movapd xmm4, xmm3	movapd xmm5, xmm3	mulpd xmm0, [esp + nb214_dxH1H1]	mulpd xmm1, [esp + nb214_dyH1H1]	mulpd xmm2, [esp + nb214_dzH1H1]	subpd xmm3, xmm0	subpd xmm4, xmm1	subpd xmm5, xmm2	addpd xmm0, [esp + nb214_fixH1]	addpd xmm1, [esp + nb214_fiyH1]	addpd xmm2, [esp + nb214_fizH1]	movapd [esp + nb214_fjxH1], xmm3	movapd [esp + nb214_fjyH1], xmm4	movapd [esp + nb214_fjzH1], xmm5	movapd [esp + nb214_fixH1], xmm0	movapd [esp + nb214_fiyH1], xmm1	movapd [esp + nb214_fizH1], xmm2	;# H1-H2 interaction  	movapd xmm0, [esp + nb214_rinvH1H2]	movapd xmm7, xmm0	;# xmm7=rinv 	movapd xmm5, [esp + nb214_krf]	mulpd  xmm0, xmm0	;# xmm0=rinvsq 	mulpd  xmm5, [esp + nb214_rsqH1H2] ;# xmm5=krsq 	movapd xmm6, xmm5	addpd  xmm6, xmm7	;# xmm6=rinv+ krsq 	subpd  xmm6, [esp + nb214_crf]	mulpd  xmm6, [esp + nb214_qqHH] ;# xmm6=voul=qq*(rinv+ krsq-crf) 	mulpd  xmm5, [esp + nb214_two]	subpd  xmm7, xmm5	;# xmm7=rinv-2*krsq 	mulpd  xmm7, [esp + nb214_qqHH] ;# xmm7 = coul part of fscal 		addpd  xmm6, [esp + nb214_vctot] ;# local vctot summation variable 	mulpd  xmm0, xmm7	movapd [esp + nb214_vctot], xmm6		movapd xmm1, xmm0	movapd xmm2, xmm0	xorpd xmm3, xmm3	movapd xmm4, xmm3	movapd xmm5, xmm3	mulpd xmm0, [esp + nb214_dxH1H2]	mulpd xmm1, [esp + nb214_dyH1H2]	mulpd xmm2, [esp + nb214_dzH1H2]	subpd xmm3, xmm0	subpd xmm4, xmm1	subpd xmm5, xmm2	addpd xmm0, [esp + nb214_fixH1]	addpd xmm1, [esp + nb214_fiyH1]	addpd xmm2, [esp + nb214_fizH1]	movapd [esp + nb214_fjxH2], xmm3	movapd [esp + nb214_fjyH2], xmm4	movapd [esp + nb214_fjzH2], xmm5	movapd [esp + nb214_fixH1], xmm0	movapd [esp + nb214_fiyH1], xmm1	movapd [esp + nb214_fizH1], xmm2	;# H1-M interaction 	movapd xmm0, [esp + nb214_rinvH1M]	movapd xmm7, xmm0	;# xmm7=rinv 	movapd xmm5, [esp + nb214_krf]	mulpd  xmm0, xmm0	;# xmm0=rinvsq 	mulpd  xmm5, [esp + nb214_rsqH1M] ;# xmm5=krsq 	movapd xmm6, xmm5	addpd  xmm6, xmm7	;# xmm6=rinv+ krsq 	subpd  xmm6, [esp + nb214_crf]	mulpd  xmm6, [esp + nb214_qqMH] ;# xmm6=voul=qq*(rinv+ krsq-crf) 	mulpd  xmm5, [esp + nb214_two]	subpd  xmm7, xmm5	;# xmm7=rinv-2*krsq 	mulpd  xmm7, [esp + nb214_qqMH] ;# xmm7 = coul part of fscal 		addpd  xmm6, [esp + nb214_vctot] ;# local vctot summation variable 	mulpd  xmm0, xmm7	movapd [esp + nb214_vctot], xmm6	movapd xmm1, xmm0	movapd xmm2, xmm0		xorpd xmm3, xmm3	movapd xmm4, xmm3	movapd xmm5, xmm3	mulpd xmm0, [esp + nb214_dxH1M]	mulpd xmm1, [esp + nb214_dyH1M]	mulpd xmm2, [esp + nb214_dzH1M]	subpd xmm3, xmm0	subpd xmm4, xmm1	subpd xmm5, xmm2	addpd xmm0, [esp + nb214_fixH1]	addpd xmm1, [esp + nb214_fiyH1]	addpd xmm2, [esp + nb214_fizH1]	movapd [esp + nb214_fjxM], xmm3	movapd [esp + nb214_fjyM], xmm4	movapd [esp + nb214_fjzM], xmm5	movapd [esp + nb214_fixH1], xmm0	movapd [esp + nb214_fiyH1], xmm1	movapd [esp + nb214_fizH1], xmm2	;# H2-H1 interaction 	movapd xmm0, [esp + nb214_rinvH2H1]	movapd xmm7, xmm0	;# xmm7=rinv 	movapd xmm5, [esp + nb214_krf]	mulpd  xmm0, xmm0	;# xmm0=rinvsq 	mulpd  xmm5, [esp + nb214_rsqH2H1] ;# xmm5=krsq 	movapd xmm6, xmm5	addpd  xmm6, xmm7	;# xmm6=rinv+ krsq 	subpd  xmm6, [esp + nb214_crf]	mulpd  xmm6, [esp + nb214_qqHH] ;# xmm6=voul=qq*(rinv+ krsq-crf) 	mulpd  xmm5, [esp + nb214_two]	subpd  xmm7, xmm5	;# xmm7=rinv-2*krsq 	mulpd  xmm7, [esp + nb214_qqHH] ;# xmm7 = coul part of fscal 		addpd  xmm6, [esp + nb214_vctot] ;# local vctot summation variable 	mulpd  xmm0, xmm7	movapd [esp + nb214_vctot], xmm6		movapd xmm1, xmm0	movapd xmm2, xmm0		movapd xmm3, [esp + nb214_fjxH1]	movapd xmm4, [esp + nb214_fjyH1]	movapd xmm5, [esp + nb214_fjzH1]	mulpd xmm0, [esp + nb214_dxH2H1]	mulpd xmm1, [esp + nb214_dyH2H1]	mulpd xmm2, [esp + nb214_dzH2H1]	subpd xmm3, xmm0	subpd xmm4, xmm1	subpd xmm5, xmm2	addpd xmm0, [esp + nb214_fixH2]	addpd xmm1, [esp + nb214_fiyH2]	addpd xmm2, [esp + nb214_fizH2]	movapd [esp + nb214_fjxH1], xmm3	movapd [esp + nb214_fjyH1], xmm4	movapd [esp + nb214_fjzH1], xmm5	movapd [esp + nb214_fixH2], xmm0	movapd [esp + nb214_fiyH2], xmm1	movapd [esp + nb214_fizH2], xmm2	;# H2-H2 interaction 	movapd xmm0, [esp + nb214_rinvH2H2]	movapd xmm7, xmm0	;# xmm7=rinv 	movapd xmm5, [esp + nb214_krf]	mulpd  xmm0, xmm0	;# xmm0=rinvsq 	mulpd  xmm5, [esp + nb214_rsqH2H2] ;# xmm5=krsq 	movapd xmm6, xmm5	addpd  xmm6, xmm7	;# xmm6=rinv+ krsq 	subpd  xmm6, [esp + nb214_crf]	mulpd  xmm6, [esp + nb214_qqHH] ;# xmm6=voul=qq*(rinv+ krsq-crf) 	mulpd  xmm5, [esp + nb214_two]	subpd  xmm7, xmm5	;# xmm7=rinv-2*krsq 	mulpd  xmm7, [esp + nb214_qqHH] ;# xmm7 = coul part of fscal 		addpd  xmm6, [esp + nb214_vctot] ;# local vctot summation variable 	mulpd  xmm0, xmm7	movapd [esp + nb214_vctot], xmm6		movapd xmm1, xmm0	movapd xmm2, xmm0		movapd xmm3, [esp + nb214_fjxH2]	movapd xmm4, [esp + nb214_fjyH2]	movapd xmm5, [esp + nb214_fjzH2]	mulpd xmm0, [esp + nb214_dxH2H2]	mulpd xmm1, [esp + nb214_dyH2H2]	mulpd xmm2, [esp + nb214_dzH2H2]	subpd xmm3, xmm0	subpd xmm4, xmm1	subpd xmm5, xmm2	addpd xmm0, [esp + nb214_fixH2]	addpd xmm1, [esp + nb214_fiyH2]	addpd xmm2, [esp + nb214_fizH2]	movapd [esp + nb214_fjxH2], xmm3	movapd [esp + nb214_fjyH2], xmm4	movapd [esp + nb214_fjzH2], xmm5	movapd [esp + nb214_fixH2], xmm0	movapd [esp + nb214_fiyH2], xmm1	movapd [esp + nb214_fizH2], xmm2	;# H2-M interaction 	movapd xmm0, [esp + nb214_rinvH2M]	movapd xmm7, xmm0	;# xmm7=rinv 	movapd xmm5, [esp + nb214_krf]	mulpd  xmm0, xmm0	;# xmm0=rinvsq 	mulpd  xmm5, [esp + nb214_rsqH2M] ;# xmm5=krsq 	movapd xmm6, xmm5	addpd  xmm6, xmm7	;# xmm6=rinv+ krsq 	subpd  xmm6, [esp + nb214_crf]	mulpd  xmm6, [esp + nb214_qqMH] ;# xmm6=voul=qq*(rinv+ krsq-crf) 	mulpd  xmm5, [esp + nb214_two]	subpd  xmm7, xmm5	;# xmm7=rinv-2*krsq 	mulpd  xmm7, [esp + nb214_qqMH] ;# xmm7 = coul part of fscal 		addpd  xmm6, [esp + nb214_vctot] ;# local vctot summation variable 	mulpd  xmm0, xmm7	movapd [esp + nb214_vctot], xmm6		movapd xmm1, xmm0	movapd xmm2, xmm0	movapd xmm3, [esp + nb214_fjxM]	movapd xmm4, [esp + nb214_fjyM]	movapd xmm5, [esp + nb214_fjzM]	mulpd xmm0, [esp + nb214_dxH2M]	mulpd xmm1, [esp + nb214_dyH2M]	mulpd xmm2, [esp + nb214_dzH2M]	subpd xmm3, xmm0	subpd xmm4, xmm1	subpd xmm5, xmm2	addpd xmm0, [esp + nb214_fixH2]	addpd xmm1, [esp + nb214_fiyH2]	addpd xmm2, [esp + nb214_fizH2]	movapd [esp + nb214_fjxM], xmm3	movapd [esp + nb214_fjyM], xmm4	movapd [esp + nb214_fjzM], xmm5	movapd [esp + nb214_fixH2], xmm0	movapd [esp + nb214_fiyH2], xmm1	movapd [esp + nb214_fizH2], xmm2	;# M-H1 interaction 	movapd xmm0, [esp + nb214_rinvMH1]	movapd xmm7, xmm0	;# xmm7=rinv 	movapd xmm5, [esp + nb214_krf]	mulpd  xmm0, xmm0	;# xmm0=rinvsq 	mulpd  xmm5, [esp + nb214_rsqMH1] ;# xmm5=krsq 	movapd xmm6, xmm5	addpd  xmm6, xmm7	;# xmm6=rinv+ krsq 	subpd  xmm6, [esp + nb214_crf]	mulpd  xmm6, [esp + nb214_qqMH] ;# xmm6=voul=qq*(rinv+ krsq-crf) 	mulpd  xmm5, [esp + nb214_two]	subpd  xmm7, xmm5	;# xmm7=rinv-2*krsq 	mulpd  xmm7, [esp + nb214_qqMH] ;# xmm7 = coul part of fscal 		addpd  xmm6, [esp + nb214_vctot] ;# local vctot summation variable 	mulpd  xmm0, xmm7	movapd [esp + nb214_vctot], xmm6		movapd xmm1, xmm0	movapd xmm2, xmm0	movapd xmm3, [esp + nb214_fjxH1]	movapd xmm4, [esp + nb214_fjyH1]	movapd xmm5, [esp + nb214_fjzH1]	mulpd xmm0, [esp + nb214_dxMH1]	mulpd xmm1, [esp + nb214_dyMH1]	mulpd xmm2, [esp + nb214_dzMH1]	subpd xmm3, xmm0	subpd xmm4, xmm1	subpd xmm5, xmm2	addpd xmm0, [esp + nb214_fixM]	addpd xmm1, [esp + nb214_fiyM]	addpd xmm2, [esp + nb214_fizM]	movapd [esp + nb214_fjxH1], xmm3	movapd [esp + nb214_fjyH1], xmm4	movapd [esp + nb214_fjzH1], xmm5	movapd [esp + nb214_fixM], xmm0	movapd [esp + nb214_fiyM], xmm1	movapd [esp + nb214_fizM], xmm2	;# M-H2 interaction 	movapd xmm0, [esp + nb214_rinvMH2]	movapd xmm7, xmm0	;# xmm7=rinv 	movapd xmm5, [esp + nb214_krf]	mulpd  xmm0, xmm0	;# xmm0=rinvsq 	mulpd  xmm5, [esp + nb214_rsqMH2] ;# xmm5=krsq 	movapd xmm6, xmm5	addpd  xmm6, xmm7	;# xmm6=rinv+ krsq 	subpd  xmm6, [esp + nb214_crf]	mulpd  xmm6, [esp + nb214_qqMH] ;# xmm6=voul=qq*(rinv+ krsq-crf) 	mulpd  xmm5, [esp + nb214_two]	subpd  xmm7, xmm5	;# xmm7=rinv-2*krsq 	mulpd  xmm7, [esp + nb214_qqMH] ;# xmm7 = coul part of fscal 		addpd  xmm6, [esp + nb214_vctot] ;# local vctot summation variable 	mulpd  xmm0, xmm7	movapd [esp + nb214_vctot], xmm6		movapd xmm1, xmm0	movapd xmm2, xmm0		movapd xmm3, [esp + nb214_fjxH2]	movapd xmm4, [esp + nb214_fjyH2]	movapd xmm5, [esp + nb214_fjzH2]	mulpd xmm0, [esp + nb214_dxMH2]	mulpd xmm1, [esp + nb214_dyMH2]	mulpd xmm2, [esp + nb214_dzMH2]	subpd xmm3, xmm0	subpd xmm4, xmm1	subpd xmm5, xmm2	addpd xmm0, [esp + nb214_fixM]	addpd xmm1, [esp + nb214_fiyM]	addpd xmm2, [esp + nb214_fizM]	movapd [esp + nb214_fjxH2], xmm3	movapd [esp + nb214_fjyH2], xmm4	movapd [esp + nb214_fjzH2], xmm5	movapd [esp + nb214_fixM], xmm0	movapd [esp + nb214_fiyM], xmm1	movapd [esp + nb214_fizM], xmm2	;# M-M interaction 	movapd xmm0, [esp + nb214_rinvMM]	movapd xmm7, xmm0	;# xmm7=rinv 	movapd xmm5, [esp + nb214_krf]	mulpd  xmm0, xmm0	;# xmm0=rinvsq 	mulpd  xmm5, [esp + nb214_rsqMM] ;# xmm5=krsq 	movapd xmm6, xmm5	addpd  xmm6, xmm7	;# xmm6=rinv+ krsq 	subpd  xmm6, [esp + nb214_crf]	mulpd  xmm6, [esp + nb214_qqMM] ;# xmm6=voul=qq*(rinv+ krsq-crf) 	mulpd  xmm5, [esp + nb214_two]	subpd  xmm7, xmm5	;# xmm7=rinv-2*krsq 	mulpd  xmm7, [esp + nb214_qqMM] ;# xmm7 = coul part of fscal 		addpd  xmm6, [esp + nb214_vctot] ;# local vctot summation variable 	mulpd  xmm0, xmm7	movapd [esp + nb214_vctot], xmm6		movapd xmm1, xmm0	movapd xmm2, xmm0	movapd xmm3, [esp + nb214_fjxM]	movapd xmm4, [esp + nb214_fjyM] 	movapd xmm5, [esp + nb214_fjzM]	mulpd xmm0, [esp + nb214_dxMM]	mulpd xmm1, [esp + nb214_dyMM]	mulpd xmm2, [esp + nb214_dzMM]	subpd xmm3, xmm0	subpd xmm4, xmm1	subpd xmm5, xmm2	addpd xmm0, [esp + nb214_fixM]	addpd xmm1, [esp + nb214_fiyM]	addpd xmm2, [esp + nb214_fizM]	movapd [esp + nb214_fjxM], xmm3	movapd [esp + nb214_fjyM], xmm4	movapd [esp + nb214_fjzM], xmm5	movapd [esp + nb214_fixM], xmm0	movapd [esp + nb214_fiyM], xmm1	movapd [esp + nb214_fizM], xmm2

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?