我是一名学习汇编语言的学生。
我正在研究一个获得 abs() 的样本,但我不清楚来源。
你能解释一下 'vandpd xmm1, xmm0, xmmword ptr[AbsMask]' 吗?
主要问题是为什么 AbsMask 是一个数组,它是如何得到 abs() 的?
谢谢。
.MODEL flat, c
.CONST
AbsMask qword 7fffffffffffffffh, 7fffffffffffffffh
.CODE
AVX_fp_Arith PROC
push ebp
mov ebp, esp
vmovsd xmm0, real8 ptr[ebp+8] ; xmm0 = -15
vandpd xmm1, xmm0, xmmword ptr[AbsMask] ; xmm0 = fabs(b) = 15
pop ebp
ret
AVX_fp_Arith ENDP
END