-
Notifications
You must be signed in to change notification settings - Fork 0
/
iter_step.s
62 lines (62 loc) · 1.22 KB
/
iter_step.s
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# step_by_one::iter_step:
push rbp
mov rbp, rsp
push r15
push r14
push rbx
push rax
mov r15, rsi
test rdx, rdx
je LBB2_1
mov rax, rdi
mov rcx, qword, ptr, [r15]
mov rsi, qword, ptr, [r15, +, 16]
lea rsi, [rcx, +, 4*rsi]
lea r8, [rdx, -, 1]
xor edi, edi
LBB2_4:
test dil, 1
je LBB2_5
mov rdi, rsi
sub rdi, rcx
shr rdi, 2
cmp rdi, r8
jbe LBB2_10
lea rbx, [rcx, +, 4*r8]
lea rcx, [rcx, +, 4*rdx]
mov dil, 1
test rbx, rbx
jne LBB2_4
jmp LBB2_10
LBB2_5:
cmp rsi, rcx
je LBB2_10
mov rbx, rcx
add rcx, 4
mov dil, 1
test rbx, rbx
jne LBB2_4
LBB2_10:
mov rcx, qword, ptr, [r15, +, 16]
mov qword, ptr, [rax, +, 16], rcx
mov rcx, qword, ptr, [r15]
mov rdx, qword, ptr, [r15, +, 8]
mov qword, ptr, [rax, +, 8], rdx
mov qword, ptr, [rax], rcx
add rsp, 8
pop rbx
pop r14
pop r15
pop rbp
ret
LBB2_1:
lea rdi, [rip, +, l_anon.143b0cc3f063c21495306b13c3ddb912.2]
call core::panicking::panic
ud2
LBB2_11:
mov r14, rax
mov rdi, r15
call core::ptr::real_drop_in_place
mov rdi, r14
call __Unwind_Resume
ud2