daily update on 20230730 by nitload youmu, 5th day of params displacement
This commit is contained in:
@@ -4,37 +4,706 @@ include listing.inc
|
||||
|
||||
INCLUDELIB OLDNAMES
|
||||
|
||||
EXTRN __imp___stdio_common_vfprintf:PROC
|
||||
EXTRN __imp__aligned_malloc:PROC
|
||||
EXTRN __imp___acrt_iob_func:PROC
|
||||
PUBLIC VecMulVec
|
||||
PUBLIC VecSubVec
|
||||
PUBLIC VecAddVec
|
||||
PUBLIC DeinitBigM128Map
|
||||
PUBLIC InitBigM128Map
|
||||
PUBLIC DeinitM128
|
||||
PUBLIC InitM128
|
||||
PUBLIC printf
|
||||
PUBLIC _vfprintf_l
|
||||
PUBLIC __local_stdio_printf_options
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$VecMulVec DD imagerel $LN3@VecMulVec
|
||||
DD imagerel $LN3@VecMulVec+110
|
||||
DD imagerel $unwind$VecMulVec
|
||||
$pdata$VecSubVec DD imagerel $LN3
|
||||
DD imagerel $LN3+480
|
||||
DD imagerel $unwind$VecSubVec
|
||||
pdata ENDS
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$DeinitBigM128Map DD imagerel $LN3@DeinitBigM
|
||||
DD imagerel $LN3@DeinitBigM+25
|
||||
DD imagerel $unwind$DeinitBigM128Map
|
||||
$pdata$VecAddVec DD imagerel $LN3
|
||||
DD imagerel $LN3+480
|
||||
DD imagerel $unwind$VecAddVec
|
||||
pdata ENDS
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$InitBigM128Map DD imagerel $LN3@InitBigM12
|
||||
DD imagerel $LN3@InitBigM12+30
|
||||
DD imagerel $unwind$InitBigM128Map
|
||||
$pdata$DeinitM128 DD imagerel $LN3
|
||||
DD imagerel $LN3+25
|
||||
DD imagerel $unwind$DeinitM128
|
||||
pdata ENDS
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$InitM128 DD imagerel $LN5
|
||||
DD imagerel $LN5+178
|
||||
DD imagerel $unwind$InitM128
|
||||
pdata ENDS
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$printf DD imagerel $LN3
|
||||
DD imagerel $LN3+116
|
||||
DD imagerel $unwind$printf
|
||||
pdata ENDS
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$_vfprintf_l DD imagerel $LN3
|
||||
DD imagerel $LN3+68
|
||||
DD imagerel $unwind$_vfprintf_l
|
||||
; COMDAT xdata
|
||||
xdata SEGMENT
|
||||
$unwind$InitBigM128Map DQ 00000620400010401r ; 5.32451e-310
|
||||
$unwind$_vfprintf_l DD 011801H
|
||||
DD 06218H
|
||||
xdata ENDS
|
||||
; COMDAT xdata
|
||||
xdata SEGMENT
|
||||
$unwind$DeinitBigM128Map DQ 00000420900010901r ; 3.58723e-310
|
||||
$unwind$printf DD 012719H
|
||||
DD 08218H
|
||||
DD imagerel __GSHandlerCheck
|
||||
DD 030H
|
||||
xdata ENDS
|
||||
; COMDAT xdata
|
||||
xdata SEGMENT
|
||||
$unwind$VecMulVec DQ 00000420e00010e01r ; 3.58829e-310
|
||||
$unwind$InitM128 DD 011c01H
|
||||
DD 0621cH
|
||||
xdata ENDS
|
||||
; COMDAT xdata
|
||||
xdata SEGMENT
|
||||
$unwind$DeinitM128 DD 010901H
|
||||
DD 04209H
|
||||
xdata ENDS
|
||||
; COMDAT xdata
|
||||
xdata SEGMENT
|
||||
$unwind$VecAddVec DD 011301H
|
||||
DD 0a213H
|
||||
xdata ENDS
|
||||
; COMDAT xdata
|
||||
xdata SEGMENT
|
||||
$unwind$VecSubVec DD 011301H
|
||||
DD 0a213H
|
||||
ORG $+3
|
||||
$SG4294964025 DB '%llu', 0aH, 00H
|
||||
ORG $+3
|
||||
$SG4294964026 DB '%llu', 0aH, 00H
|
||||
ORG $+3
|
||||
$SG4294964027 DB '%llu', 0aH, 00H
|
||||
ORG $+3
|
||||
$SG4294964031 DB '%llu', 0aH, 00H
|
||||
ORG $+3
|
||||
$SG4294964032 DB '%llu', 0aH, 00H
|
||||
ORG $+3
|
||||
$SG4294964033 DB '%llu', 0aH, 00H
|
||||
ORG $+5
|
||||
$SG4294964022 DB '%f', 09H, '%f', 09H, '%f', 09H, '%f', 09H, 0aH, 00H
|
||||
ORG $+2
|
||||
$SG4294964023 DB '%f', 09H, '%f', 09H, '%f', 09H, '%f', 09H, 0aH, 00H
|
||||
ORG $+2
|
||||
$SG4294964024 DB '%f', 09H, '%f', 09H, '%f', 09H, '%f', 09H, 0aH, 00H
|
||||
ORG $+2
|
||||
$SG4294964028 DB '%f', 09H, '%f', 09H, '%f', 09H, '%f', 09H, 0aH, 00H
|
||||
ORG $+2
|
||||
$SG4294964029 DB '%f', 09H, '%f', 09H, '%f', 09H, '%f', 09H, 0aH, 00H
|
||||
ORG $+2
|
||||
$SG4294964030 DB '%f', 09H, '%f', 09H, '%f', 09H, '%f', 09H, 0aH, 00H
|
||||
; Function compile flags: /Odtp
|
||||
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\ucrt\corecrt_stdio_config.h
|
||||
; COMDAT __local_stdio_printf_options
|
||||
_TEXT SEGMENT
|
||||
__local_stdio_printf_options PROC ; COMDAT
|
||||
|
||||
; 91 : static unsigned __int64 _OptionsStorage;
|
||||
; 92 : return &_OptionsStorage;
|
||||
|
||||
00000 48 8d 05 00 00
|
||||
00 00 lea rax, OFFSET FLAT:?_OptionsStorage@?1??__local_stdio_printf_options@@9@9 ; `__local_stdio_printf_options'::`2'::_OptionsStorage
|
||||
|
||||
; 93 : }
|
||||
|
||||
00007 c3 ret 0
|
||||
__local_stdio_printf_options ENDP
|
||||
_TEXT ENDS
|
||||
; Function compile flags: /Odtp
|
||||
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\ucrt\stdio.h
|
||||
; COMDAT _vfprintf_l
|
||||
_TEXT SEGMENT
|
||||
_Stream$ = 64
|
||||
_Format$ = 72
|
||||
_Locale$ = 80
|
||||
_ArgList$ = 88
|
||||
_vfprintf_l PROC ; COMDAT
|
||||
|
||||
; 644 : {
|
||||
|
||||
$LN3:
|
||||
00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9
|
||||
00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
||||
0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
||||
0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
||||
00014 48 83 ec 38 sub rsp, 56 ; 00000038H
|
||||
|
||||
; 645 : return __stdio_common_vfprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _Stream, _Format, _Locale, _ArgList);
|
||||
|
||||
00018 e8 00 00 00 00 call __local_stdio_printf_options
|
||||
0001d 48 8b 4c 24 58 mov rcx, QWORD PTR _ArgList$[rsp]
|
||||
00022 48 89 4c 24 20 mov QWORD PTR [rsp+32], rcx
|
||||
00027 4c 8b 4c 24 50 mov r9, QWORD PTR _Locale$[rsp]
|
||||
0002c 4c 8b 44 24 48 mov r8, QWORD PTR _Format$[rsp]
|
||||
00031 48 8b 54 24 40 mov rdx, QWORD PTR _Stream$[rsp]
|
||||
00036 48 8b 08 mov rcx, QWORD PTR [rax]
|
||||
00039 ff 15 00 00 00
|
||||
00 call QWORD PTR __imp___stdio_common_vfprintf
|
||||
|
||||
; 646 : }
|
||||
|
||||
0003f 48 83 c4 38 add rsp, 56 ; 00000038H
|
||||
00043 c3 ret 0
|
||||
_vfprintf_l ENDP
|
||||
_TEXT ENDS
|
||||
; Function compile flags: /Odtp
|
||||
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\ucrt\stdio.h
|
||||
; COMDAT printf
|
||||
_TEXT SEGMENT
|
||||
_Result$ = 32
|
||||
_ArgList$ = 40
|
||||
__$ArrayPad$ = 48
|
||||
_Format$ = 80
|
||||
printf PROC ; COMDAT
|
||||
|
||||
; 956 : {
|
||||
|
||||
$LN3:
|
||||
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
||||
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
||||
0000a 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
||||
0000f 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9
|
||||
00014 48 83 ec 48 sub rsp, 72 ; 00000048H
|
||||
00018 48 8b 05 00 00
|
||||
00 00 mov rax, QWORD PTR __security_cookie
|
||||
0001f 48 33 c4 xor rax, rsp
|
||||
00022 48 89 44 24 30 mov QWORD PTR __$ArrayPad$[rsp], rax
|
||||
|
||||
; 957 : int _Result;
|
||||
; 958 : va_list _ArgList;
|
||||
; 959 : __crt_va_start(_ArgList, _Format);
|
||||
|
||||
00027 48 8d 44 24 58 lea rax, QWORD PTR _Format$[rsp+8]
|
||||
0002c 48 89 44 24 28 mov QWORD PTR _ArgList$[rsp], rax
|
||||
|
||||
; 960 : _Result = _vfprintf_l(stdout, _Format, NULL, _ArgList);
|
||||
|
||||
00031 b9 01 00 00 00 mov ecx, 1
|
||||
00036 ff 15 00 00 00
|
||||
00 call QWORD PTR __imp___acrt_iob_func
|
||||
0003c 4c 8b 4c 24 28 mov r9, QWORD PTR _ArgList$[rsp]
|
||||
00041 45 33 c0 xor r8d, r8d
|
||||
00044 48 8b 54 24 50 mov rdx, QWORD PTR _Format$[rsp]
|
||||
00049 48 8b c8 mov rcx, rax
|
||||
0004c e8 00 00 00 00 call _vfprintf_l
|
||||
00051 89 44 24 20 mov DWORD PTR _Result$[rsp], eax
|
||||
|
||||
; 961 : __crt_va_end(_ArgList);
|
||||
|
||||
00055 48 c7 44 24 28
|
||||
00 00 00 00 mov QWORD PTR _ArgList$[rsp], 0
|
||||
|
||||
; 962 : return _Result;
|
||||
|
||||
0005e 8b 44 24 20 mov eax, DWORD PTR _Result$[rsp]
|
||||
|
||||
; 963 : }
|
||||
|
||||
00062 48 8b 4c 24 30 mov rcx, QWORD PTR __$ArrayPad$[rsp]
|
||||
00067 48 33 cc xor rcx, rsp
|
||||
0006a e8 00 00 00 00 call __security_check_cookie
|
||||
0006f 48 83 c4 48 add rsp, 72 ; 00000048H
|
||||
00073 c3 ret 0
|
||||
printf ENDP
|
||||
_TEXT ENDS
|
||||
; Function compile flags: /Odtp
|
||||
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
|
||||
; COMDAT InitM128
|
||||
_TEXT SEGMENT
|
||||
Ptr$ = 32
|
||||
x$ = 64
|
||||
y$ = 72
|
||||
z$ = 80
|
||||
w$ = 88
|
||||
InitM128 PROC ; COMDAT
|
||||
|
||||
; 11 : {
|
||||
|
||||
$LN5:
|
||||
00000 f3 0f 11 5c 24
|
||||
20 movss DWORD PTR [rsp+32], xmm3
|
||||
00006 f3 0f 11 54 24
|
||||
18 movss DWORD PTR [rsp+24], xmm2
|
||||
0000c f3 0f 11 4c 24
|
||||
10 movss DWORD PTR [rsp+16], xmm1
|
||||
00012 f3 0f 11 44 24
|
||||
08 movss DWORD PTR [rsp+8], xmm0
|
||||
00018 48 83 ec 38 sub rsp, 56 ; 00000038H
|
||||
|
||||
; 12 : __m128* Ptr = _aligned_malloc(16, sizeof(__m128));
|
||||
|
||||
0001c ba 10 00 00 00 mov edx, 16
|
||||
00021 b9 10 00 00 00 mov ecx, 16
|
||||
00026 ff 15 00 00 00
|
||||
00 call QWORD PTR __imp__aligned_malloc
|
||||
0002c 48 89 44 24 20 mov QWORD PTR Ptr$[rsp], rax
|
||||
|
||||
; 13 :
|
||||
; 14 : if (NULL==Ptr)
|
||||
|
||||
00031 48 83 7c 24 20
|
||||
00 cmp QWORD PTR Ptr$[rsp], 0
|
||||
00037 75 0b jne SHORT $LN2@InitM128
|
||||
|
||||
; 15 : {
|
||||
; 16 : return (__m128*) - 1;
|
||||
|
||||
00039 48 c7 c0 ff ff
|
||||
ff ff mov rax, -1
|
||||
00040 eb 6b jmp SHORT $LN1@InitM128
|
||||
|
||||
; 17 : }
|
||||
|
||||
00042 eb 69 jmp SHORT $LN3@InitM128
|
||||
$LN2@InitM128:
|
||||
|
||||
; 18 : else
|
||||
; 19 : {
|
||||
; 20 : Ptr->m128_f32[0] = x;
|
||||
|
||||
00044 b8 04 00 00 00 mov eax, 4
|
||||
00049 48 6b c0 00 imul rax, rax, 0
|
||||
0004d 48 8b 4c 24 20 mov rcx, QWORD PTR Ptr$[rsp]
|
||||
00052 f3 0f 10 44 24
|
||||
40 movss xmm0, DWORD PTR x$[rsp]
|
||||
00058 f3 0f 11 04 01 movss DWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 21 : Ptr->m128_f32[1] = y;
|
||||
|
||||
0005d b8 04 00 00 00 mov eax, 4
|
||||
00062 48 6b c0 01 imul rax, rax, 1
|
||||
00066 48 8b 4c 24 20 mov rcx, QWORD PTR Ptr$[rsp]
|
||||
0006b f3 0f 10 44 24
|
||||
48 movss xmm0, DWORD PTR y$[rsp]
|
||||
00071 f3 0f 11 04 01 movss DWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 22 : Ptr->m128_f32[2] = z;
|
||||
|
||||
00076 b8 04 00 00 00 mov eax, 4
|
||||
0007b 48 6b c0 02 imul rax, rax, 2
|
||||
0007f 48 8b 4c 24 20 mov rcx, QWORD PTR Ptr$[rsp]
|
||||
00084 f3 0f 10 44 24
|
||||
50 movss xmm0, DWORD PTR z$[rsp]
|
||||
0008a f3 0f 11 04 01 movss DWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 23 : Ptr->m128_f32[3] = w;
|
||||
|
||||
0008f b8 04 00 00 00 mov eax, 4
|
||||
00094 48 6b c0 03 imul rax, rax, 3
|
||||
00098 48 8b 4c 24 20 mov rcx, QWORD PTR Ptr$[rsp]
|
||||
0009d f3 0f 10 44 24
|
||||
58 movss xmm0, DWORD PTR w$[rsp]
|
||||
000a3 f3 0f 11 04 01 movss DWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 24 : return Ptr;
|
||||
|
||||
000a8 48 8b 44 24 20 mov rax, QWORD PTR Ptr$[rsp]
|
||||
$LN3@InitM128:
|
||||
$LN1@InitM128:
|
||||
|
||||
; 25 : }
|
||||
; 26 : }
|
||||
|
||||
000ad 48 83 c4 38 add rsp, 56 ; 00000038H
|
||||
000b1 c3 ret 0
|
||||
InitM128 ENDP
|
||||
_TEXT ENDS
|
||||
; Function compile flags: /Odtp
|
||||
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
|
||||
; COMDAT DeinitM128
|
||||
_TEXT SEGMENT
|
||||
m128Ptr$ = 48
|
||||
DeinitM128 PROC ; COMDAT
|
||||
|
||||
; 29 : {
|
||||
|
||||
$LN3:
|
||||
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
||||
00005 48 83 ec 28 sub rsp, 40 ; 00000028H
|
||||
|
||||
; 30 : free(m128Ptr);
|
||||
|
||||
00009 48 8b 4c 24 30 mov rcx, QWORD PTR m128Ptr$[rsp]
|
||||
0000e ff 15 00 00 00
|
||||
00 call QWORD PTR __imp_free
|
||||
|
||||
; 31 : }
|
||||
|
||||
00014 48 83 c4 28 add rsp, 40 ; 00000028H
|
||||
00018 c3 ret 0
|
||||
DeinitM128 ENDP
|
||||
_TEXT ENDS
|
||||
; Function compile flags: /Odtp
|
||||
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
|
||||
; COMDAT VecAddVec
|
||||
_TEXT SEGMENT
|
||||
tv89 = 48
|
||||
tv142 = 56
|
||||
tv166 = 64
|
||||
ptr1$ = 96
|
||||
ptr2$ = 104
|
||||
ret$ = 112
|
||||
VecAddVec PROC ; COMDAT
|
||||
|
||||
; 34 : {
|
||||
|
||||
$LN3:
|
||||
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
||||
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
||||
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
||||
0000f 48 83 ec 58 sub rsp, 88 ; 00000058H
|
||||
|
||||
; 35 : printf("%llu\n",(uint64_t)ptr1);
|
||||
|
||||
00013 48 8b 54 24 60 mov rdx, QWORD PTR ptr1$[rsp]
|
||||
00018 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:$SG4294964033
|
||||
0001f e8 00 00 00 00 call printf
|
||||
|
||||
; 36 : printf("%llu\n",(uint64_t)ptr2);
|
||||
|
||||
00024 48 8b 54 24 68 mov rdx, QWORD PTR ptr2$[rsp]
|
||||
00029 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:$SG4294964032
|
||||
00030 e8 00 00 00 00 call printf
|
||||
|
||||
; 37 : printf("%llu\n",(uint64_t)ret);
|
||||
|
||||
00035 48 8b 54 24 70 mov rdx, QWORD PTR ret$[rsp]
|
||||
0003a 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:$SG4294964031
|
||||
00041 e8 00 00 00 00 call printf
|
||||
|
||||
; 38 :
|
||||
; 39 : printf("%f\t%f\t%f\t%f\t\n",
|
||||
|
||||
00046 b8 04 00 00 00 mov eax, 4
|
||||
0004b 48 6b c0 03 imul rax, rax, 3
|
||||
0004f 48 8b 4c 24 60 mov rcx, QWORD PTR ptr1$[rsp]
|
||||
00054 f3 0f 5a 04 01 cvtss2sd xmm0, DWORD PTR [rcx+rax]
|
||||
00059 b8 04 00 00 00 mov eax, 4
|
||||
0005e 48 6b c0 02 imul rax, rax, 2
|
||||
00062 48 8b 4c 24 60 mov rcx, QWORD PTR ptr1$[rsp]
|
||||
00067 f3 0f 5a 0c 01 cvtss2sd xmm1, DWORD PTR [rcx+rax]
|
||||
0006c b8 04 00 00 00 mov eax, 4
|
||||
00071 48 6b c0 01 imul rax, rax, 1
|
||||
00075 48 8b 4c 24 60 mov rcx, QWORD PTR ptr1$[rsp]
|
||||
0007a f3 0f 5a 14 01 cvtss2sd xmm2, DWORD PTR [rcx+rax]
|
||||
0007f b8 04 00 00 00 mov eax, 4
|
||||
00084 48 6b c0 00 imul rax, rax, 0
|
||||
00088 48 8b 4c 24 60 mov rcx, QWORD PTR ptr1$[rsp]
|
||||
0008d f3 0f 5a 1c 01 cvtss2sd xmm3, DWORD PTR [rcx+rax]
|
||||
00092 f2 0f 11 5c 24
|
||||
30 movsd QWORD PTR tv89[rsp], xmm3
|
||||
00098 f2 0f 11 44 24
|
||||
20 movsd QWORD PTR [rsp+32], xmm0
|
||||
0009e 0f 28 d9 movaps xmm3, xmm1
|
||||
000a1 66 49 0f 7e d9 movq r9, xmm3
|
||||
000a6 66 49 0f 7e d0 movq r8, xmm2
|
||||
000ab f2 0f 10 44 24
|
||||
30 movsd xmm0, QWORD PTR tv89[rsp]
|
||||
000b1 0f 28 c8 movaps xmm1, xmm0
|
||||
000b4 66 48 0f 7e ca movq rdx, xmm1
|
||||
000b9 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:$SG4294964030
|
||||
000c0 e8 00 00 00 00 call printf
|
||||
|
||||
; 40 : ptr1->m128_f32[0], ptr1->m128_f32[1], ptr1->m128_f32[2], ptr1->m128_f32[3]
|
||||
; 41 : );
|
||||
; 42 : printf("%f\t%f\t%f\t%f\t\n",
|
||||
|
||||
000c5 b8 04 00 00 00 mov eax, 4
|
||||
000ca 48 6b c0 03 imul rax, rax, 3
|
||||
000ce 48 8b 4c 24 68 mov rcx, QWORD PTR ptr2$[rsp]
|
||||
000d3 f3 0f 5a 04 01 cvtss2sd xmm0, DWORD PTR [rcx+rax]
|
||||
000d8 b8 04 00 00 00 mov eax, 4
|
||||
000dd 48 6b c0 02 imul rax, rax, 2
|
||||
000e1 48 8b 4c 24 68 mov rcx, QWORD PTR ptr2$[rsp]
|
||||
000e6 f3 0f 5a 0c 01 cvtss2sd xmm1, DWORD PTR [rcx+rax]
|
||||
000eb b8 04 00 00 00 mov eax, 4
|
||||
000f0 48 6b c0 01 imul rax, rax, 1
|
||||
000f4 48 8b 4c 24 68 mov rcx, QWORD PTR ptr2$[rsp]
|
||||
000f9 f3 0f 5a 14 01 cvtss2sd xmm2, DWORD PTR [rcx+rax]
|
||||
000fe b8 04 00 00 00 mov eax, 4
|
||||
00103 48 6b c0 00 imul rax, rax, 0
|
||||
00107 48 8b 4c 24 68 mov rcx, QWORD PTR ptr2$[rsp]
|
||||
0010c f3 0f 5a 1c 01 cvtss2sd xmm3, DWORD PTR [rcx+rax]
|
||||
00111 f2 0f 11 5c 24
|
||||
38 movsd QWORD PTR tv142[rsp], xmm3
|
||||
00117 f2 0f 11 44 24
|
||||
20 movsd QWORD PTR [rsp+32], xmm0
|
||||
0011d 0f 28 d9 movaps xmm3, xmm1
|
||||
00120 66 49 0f 7e d9 movq r9, xmm3
|
||||
00125 66 49 0f 7e d0 movq r8, xmm2
|
||||
0012a f2 0f 10 44 24
|
||||
38 movsd xmm0, QWORD PTR tv142[rsp]
|
||||
00130 0f 28 c8 movaps xmm1, xmm0
|
||||
00133 66 48 0f 7e ca movq rdx, xmm1
|
||||
00138 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:$SG4294964029
|
||||
0013f e8 00 00 00 00 call printf
|
||||
|
||||
; 43 : ptr2->m128_f32[0], ptr2->m128_f32[1], ptr2->m128_f32[2], ptr2->m128_f32[3]
|
||||
; 44 : );
|
||||
; 45 :
|
||||
; 46 : *ret = _mm_add_ps(*ptr1, *ptr2);
|
||||
|
||||
00144 48 8b 44 24 60 mov rax, QWORD PTR ptr1$[rsp]
|
||||
00149 48 8b 4c 24 68 mov rcx, QWORD PTR ptr2$[rsp]
|
||||
0014e 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
00151 0f 58 01 addps xmm0, XMMWORD PTR [rcx]
|
||||
00154 48 8b 44 24 70 mov rax, QWORD PTR ret$[rsp]
|
||||
00159 0f 11 00 movups XMMWORD PTR [rax], xmm0
|
||||
|
||||
; 47 :
|
||||
; 48 : printf("%f\t%f\t%f\t%f\t\n",
|
||||
|
||||
0015c b8 04 00 00 00 mov eax, 4
|
||||
00161 48 6b c0 03 imul rax, rax, 3
|
||||
00165 48 8b 4c 24 70 mov rcx, QWORD PTR ret$[rsp]
|
||||
0016a f3 0f 5a 04 01 cvtss2sd xmm0, DWORD PTR [rcx+rax]
|
||||
0016f b8 04 00 00 00 mov eax, 4
|
||||
00174 48 6b c0 02 imul rax, rax, 2
|
||||
00178 48 8b 4c 24 70 mov rcx, QWORD PTR ret$[rsp]
|
||||
0017d f3 0f 5a 0c 01 cvtss2sd xmm1, DWORD PTR [rcx+rax]
|
||||
00182 b8 04 00 00 00 mov eax, 4
|
||||
00187 48 6b c0 01 imul rax, rax, 1
|
||||
0018b 48 8b 4c 24 70 mov rcx, QWORD PTR ret$[rsp]
|
||||
00190 f3 0f 5a 14 01 cvtss2sd xmm2, DWORD PTR [rcx+rax]
|
||||
00195 b8 04 00 00 00 mov eax, 4
|
||||
0019a 48 6b c0 00 imul rax, rax, 0
|
||||
0019e 48 8b 4c 24 70 mov rcx, QWORD PTR ret$[rsp]
|
||||
001a3 f3 0f 5a 1c 01 cvtss2sd xmm3, DWORD PTR [rcx+rax]
|
||||
001a8 f2 0f 11 5c 24
|
||||
40 movsd QWORD PTR tv166[rsp], xmm3
|
||||
001ae f2 0f 11 44 24
|
||||
20 movsd QWORD PTR [rsp+32], xmm0
|
||||
001b4 0f 28 d9 movaps xmm3, xmm1
|
||||
001b7 66 49 0f 7e d9 movq r9, xmm3
|
||||
001bc 66 49 0f 7e d0 movq r8, xmm2
|
||||
001c1 f2 0f 10 44 24
|
||||
40 movsd xmm0, QWORD PTR tv166[rsp]
|
||||
001c7 0f 28 c8 movaps xmm1, xmm0
|
||||
001ca 66 48 0f 7e ca movq rdx, xmm1
|
||||
001cf 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:$SG4294964028
|
||||
001d6 e8 00 00 00 00 call printf
|
||||
|
||||
; 49 : ret->m128_f32[0], ret->m128_f32[1], ret->m128_f32[2], ret->m128_f32[3]
|
||||
; 50 : );
|
||||
; 51 :
|
||||
; 52 : }
|
||||
|
||||
001db 48 83 c4 58 add rsp, 88 ; 00000058H
|
||||
001df c3 ret 0
|
||||
VecAddVec ENDP
|
||||
_TEXT ENDS
|
||||
; Function compile flags: /Odtp
|
||||
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
|
||||
; COMDAT VecSubVec
|
||||
_TEXT SEGMENT
|
||||
tv89 = 48
|
||||
tv142 = 56
|
||||
tv166 = 64
|
||||
ptr1$ = 96
|
||||
ptr2$ = 104
|
||||
ret$ = 112
|
||||
VecSubVec PROC ; COMDAT
|
||||
|
||||
; 55 : {
|
||||
|
||||
$LN3:
|
||||
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
||||
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
||||
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
||||
0000f 48 83 ec 58 sub rsp, 88 ; 00000058H
|
||||
|
||||
; 56 : printf("%llu\n", (uint64_t)ptr1);
|
||||
|
||||
00013 48 8b 54 24 60 mov rdx, QWORD PTR ptr1$[rsp]
|
||||
00018 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:$SG4294964027
|
||||
0001f e8 00 00 00 00 call printf
|
||||
|
||||
; 57 : printf("%llu\n", (uint64_t)ptr2);
|
||||
|
||||
00024 48 8b 54 24 68 mov rdx, QWORD PTR ptr2$[rsp]
|
||||
00029 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:$SG4294964026
|
||||
00030 e8 00 00 00 00 call printf
|
||||
|
||||
; 58 : printf("%llu\n", (uint64_t)ret);
|
||||
|
||||
00035 48 8b 54 24 70 mov rdx, QWORD PTR ret$[rsp]
|
||||
0003a 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:$SG4294964025
|
||||
00041 e8 00 00 00 00 call printf
|
||||
|
||||
; 59 :
|
||||
; 60 : printf("%f\t%f\t%f\t%f\t\n",
|
||||
|
||||
00046 b8 04 00 00 00 mov eax, 4
|
||||
0004b 48 6b c0 03 imul rax, rax, 3
|
||||
0004f 48 8b 4c 24 60 mov rcx, QWORD PTR ptr1$[rsp]
|
||||
00054 f3 0f 5a 04 01 cvtss2sd xmm0, DWORD PTR [rcx+rax]
|
||||
00059 b8 04 00 00 00 mov eax, 4
|
||||
0005e 48 6b c0 02 imul rax, rax, 2
|
||||
00062 48 8b 4c 24 60 mov rcx, QWORD PTR ptr1$[rsp]
|
||||
00067 f3 0f 5a 0c 01 cvtss2sd xmm1, DWORD PTR [rcx+rax]
|
||||
0006c b8 04 00 00 00 mov eax, 4
|
||||
00071 48 6b c0 01 imul rax, rax, 1
|
||||
00075 48 8b 4c 24 60 mov rcx, QWORD PTR ptr1$[rsp]
|
||||
0007a f3 0f 5a 14 01 cvtss2sd xmm2, DWORD PTR [rcx+rax]
|
||||
0007f b8 04 00 00 00 mov eax, 4
|
||||
00084 48 6b c0 00 imul rax, rax, 0
|
||||
00088 48 8b 4c 24 60 mov rcx, QWORD PTR ptr1$[rsp]
|
||||
0008d f3 0f 5a 1c 01 cvtss2sd xmm3, DWORD PTR [rcx+rax]
|
||||
00092 f2 0f 11 5c 24
|
||||
30 movsd QWORD PTR tv89[rsp], xmm3
|
||||
00098 f2 0f 11 44 24
|
||||
20 movsd QWORD PTR [rsp+32], xmm0
|
||||
0009e 0f 28 d9 movaps xmm3, xmm1
|
||||
000a1 66 49 0f 7e d9 movq r9, xmm3
|
||||
000a6 66 49 0f 7e d0 movq r8, xmm2
|
||||
000ab f2 0f 10 44 24
|
||||
30 movsd xmm0, QWORD PTR tv89[rsp]
|
||||
000b1 0f 28 c8 movaps xmm1, xmm0
|
||||
000b4 66 48 0f 7e ca movq rdx, xmm1
|
||||
000b9 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:$SG4294964024
|
||||
000c0 e8 00 00 00 00 call printf
|
||||
|
||||
; 61 : ptr1->m128_f32[0], ptr1->m128_f32[1], ptr1->m128_f32[2], ptr1->m128_f32[3]
|
||||
; 62 : );
|
||||
; 63 : printf("%f\t%f\t%f\t%f\t\n",
|
||||
|
||||
000c5 b8 04 00 00 00 mov eax, 4
|
||||
000ca 48 6b c0 03 imul rax, rax, 3
|
||||
000ce 48 8b 4c 24 68 mov rcx, QWORD PTR ptr2$[rsp]
|
||||
000d3 f3 0f 5a 04 01 cvtss2sd xmm0, DWORD PTR [rcx+rax]
|
||||
000d8 b8 04 00 00 00 mov eax, 4
|
||||
000dd 48 6b c0 02 imul rax, rax, 2
|
||||
000e1 48 8b 4c 24 68 mov rcx, QWORD PTR ptr2$[rsp]
|
||||
000e6 f3 0f 5a 0c 01 cvtss2sd xmm1, DWORD PTR [rcx+rax]
|
||||
000eb b8 04 00 00 00 mov eax, 4
|
||||
000f0 48 6b c0 01 imul rax, rax, 1
|
||||
000f4 48 8b 4c 24 68 mov rcx, QWORD PTR ptr2$[rsp]
|
||||
000f9 f3 0f 5a 14 01 cvtss2sd xmm2, DWORD PTR [rcx+rax]
|
||||
000fe b8 04 00 00 00 mov eax, 4
|
||||
00103 48 6b c0 00 imul rax, rax, 0
|
||||
00107 48 8b 4c 24 68 mov rcx, QWORD PTR ptr2$[rsp]
|
||||
0010c f3 0f 5a 1c 01 cvtss2sd xmm3, DWORD PTR [rcx+rax]
|
||||
00111 f2 0f 11 5c 24
|
||||
38 movsd QWORD PTR tv142[rsp], xmm3
|
||||
00117 f2 0f 11 44 24
|
||||
20 movsd QWORD PTR [rsp+32], xmm0
|
||||
0011d 0f 28 d9 movaps xmm3, xmm1
|
||||
00120 66 49 0f 7e d9 movq r9, xmm3
|
||||
00125 66 49 0f 7e d0 movq r8, xmm2
|
||||
0012a f2 0f 10 44 24
|
||||
38 movsd xmm0, QWORD PTR tv142[rsp]
|
||||
00130 0f 28 c8 movaps xmm1, xmm0
|
||||
00133 66 48 0f 7e ca movq rdx, xmm1
|
||||
00138 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:$SG4294964023
|
||||
0013f e8 00 00 00 00 call printf
|
||||
|
||||
; 64 : ptr2->m128_f32[0], ptr2->m128_f32[1], ptr2->m128_f32[2], ptr2->m128_f32[3]
|
||||
; 65 : );
|
||||
; 66 :
|
||||
; 67 :
|
||||
; 68 : *ret = _mm_sub_ps(*ptr1, *ptr2);
|
||||
|
||||
00144 48 8b 44 24 60 mov rax, QWORD PTR ptr1$[rsp]
|
||||
00149 48 8b 4c 24 68 mov rcx, QWORD PTR ptr2$[rsp]
|
||||
0014e 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
00151 0f 5c 01 subps xmm0, XMMWORD PTR [rcx]
|
||||
00154 48 8b 44 24 70 mov rax, QWORD PTR ret$[rsp]
|
||||
00159 0f 11 00 movups XMMWORD PTR [rax], xmm0
|
||||
|
||||
; 69 :
|
||||
; 70 : printf("%f\t%f\t%f\t%f\t\n",
|
||||
|
||||
0015c b8 04 00 00 00 mov eax, 4
|
||||
00161 48 6b c0 03 imul rax, rax, 3
|
||||
00165 48 8b 4c 24 70 mov rcx, QWORD PTR ret$[rsp]
|
||||
0016a f3 0f 5a 04 01 cvtss2sd xmm0, DWORD PTR [rcx+rax]
|
||||
0016f b8 04 00 00 00 mov eax, 4
|
||||
00174 48 6b c0 02 imul rax, rax, 2
|
||||
00178 48 8b 4c 24 70 mov rcx, QWORD PTR ret$[rsp]
|
||||
0017d f3 0f 5a 0c 01 cvtss2sd xmm1, DWORD PTR [rcx+rax]
|
||||
00182 b8 04 00 00 00 mov eax, 4
|
||||
00187 48 6b c0 01 imul rax, rax, 1
|
||||
0018b 48 8b 4c 24 70 mov rcx, QWORD PTR ret$[rsp]
|
||||
00190 f3 0f 5a 14 01 cvtss2sd xmm2, DWORD PTR [rcx+rax]
|
||||
00195 b8 04 00 00 00 mov eax, 4
|
||||
0019a 48 6b c0 00 imul rax, rax, 0
|
||||
0019e 48 8b 4c 24 70 mov rcx, QWORD PTR ret$[rsp]
|
||||
001a3 f3 0f 5a 1c 01 cvtss2sd xmm3, DWORD PTR [rcx+rax]
|
||||
001a8 f2 0f 11 5c 24
|
||||
40 movsd QWORD PTR tv166[rsp], xmm3
|
||||
001ae f2 0f 11 44 24
|
||||
20 movsd QWORD PTR [rsp+32], xmm0
|
||||
001b4 0f 28 d9 movaps xmm3, xmm1
|
||||
001b7 66 49 0f 7e d9 movq r9, xmm3
|
||||
001bc 66 49 0f 7e d0 movq r8, xmm2
|
||||
001c1 f2 0f 10 44 24
|
||||
40 movsd xmm0, QWORD PTR tv166[rsp]
|
||||
001c7 0f 28 c8 movaps xmm1, xmm0
|
||||
001ca 66 48 0f 7e ca movq rdx, xmm1
|
||||
001cf 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:$SG4294964022
|
||||
001d6 e8 00 00 00 00 call printf
|
||||
|
||||
; 71 : ret->m128_f32[0], ret->m128_f32[1], ret->m128_f32[2], ret->m128_f32[3]
|
||||
; 72 : );
|
||||
; 73 :
|
||||
; 74 : }
|
||||
|
||||
001db 48 83 c4 58 add rsp, 88 ; 00000058H
|
||||
001df c3 ret 0
|
||||
VecSubVec ENDP
|
||||
_TEXT ENDS
|
||||
; Function compile flags: /Odtp
|
||||
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
|
||||
; COMDAT VecMulVec
|
||||
_TEXT SEGMENT
|
||||
ptr1$ = 8
|
||||
ptr2$ = 16
|
||||
ret$ = 24
|
||||
VecMulVec PROC ; COMDAT
|
||||
|
||||
; 77 : {
|
||||
|
||||
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
||||
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
||||
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
||||
|
||||
; 78 : *ret = _mm_mul_ps(*ptr1, *ptr2);
|
||||
|
||||
0000f 48 8b 44 24 08 mov rax, QWORD PTR ptr1$[rsp]
|
||||
00014 48 8b 4c 24 10 mov rcx, QWORD PTR ptr2$[rsp]
|
||||
00019 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
0001c 0f 59 01 mulps xmm0, XMMWORD PTR [rcx]
|
||||
0001f 48 8b 44 24 18 mov rax, QWORD PTR ret$[rsp]
|
||||
00024 0f 11 00 movups XMMWORD PTR [rax], xmm0
|
||||
|
||||
; 79 : }
|
||||
|
||||
00027 c3 ret 0
|
||||
VecMulVec ENDP
|
||||
_TEXT ENDS
|
||||
END
|
||||
|
||||
Reference in New Issue
Block a user