为什么 absmask 应该是一个数组来获取这个 masm32 示例源中的 abs()? [重复]

问题描述 投票:0回答:0

我是一名学习汇编语言的学生。
我正在研究一个获得 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
assembly masm
© www.soinside.com 2019 - 2024. All rights reserved.