diff --git a/tests/output/inp.c_asm_output.asm b/tests/output/inp.c_asm_output.asm index 10df485..7949f1a 100644 --- a/tests/output/inp.c_asm_output.asm +++ b/tests/output/inp.c_asm_output.asm @@ -18,56 +18,58 @@ mov rax, 0 mov [rbp-16], rax ;end define variable i ; enter loop +jmp __tmp_label_2 __tmp_label_0: mov rax, rbp sub rax, 16 mov [rbp-24], rax +mov rax, rbp +sub rax, 16 +mov [rbp-32], rax +mov rax, [rbp-16] +mov rbx, 1 +add rax, rbx +mov [rbp-40], rax +mov rax, [rbp-16] +mov rbx, [rbp-40] +mov rax, [rbp-24] +mov [rax], rbx +mov rax, rbx +mov [rbp-48], rax +__tmp_label_2: +mov rax, rbp +sub rax, 16 +mov [rbp-56], rax mov rax, [rbp-16] mov rbx, 5 cmp rax, rbx -jl __tmp_label_2 +jl __tmp_label_3 mov rax, 0 -jmp __tmp_label_3 -__tmp_label_2: -mov rax, 1 +jmp __tmp_label_4 __tmp_label_3: -mov [rbp-40], rax -mov rax, [rbp-40] +mov rax, 1 +__tmp_label_4: +mov [rbp-72], rax +mov rax, [rbp-72] cmp rax, 0 je __tmp_label_1 ;define variable i mov rax, 2 -mov [rbp-48], rax +mov [rbp-80], rax ;end define variable i mov rax, __temp_str_0 -mov [rbp-56], rax +mov [rbp-88], rax mov rax, rbp -sub rax, 48 -mov [rbp-64], rax -mov rax, [rbp-48] -mov [rbp-72], rax -mov rdi, [rbp-56] -mov rsi, [rbp-72] +sub rax, 80 +mov [rbp-96], rax +mov rax, [rbp-80] +mov [rbp-104], rax +mov rdi, [rbp-88] +mov rsi, [rbp-104] mov rax, rbp sub rax, 8 -mov [rbp-80], rax +mov [rbp-112], rax call printf -mov rax, rbp -sub rax, 16 -mov [rbp-48], rax -mov rax, rbp -sub rax, 16 -mov [rbp-56], rax -mov rax, [rbp-16] -mov rbx, 1 -add rax, rbx -mov [rbp-64], rax -mov rax, [rbp-16] -mov rbx, [rbp-64] -mov rax, [rbp-48] -mov [rax], rbx -mov rax, rbx -mov [rbp-72], rax jmp __tmp_label_0 __tmp_label_1: ; exit loop diff --git a/tests/output/inp3.c_asm_output.asm b/tests/output/inp3.c_asm_output.asm index a531d40..d62b83f 100644 --- a/tests/output/inp3.c_asm_output.asm +++ b/tests/output/inp3.c_asm_output.asm @@ -707,60 +707,62 @@ mov rax, 0 mov [rbp-1026], rax ;end define variable i ; enter loop +jmp __tmp_label_22 __tmp_label_20: mov rax, rbp sub rax, 1026 mov [rbp-1034], rax +mov rax, rbp +sub rax, 1026 +mov [rbp-1042], rax +mov rax, [rbp-1026] +mov rbx, 1 +add rax, rbx +mov [rbp-1050], rax +mov rax, [rbp-1026] +mov rbx, [rbp-1050] +mov rax, [rbp-1034] +mov [rax], rbx +mov rax, rbx +mov [rbp-1058], rax +__tmp_label_22: +mov rax, rbp +sub rax, 1026 +mov [rbp-1066], rax mov rax, [rbp-1026] mov rbx, 20 cmp rax, rbx -jl __tmp_label_22 +jl __tmp_label_23 mov rax, 0 -jmp __tmp_label_23 -__tmp_label_22: -mov rax, 1 +jmp __tmp_label_24 __tmp_label_23: -mov [rbp-1050], rax -mov rax, [rbp-1050] +mov rax, 1 +__tmp_label_24: +mov [rbp-1082], rax +mov rax, [rbp-1082] cmp rax, 0 je __tmp_label_21 mov rax, __temp_str_25 -mov [rbp-1058], rax +mov [rbp-1090], rax mov rax, rbp sub rax, 1026 -mov [rbp-1066], rax +mov [rbp-1098], rax mov rax, [rbp-1026] -mov [rbp-1074], rax -mov rdi, [rbp-1074] +mov [rbp-1106], rax +mov rdi, [rbp-1106] mov rax, rbp sub rax, 8 -mov [rbp-1082], rax +mov [rbp-1114], rax call fibo -mov [rbp-1090], rax -mov rax, [rbp-1090] -mov [rbp-1098], rax -mov rdi, [rbp-1058] -mov rsi, [rbp-1098] +mov [rbp-1122], rax +mov rax, [rbp-1122] +mov [rbp-1130], rax +mov rdi, [rbp-1090] +mov rsi, [rbp-1130] mov rax, rbp sub rax, 8 -mov [rbp-1106], rax +mov [rbp-1138], rax call printf -mov rax, rbp -sub rax, 1026 -mov [rbp-1058], rax -mov rax, rbp -sub rax, 1026 -mov [rbp-1066], rax -mov rax, [rbp-1026] -mov rbx, 1 -add rax, rbx -mov [rbp-1074], rax -mov rax, [rbp-1026] -mov rbx, [rbp-1074] -mov rax, [rbp-1058] -mov [rax], rbx -mov rax, rbx -mov [rbp-1082], rax jmp __tmp_label_20 __tmp_label_21: ; exit loop @@ -776,50 +778,50 @@ mov [rbp-1042], rax mov rax, 1 mov rbx, 1 cmp rax, 0 -je __tmp_label_24 +je __tmp_label_25 mov rax, rbx -jmp __tmp_label_25 -__tmp_label_24: -mov rax, 0 +jmp __tmp_label_26 __tmp_label_25: -cmp rax, 0 -jne __tmp_label_26 -jmp __tmp_label_27 +mov rax, 0 __tmp_label_26: -mov rax, 1 +cmp rax, 0 +jne __tmp_label_27 +jmp __tmp_label_28 __tmp_label_27: +mov rax, 1 +__tmp_label_28: mov [rbp-1058], rax mov rax, 1 mov rbx, 1 cmp rax, 0 -je __tmp_label_28 +je __tmp_label_29 mov rax, rbx -jmp __tmp_label_29 -__tmp_label_28: -mov rax, 0 +jmp __tmp_label_30 __tmp_label_29: -cmp rax, 0 -jne __tmp_label_30 -jmp __tmp_label_31 +mov rax, 0 __tmp_label_30: -mov rax, 1 +cmp rax, 0 +jne __tmp_label_31 +jmp __tmp_label_32 __tmp_label_31: +mov rax, 1 +__tmp_label_32: mov [rbp-1074], rax mov rax, [rbp-1058] mov rbx, [rbp-1074] cmp rax, 0 -je __tmp_label_32 +je __tmp_label_33 mov rax, rbx -jmp __tmp_label_33 -__tmp_label_32: -mov rax, 0 +jmp __tmp_label_34 __tmp_label_33: -cmp rax, 0 -jne __tmp_label_34 -jmp __tmp_label_35 +mov rax, 0 __tmp_label_34: -mov rax, 1 +cmp rax, 0 +jne __tmp_label_35 +jmp __tmp_label_36 __tmp_label_35: +mov rax, 1 +__tmp_label_36: mov [rbp-1090], rax mov rax, [rbp-1090] mov [rbp-1098], rax diff --git a/tests/output/inp5.c_asm_output.asm b/tests/output/inp5.c_asm_output.asm index 64971c0..ed794a2 100644 --- a/tests/output/inp5.c_asm_output.asm +++ b/tests/output/inp5.c_asm_output.asm @@ -19,65 +19,67 @@ mov rax, 0 mov [rbp-24], rax ;end define variable i ; enter loop +jmp __tmp_label_2 __tmp_label_0: mov rax, rbp sub rax, 24 mov [rbp-32], rax +mov rax, [rbp-24] +mov rbx, 1 +add rax, rbx +mov rbx, [rbp-32] +mov [rbx], rax +mov [rbp-40], rax +__tmp_label_2: +mov rax, rbp +sub rax, 24 +mov [rbp-48], rax mov rax, rbp sub rax, 8 -mov [rbp-40], rax +mov [rbp-56], rax mov rax, [rbp-24] mov rbx, [rbp-8] cmp rax, rbx -jl __tmp_label_2 +jl __tmp_label_3 mov rax, 0 -jmp __tmp_label_3 -__tmp_label_2: -mov rax, 1 +jmp __tmp_label_4 __tmp_label_3: -mov [rbp-56], rax -mov rax, [rbp-56] +mov rax, 1 +__tmp_label_4: +mov [rbp-72], rax +mov rax, [rbp-72] cmp rax, 0 je __tmp_label_1 mov rax, __temp_str_0 -mov [rbp-64], rax +mov [rbp-80], rax mov rax, rbp sub rax, 24 -mov [rbp-72], rax +mov [rbp-88], rax mov rax, [rbp-24] -mov [rbp-80], rax +mov [rbp-96], rax mov rax, rbp sub rax, 16 -mov [rbp-88], rax +mov [rbp-104], rax mov rax, rbp sub rax, 24 -mov [rbp-96], rax +mov [rbp-112], rax mov rax, [rbp-24] mov rbx, 8 mul rbx mov rbx, [rbp-16] add rbx, rax -mov [rbp-104], rbx +mov [rbp-120], rbx mov rax, [rbx] -mov [rbp-112], rax -mov rax, [rbp-112] -mov [rbp-120], rax -mov rdi, [rbp-64] -mov rsi, [rbp-80] -mov rdx, [rbp-120] +mov [rbp-128], rax +mov rax, [rbp-128] +mov [rbp-136], rax +mov rdi, [rbp-80] +mov rsi, [rbp-96] +mov rdx, [rbp-136] mov rax, rbp sub rax, 8 -mov [rbp-128], rax +mov [rbp-144], rax call printf -mov rax, rbp -sub rax, 24 -mov [rbp-64], rax -mov rax, [rbp-24] -mov rbx, 1 -add rax, rbx -mov rbx, [rbp-64] -mov [rbx], rax -mov [rbp-72], rax jmp __tmp_label_0 __tmp_label_1: ; exit loop @@ -106,126 +108,130 @@ mov rax, 0 mov [rbp-72], rax ;end define variable i ; enter loop -__tmp_label_4: +jmp __tmp_label_7 +__tmp_label_5: mov rax, rbp sub rax, 72 mov [rbp-80], rax +mov rax, rbp +sub rax, 72 +mov [rbp-88], rax +mov rax, [rbp-72] +mov rbx, 1 +add rax, rbx +mov [rbp-96], rax +mov rax, [rbp-72] +mov rbx, [rbp-96] +mov rax, [rbp-80] +mov [rax], rbx +mov rax, rbx +mov [rbp-104], rax +__tmp_label_7: +mov rax, rbp +sub rax, 72 +mov [rbp-112], rax mov rax, [rbp-72] mov rbx, 10 cmp rax, rbx -jl __tmp_label_6 +jl __tmp_label_8 mov rax, 0 -jmp __tmp_label_7 -__tmp_label_6: +jmp __tmp_label_9 +__tmp_label_8: mov rax, 1 -__tmp_label_7: -mov [rbp-96], rax -mov rax, [rbp-96] +__tmp_label_9: +mov [rbp-128], rax +mov rax, [rbp-128] cmp rax, 0 -je __tmp_label_5 +je __tmp_label_6 mov rax, rbp sub rax, 24 -mov [rbp-104], rax +mov [rbp-136], rax mov rax, rbp sub rax, 72 -mov [rbp-112], rax +mov [rbp-144], rax mov rax, [rbp-72] mov rbx, 8 mul rbx mov rbx, [rbp-24] add rbx, rax -mov [rbp-120], rbx +mov [rbp-152], rbx mov rax, [rbx] -mov [rbp-128], rax +mov [rbp-160], rax mov rax, rbp sub rax, 72 -mov [rbp-136], rax +mov [rbp-168], rax mov rax, 2 mov rbx, [rbp-72] mul rbx -mov [rbp-144], rax -mov rax, [rbp-128] -mov rbx, [rbp-144] -mov rax, [rbp-120] -mov [rax], rbx -mov rax, rbx -mov [rbp-152], rax -mov rax, rbp -sub rax, 72 -mov [rbp-160], rax -mov rax, rbp -sub rax, 72 -mov [rbp-168], rax -mov rax, [rbp-72] -mov rbx, 1 -add rax, rbx mov [rbp-176], rax -mov rax, [rbp-72] -mov rbx, [rbp-176] mov rax, [rbp-160] +mov rbx, [rbp-176] +mov rax, [rbp-152] mov [rax], rbx mov rax, rbx mov [rbp-184], rax -jmp __tmp_label_4 -__tmp_label_5: +jmp __tmp_label_5 +__tmp_label_6: ; exit loop ;define variable i mov rax, 0 mov [rbp-72], rax ;end define variable i ; enter loop -__tmp_label_8: +jmp __tmp_label_12 +__tmp_label_10: mov rax, rbp sub rax, 72 mov [rbp-80], rax mov rax, [rbp-72] +mov rbx, 1 +add rax, rbx +mov rbx, [rbp-80] +mov [rbx], rax +mov [rbp-88], rax +__tmp_label_12: +mov rax, rbp +sub rax, 72 +mov [rbp-96], rax +mov rax, [rbp-72] mov rbx, 10 cmp rax, rbx -jl __tmp_label_10 +jl __tmp_label_13 mov rax, 0 -jmp __tmp_label_11 -__tmp_label_10: +jmp __tmp_label_14 +__tmp_label_13: mov rax, 1 -__tmp_label_11: -mov [rbp-96], rax -mov rax, [rbp-96] +__tmp_label_14: +mov [rbp-112], rax +mov rax, [rbp-112] cmp rax, 0 -je __tmp_label_9 +je __tmp_label_11 mov rax, __temp_str_1 -mov [rbp-104], rax +mov [rbp-120], rax mov rax, rbp sub rax, 24 -mov [rbp-112], rax +mov [rbp-128], rax mov rax, rbp sub rax, 72 -mov [rbp-120], rax +mov [rbp-136], rax mov rax, [rbp-72] mov rbx, 8 mul rbx mov rbx, [rbp-24] add rbx, rax -mov [rbp-128], rbx +mov [rbp-144], rbx mov rax, [rbx] -mov [rbp-136], rax -mov rax, [rbp-136] -mov [rbp-144], rax -mov rdi, [rbp-104] -mov rsi, [rbp-144] -mov rax, rbp -sub rax, 8 mov [rbp-152], rax -call printf -mov rax, rbp -sub rax, 72 +mov rax, [rbp-152] mov [rbp-160], rax -mov rax, [rbp-72] -mov rbx, 1 -add rax, rbx -mov rbx, [rbp-160] -mov [rbx], rax +mov rdi, [rbp-120] +mov rsi, [rbp-160] +mov rax, rbp +sub rax, 8 mov [rbp-168], rax -jmp __tmp_label_8 -__tmp_label_9: +call printf +jmp __tmp_label_10 +__tmp_label_11: ; exit loop mov rax, 1024 mov rbx, 8 diff --git a/tests/output/inp_func_ptrs.c_asm_output.asm b/tests/output/inp_func_ptrs.c_asm_output.asm index 893e2f8..88da779 100644 --- a/tests/output/inp_func_ptrs.c_asm_output.asm +++ b/tests/output/inp_func_ptrs.c_asm_output.asm @@ -157,84 +157,86 @@ mov rax, 0 mov [rbp-136], rax ;end define variable i ; enter loop +jmp __tmp_label_2 __tmp_label_0: +; postfix op apply mov rax, rbp sub rax, 136 mov [rbp-144], rax mov rax, [rbp-136] +mov [rbp-152], rax +add rax, 1 +mov rbx, [rbp-144] +mov [rbx], rax +; postfix op finish +__tmp_label_2: +mov rax, rbp +sub rax, 136 +mov [rbp-160], rax +mov rax, [rbp-136] mov rbx, 2 cmp rax, rbx -jl __tmp_label_2 +jl __tmp_label_3 mov rax, 0 -jmp __tmp_label_3 -__tmp_label_2: -mov rax, 1 +jmp __tmp_label_4 __tmp_label_3: -mov [rbp-160], rax -mov rax, [rbp-160] +mov rax, 1 +__tmp_label_4: +mov [rbp-176], rax +mov rax, [rbp-176] cmp rax, 0 je __tmp_label_1 mov rax, 10 -mov [rbp-176], rax +mov [rbp-192], rax mov rax, 20 -mov [rbp-184], rax +mov [rbp-200], rax mov rax, rbp sub rax, 8 -mov [rbp-192], rax +mov [rbp-208], rax mov rax, rbp sub rax, 136 -mov [rbp-200], rax +mov [rbp-216], rax mov rax, [rbp-136] mov rbx, 8 mul rbx mov rbx, [rbp-8] add rbx, rax -mov [rbp-208], rbx +mov [rbp-224], rbx mov rax, [rbx] -mov [rbp-216], rax -mov rax, [rbp-216] -mov [rbp-224], rax -mov rdi, [rbp-176] -mov rsi, [rbp-184] -mov rdx, [rbp-224] +mov [rbp-232], rax +mov rax, [rbp-232] +mov [rbp-240], rax +mov rdi, [rbp-192] +mov rsi, [rbp-200] +mov rdx, [rbp-240] mov rax, rbp sub rax, 8 -mov [rbp-232], rax +mov [rbp-248], rax call handle -mov [rbp-240], rax +mov [rbp-256], rax ;define variable res -mov rax, [rbp-240] -mov [rbp-168], rax +mov rax, [rbp-256] +mov [rbp-184], rax ;end define variable res mov rax, __temp_str_3 -mov [rbp-248], rax -mov rax, rbp -sub rax, 136 -mov [rbp-256], rax -mov rax, [rbp-136] mov [rbp-264], rax mov rax, rbp -sub rax, 168 +sub rax, 136 mov [rbp-272], rax -mov rax, [rbp-168] +mov rax, [rbp-136] mov [rbp-280], rax -mov rdi, [rbp-248] -mov rsi, [rbp-264] -mov rdx, [rbp-280] mov rax, rbp -sub rax, 8 +sub rax, 184 mov [rbp-288], rax -call printf -; postfix op apply +mov rax, [rbp-184] +mov [rbp-296], rax +mov rdi, [rbp-264] +mov rsi, [rbp-280] +mov rdx, [rbp-296] mov rax, rbp -sub rax, 136 -mov [rbp-168], rax -mov rax, [rbp-136] -mov [rbp-176], rax -add rax, 1 -mov rbx, [rbp-168] -mov [rbx], rax -; postfix op finish +sub rax, 8 +mov [rbp-304], rax +call printf jmp __tmp_label_0 __tmp_label_1: ; exit loop diff --git a/tests/output/inp_pointer.c_asm_output.asm b/tests/output/inp_pointer.c_asm_output.asm index 0ccda11..69021dc 100644 --- a/tests/output/inp_pointer.c_asm_output.asm +++ b/tests/output/inp_pointer.c_asm_output.asm @@ -43,63 +43,65 @@ mov rax, 0 mov [rbp-56], rax ;end define variable i ; enter loop +jmp __tmp_label_2 __tmp_label_0: mov rax, rbp sub rax, 56 mov [rbp-64], rax +mov rax, rbp +sub rax, 56 +mov [rbp-72], rax +mov rax, [rbp-56] +mov rbx, 1 +add rax, rbx +mov [rbp-80], rax +mov rax, [rbp-56] +mov rbx, [rbp-80] +mov rax, [rbp-64] +mov [rax], rbx +mov rax, rbx +mov [rbp-88], rax +__tmp_label_2: +mov rax, rbp +sub rax, 56 +mov [rbp-96], rax mov rax, [rbp-56] mov rbx, 10 cmp rax, rbx -jl __tmp_label_2 +jl __tmp_label_3 mov rax, 0 -jmp __tmp_label_3 -__tmp_label_2: -mov rax, 1 +jmp __tmp_label_4 __tmp_label_3: -mov [rbp-80], rax -mov rax, [rbp-80] +mov rax, 1 +__tmp_label_4: +mov [rbp-112], rax +mov rax, [rbp-112] cmp rax, 0 je __tmp_label_1 mov rax, rbp sub rax, 8 -mov [rbp-88], rax +mov [rbp-120], rax mov rax, rbp sub rax, 56 -mov [rbp-96], rax +mov [rbp-128], rax mov rax, [rbp-56] mov rbx, 8 mul rbx mov rbx, [rbp-8] add rbx, rax -mov [rbp-104], rbx +mov [rbp-136], rbx mov rax, [rbx] -mov [rbp-112], rax +mov [rbp-144], rax mov rax, rbp sub rax, 56 -mov [rbp-120], rax +mov [rbp-152], rax mov rax, 2 mov rbx, [rbp-56] mul rbx -mov [rbp-128], rax -mov rax, [rbp-112] -mov rbx, [rbp-128] -mov rax, [rbp-104] -mov [rax], rbx -mov rax, rbx -mov [rbp-136], rax -mov rax, rbp -sub rax, 56 -mov [rbp-144], rax -mov rax, rbp -sub rax, 56 -mov [rbp-152], rax -mov rax, [rbp-56] -mov rbx, 1 -add rax, rbx mov [rbp-160], rax -mov rax, [rbp-56] -mov rbx, [rbp-160] mov rax, [rbp-144] +mov rbx, [rbp-160] +mov rax, [rbp-136] mov [rax], rbx mov rax, rbx mov [rbp-168], rax @@ -135,7 +137,7 @@ mov rax, 0 mov [rbp-112], rax ;end define variable i ; enter loop -__tmp_label_4: +__tmp_label_5: ; postfix op apply mov rax, rbp sub rax, 112 @@ -149,16 +151,16 @@ mov [rbx], rax mov rax, [rbp-128] mov rbx, 10 cmp rax, rbx -jl __tmp_label_6 +jl __tmp_label_7 mov rax, 0 -jmp __tmp_label_7 -__tmp_label_6: -mov rax, 1 +jmp __tmp_label_8 __tmp_label_7: +mov rax, 1 +__tmp_label_8: mov [rbp-144], rax mov rax, [rbp-144] cmp rax, 0 -je __tmp_label_5 +je __tmp_label_6 mov rax, __temp_str_1 mov [rbp-152], rax ; postfix op apply @@ -183,8 +185,8 @@ mov rax, rbp sub rax, 8 mov [rbp-200], rax call printf -jmp __tmp_label_4 -__tmp_label_5: +jmp __tmp_label_5 +__tmp_label_6: ; exit loop mov rax, __temp_str_2 mov [rbp-152], rax @@ -732,16 +734,16 @@ mov [rbp-1178], rax mov rax, [rbp-1170] mov rbx, 0 cmp rax, rbx -je __tmp_label_8 +je __tmp_label_9 mov rax, 0 -jmp __tmp_label_9 -__tmp_label_8: -mov rax, 1 +jmp __tmp_label_10 __tmp_label_9: +mov rax, 1 +__tmp_label_10: mov [rbp-1194], rax mov rax, 0 cmp rax, [rbp-1194] -je __tmp_label_10 +je __tmp_label_11 mov rax, __temp_str_9 mov [rbp-1202], rax mov rdi, [rbp-1202] @@ -749,7 +751,7 @@ mov rax, rbp sub rax, 8 mov [rbp-1210], rax call printf -__tmp_label_10: +__tmp_label_11: mov rax, 0 mov rsp, rbp pop rbp diff --git a/tests/output/inp_unary_op.c_asm_output.asm b/tests/output/inp_unary_op.c_asm_output.asm index b6b980b..32d874c 100644 --- a/tests/output/inp_unary_op.c_asm_output.asm +++ b/tests/output/inp_unary_op.c_asm_output.asm @@ -200,46 +200,48 @@ mov rax, 0 mov [rbp-352], rax ;end define variable i ; enter loop +jmp __tmp_label_2 __tmp_label_0: +; postfix op apply mov rax, rbp sub rax, 352 mov [rbp-360], rax mov rax, [rbp-352] +mov [rbp-368], rax +add rax, 1 +mov rbx, [rbp-360] +mov [rbx], rax +; postfix op finish +__tmp_label_2: +mov rax, rbp +sub rax, 352 +mov [rbp-376], rax +mov rax, [rbp-352] mov rbx, 5 cmp rax, rbx -jl __tmp_label_2 +jl __tmp_label_3 mov rax, 0 -jmp __tmp_label_3 -__tmp_label_2: -mov rax, 1 +jmp __tmp_label_4 __tmp_label_3: -mov [rbp-376], rax -mov rax, [rbp-376] +mov rax, 1 +__tmp_label_4: +mov [rbp-392], rax +mov rax, [rbp-392] cmp rax, 0 je __tmp_label_1 mov rax, __temp_str_8 -mov [rbp-384], rax +mov [rbp-400], rax mov rax, rbp sub rax, 352 -mov [rbp-392], rax +mov [rbp-408], rax mov rax, [rbp-352] -mov [rbp-400], rax -mov rdi, [rbp-384] -mov rsi, [rbp-400] +mov [rbp-416], rax +mov rdi, [rbp-400] +mov rsi, [rbp-416] mov rax, rbp sub rax, 8 -mov [rbp-408], rax +mov [rbp-424], rax call printf -; postfix op apply -mov rax, rbp -sub rax, 352 -mov [rbp-384], rax -mov rax, [rbp-352] -mov [rbp-392], rax -add rax, 1 -mov rbx, [rbp-384] -mov [rbx], rax -; postfix op finish jmp __tmp_label_0 __tmp_label_1: ; exit loop