TDL/Source/Furutaka/output/x64/Release/asmlist/u64tostr.asm

167 lines
2.9 KiB
NASM

; Listing generated by Microsoft (R) Optimizing Compiler Version 19.28.29335.0
include listing.inc
INCLUDELIB LIBCMT
INCLUDELIB OLDNAMES
PUBLIC u64tostr_a
PUBLIC u64tostr_w
; COMDAT pdata
pdata SEGMENT
$pdata$u64tostr_a DD imagerel $LN19
DD imagerel $LN19+123
DD imagerel $unwind$u64tostr_a
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$u64tostr_w DD imagerel $LN19
DD imagerel $LN19+161
DD imagerel $unwind$u64tostr_w
pdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$u64tostr_w DD 060f01H
DD 03740fH
DD 02640aH
DD 013405H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$u64tostr_a DD 020501H
DD 013405H
xdata ENDS
; Function compile flags: /Ogspy
; COMDAT u64tostr_w
_TEXT SEGMENT
x$ = 8
s$ = 16
u64tostr_w PROC ; COMDAT
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\u64tostr.c
; Line 26
$LN19:
mov QWORD PTR [rsp+8], rbx
mov QWORD PTR [rsp+16], rsi
mov QWORD PTR [rsp+24], rdi
mov r10, rdx
; Line 27
mov rdx, rcx
mov r9, rcx
; Line 30
mov rsi, -3689348814741910323 ; cccccccccccccccdH
mov r8d, 1
cmp rcx, 10
jb SHORT $LN3@u64tostr_w
$LL2@u64tostr_w:
; Line 31
mov rax, rsi
; Line 32
inc r8
mul rdx
shr rdx, 3
cmp rdx, 10
jae SHORT $LL2@u64tostr_w
$LN3@u64tostr_w:
; Line 35
xor edi, edi
test r10, r10
je SHORT $LN17@u64tostr_w
; Line 38
mov r11, r8
test r8, r8
je SHORT $LN5@u64tostr_w
lea rbx, QWORD PTR [r10-2]
lea rbx, QWORD PTR [rbx+r8*2]
$LL6@u64tostr_w:
; Line 39
mov rax, rsi
mul r9
shr rdx, 3
movzx eax, dx
shl ax, 2
lea ecx, DWORD PTR [rax+rdx]
add cx, cx
sub r9w, cx
add r9w, 48 ; 00000030H
mov WORD PTR [rbx], r9w
; Line 40
mov r9, rdx
lea rbx, QWORD PTR [rbx-2]
sub r11, 1
jne SHORT $LL6@u64tostr_w
$LN5@u64tostr_w:
; Line 43
mov WORD PTR [r10+r8*2], di
$LN17@u64tostr_w:
; Line 45
mov rbx, QWORD PTR [rsp+8]
mov rax, r8
mov rsi, QWORD PTR [rsp+16]
mov rdi, QWORD PTR [rsp+24]
ret 0
u64tostr_w ENDP
_TEXT ENDS
; Function compile flags: /Ogspy
; COMDAT u64tostr_a
_TEXT SEGMENT
x$ = 8
s$ = 16
u64tostr_a PROC ; COMDAT
; File J:\Workspace\drivers\TDL\Source\Furutaka\minirtl\u64tostr.c
; Line 4
$LN19:
mov QWORD PTR [rsp+8], rbx
mov r10, rdx
; Line 5
mov rdx, rcx
mov r9, rcx
; Line 8
mov rbx, -3689348814741910323 ; cccccccccccccccdH
mov r8d, 1
cmp rcx, 10
jb SHORT $LN3@u64tostr_a
$LL2@u64tostr_a:
; Line 9
mov rax, rbx
; Line 10
inc r8
mul rdx
shr rdx, 3
cmp rdx, 10
jae SHORT $LL2@u64tostr_a
$LN3@u64tostr_a:
; Line 13
test r10, r10
je SHORT $LN17@u64tostr_a
; Line 16
mov r11, r8
test r8, r8
je SHORT $LN5@u64tostr_a
$LL6@u64tostr_a:
; Line 17
mov rax, rbx
mul r9
shr rdx, 3
mov al, dl
shl al, 2
lea ecx, DWORD PTR [rax+rdx]
add cl, cl
sub r9b, cl
add r9b, 48 ; 00000030H
mov BYTE PTR [r10+r11-1], r9b
; Line 18
mov r9, rdx
sub r11, 1
jne SHORT $LL6@u64tostr_a
$LN5@u64tostr_a:
; Line 21
mov BYTE PTR [r8+r10], 0
$LN17@u64tostr_a:
; Line 23
mov rbx, QWORD PTR [rsp+8]
mov rax, r8
ret 0
u64tostr_a ENDP
_TEXT ENDS
END