# The code section of the assembly file .text .globl basic_main basic_main: # The main() function push %rbp movq %rsp, %rbp subq $0xd0, %rsp movq $0xffffffffffffffec, %rdi movq %rdi, -0x8(%rbp) movq $0xfffffffffffffff6, %rdi movq %rdi, -0x10(%rbp) movq $0x0, %rdi movq %rdi, -0x18(%rbp) movq $0xa, %rdi movq %rdi, -0x20(%rbp) movq $0x14, %rdi movq %rdi, -0x28(%rbp) movq $0x1e, %rdi movq %rdi, -0x30(%rbp) movq $0x28, %rdi movq %rdi, -0x38(%rbp) movq $0x32, %rdi movq %rdi, -0x40(%rbp) movq -0x20(%rbp), %rdi push %rdi movq -0x28(%rbp), %rdi cmp (%rsp), %rdi jg IF_0 jmp END_IF_1 IF_0: movq $0x1, %rdi callq print_int END_IF_1: WHILE_2: movq -0x20(%rbp), %rdi push %rdi movq -0x28(%rbp), %rdi cmp (%rsp), %rdi jg END_WHILE_3 movq $0x1, %rdi callq print_int jmp WHILE_2 END_WHILE_3: movq -0x20(%rbp), %rdi push %rdi movq -0x28(%rbp), %rdi cmp (%rsp), %rdi je IF_4 jmp END_IF_5 IF_4: movq $0x2, %rdi callq print_int END_IF_5: WHILE_6: movq -0x20(%rbp), %rdi push %rdi movq -0x28(%rbp), %rdi cmp (%rsp), %rdi je END_WHILE_7 movq $0x2, %rdi callq print_int jmp WHILE_6 END_WHILE_7: movq -0x20(%rbp), %rdi push %rdi movq -0x28(%rbp), %rdi cmp (%rsp), %rdi jl IF_8 jmp END_IF_9 IF_8: movq $0x3, %rdi callq print_int END_IF_9: WHILE_10: movq -0x20(%rbp), %rdi push %rdi movq -0x28(%rbp), %rdi cmp (%rsp), %rdi jl END_WHILE_11 movq $0x3, %rdi callq print_int jmp WHILE_10 END_WHILE_11: movq -0x40(%rbp), %rdi push %rdi movq -0x40(%rbp), %rdi cmp (%rsp), %rdi jg IF_12 jmp END_IF_13 IF_12: movq $0x4, %rdi callq print_int END_IF_13: WHILE_14: movq -0x40(%rbp), %rdi push %rdi movq -0x40(%rbp), %rdi cmp (%rsp), %rdi jg END_WHILE_15 movq $0x4, %rdi callq print_int jmp WHILE_14 END_WHILE_15: movq -0x40(%rbp), %rdi push %rdi movq -0x40(%rbp), %rdi cmp (%rsp), %rdi je IF_16 jmp END_IF_17 IF_16: movq $0x5, %rdi callq print_int END_IF_17: WHILE_18: movq -0x40(%rbp), %rdi push %rdi movq -0x40(%rbp), %rdi cmp (%rsp), %rdi je END_WHILE_19 movq $0x5, %rdi callq print_int jmp WHILE_18 END_WHILE_19: movq -0x40(%rbp), %rdi push %rdi movq -0x40(%rbp), %rdi cmp (%rsp), %rdi jl IF_20 jmp END_IF_21 IF_20: movq $0x6, %rdi callq print_int END_IF_21: WHILE_22: movq -0x40(%rbp), %rdi push %rdi movq -0x40(%rbp), %rdi cmp (%rsp), %rdi jl END_WHILE_23 movq $0x6, %rdi callq print_int jmp WHILE_22 END_WHILE_23: movq -0x38(%rbp), %rdi push %rdi movq -0x30(%rbp), %rdi cmp (%rsp), %rdi jg IF_24 jmp END_IF_25 IF_24: movq $0x7, %rdi callq print_int END_IF_25: WHILE_26: movq -0x38(%rbp), %rdi push %rdi movq -0x30(%rbp), %rdi cmp (%rsp), %rdi jg END_WHILE_27 movq $0x7, %rdi callq print_int jmp WHILE_26 END_WHILE_27: movq -0x38(%rbp), %rdi push %rdi movq -0x30(%rbp), %rdi cmp (%rsp), %rdi je IF_28 jmp END_IF_29 IF_28: movq $0x8, %rdi callq print_int END_IF_29: WHILE_30: movq -0x38(%rbp), %rdi push %rdi movq -0x30(%rbp), %rdi cmp (%rsp), %rdi je END_WHILE_31 movq $0x8, %rdi callq print_int jmp WHILE_30 END_WHILE_31: movq -0x38(%rbp), %rdi push %rdi movq -0x30(%rbp), %rdi cmp (%rsp), %rdi jl IF_32 jmp END_IF_33 IF_32: movq $0x9, %rdi callq print_int END_IF_33: WHILE_34: movq -0x38(%rbp), %rdi push %rdi movq -0x30(%rbp), %rdi cmp (%rsp), %rdi jl END_WHILE_35 movq $0x9, %rdi callq print_int jmp WHILE_34 END_WHILE_35: movq -0x8(%rbp), %rdi push %rdi movq -0x20(%rbp), %rdi cmp (%rsp), %rdi jg IF_36 jmp END_IF_37 IF_36: movq $0xa, %rdi callq print_int END_IF_37: WHILE_38: movq -0x8(%rbp), %rdi push %rdi movq -0x20(%rbp), %rdi cmp (%rsp), %rdi jg END_WHILE_39 movq $0xa, %rdi callq print_int jmp WHILE_38 END_WHILE_39: movq -0x8(%rbp), %rdi push %rdi movq -0x20(%rbp), %rdi cmp (%rsp), %rdi je IF_40 jmp END_IF_41 IF_40: movq $0xb, %rdi callq print_int END_IF_41: WHILE_42: movq -0x8(%rbp), %rdi push %rdi movq -0x20(%rbp), %rdi cmp (%rsp), %rdi je END_WHILE_43 movq $0xb, %rdi callq print_int jmp WHILE_42 END_WHILE_43: movq -0x8(%rbp), %rdi push %rdi movq -0x20(%rbp), %rdi cmp (%rsp), %rdi jl IF_44 jmp END_IF_45 IF_44: movq $0xc, %rdi callq print_int END_IF_45: WHILE_46: movq -0x8(%rbp), %rdi push %rdi movq -0x20(%rbp), %rdi cmp (%rsp), %rdi jl END_WHILE_47 movq $0xc, %rdi callq print_int jmp WHILE_46 END_WHILE_47: movq -0x30(%rbp), %rdi push %rdi movq -0x8(%rbp), %rdi cmp (%rsp), %rdi jg IF_48 jmp END_IF_49 IF_48: movq $0xd, %rdi callq print_int END_IF_49: WHILE_50: movq -0x30(%rbp), %rdi push %rdi movq -0x8(%rbp), %rdi cmp (%rsp), %rdi jg END_WHILE_51 movq $0xd, %rdi callq print_int jmp WHILE_50 END_WHILE_51: movq -0x30(%rbp), %rdi push %rdi movq -0x8(%rbp), %rdi cmp (%rsp), %rdi je IF_52 jmp END_IF_53 IF_52: movq $0xe, %rdi callq print_int END_IF_53: WHILE_54: movq -0x30(%rbp), %rdi push %rdi movq -0x8(%rbp), %rdi cmp (%rsp), %rdi je END_WHILE_55 movq $0xe, %rdi callq print_int jmp WHILE_54 END_WHILE_55: movq -0x30(%rbp), %rdi push %rdi movq -0x8(%rbp), %rdi cmp (%rsp), %rdi jl IF_56 jmp END_IF_57 IF_56: movq $0xf, %rdi callq print_int END_IF_57: WHILE_58: movq -0x30(%rbp), %rdi push %rdi movq -0x8(%rbp), %rdi cmp (%rsp), %rdi jl END_WHILE_59 movq $0xf, %rdi callq print_int jmp WHILE_58 END_WHILE_59: movq -0x8(%rbp), %rdi push %rdi movq -0x10(%rbp), %rdi cmp (%rsp), %rdi jg IF_60 jmp END_IF_61 IF_60: movq $0x10, %rdi callq print_int END_IF_61: WHILE_62: movq -0x8(%rbp), %rdi push %rdi movq -0x10(%rbp), %rdi cmp (%rsp), %rdi jg END_WHILE_63 movq $0x10, %rdi callq print_int jmp WHILE_62 END_WHILE_63: movq -0x8(%rbp), %rdi push %rdi movq -0x10(%rbp), %rdi cmp (%rsp), %rdi je IF_64 jmp END_IF_65 IF_64: movq $0x11, %rdi callq print_int END_IF_65: WHILE_66: movq -0x8(%rbp), %rdi push %rdi movq -0x10(%rbp), %rdi cmp (%rsp), %rdi je END_WHILE_67 movq $0x11, %rdi callq print_int jmp WHILE_66 END_WHILE_67: movq -0x8(%rbp), %rdi push %rdi movq -0x10(%rbp), %rdi cmp (%rsp), %rdi jl IF_68 jmp END_IF_69 IF_68: movq $0x12, %rdi callq print_int END_IF_69: WHILE_70: movq -0x8(%rbp), %rdi push %rdi movq -0x10(%rbp), %rdi cmp (%rsp), %rdi jl END_WHILE_71 movq $0x12, %rdi callq print_int jmp WHILE_70 END_WHILE_71: movq -0x10(%rbp), %rdi push %rdi movq -0x8(%rbp), %rdi cmp (%rsp), %rdi jg IF_72 jmp END_IF_73 IF_72: movq $0x13, %rdi callq print_int END_IF_73: WHILE_74: movq -0x10(%rbp), %rdi push %rdi movq -0x8(%rbp), %rdi cmp (%rsp), %rdi jg END_WHILE_75 movq $0x13, %rdi callq print_int jmp WHILE_74 END_WHILE_75: movq -0x10(%rbp), %rdi push %rdi movq -0x8(%rbp), %rdi cmp (%rsp), %rdi je IF_76 jmp END_IF_77 IF_76: movq $0x14, %rdi callq print_int END_IF_77: WHILE_78: movq -0x10(%rbp), %rdi push %rdi movq -0x8(%rbp), %rdi cmp (%rsp), %rdi je END_WHILE_79 movq $0x14, %rdi callq print_int jmp WHILE_78 END_WHILE_79: movq -0x10(%rbp), %rdi push %rdi movq -0x8(%rbp), %rdi cmp (%rsp), %rdi jl IF_80 jmp END_IF_81 IF_80: movq $0x15, %rdi callq print_int END_IF_81: WHILE_82: movq -0x10(%rbp), %rdi push %rdi movq -0x8(%rbp), %rdi cmp (%rsp), %rdi jl END_WHILE_83 movq $0x15, %rdi callq print_int jmp WHILE_82 END_WHILE_83: movq -0x10(%rbp), %rdi push %rdi movq -0x10(%rbp), %rdi cmp (%rsp), %rdi jg IF_84 jmp END_IF_85 IF_84: movq $0x16, %rdi callq print_int END_IF_85: WHILE_86: movq -0x10(%rbp), %rdi push %rdi movq -0x10(%rbp), %rdi cmp (%rsp), %rdi jg END_WHILE_87 movq $0x16, %rdi callq print_int jmp WHILE_86 END_WHILE_87: movq -0x10(%rbp), %rdi push %rdi movq -0x10(%rbp), %rdi cmp (%rsp), %rdi je IF_88 jmp END_IF_89 IF_88: movq $0x17, %rdi callq print_int END_IF_89: WHILE_90: movq -0x10(%rbp), %rdi push %rdi movq -0x10(%rbp), %rdi cmp (%rsp), %rdi je END_WHILE_91 movq $0x17, %rdi callq print_int jmp WHILE_90 END_WHILE_91: movq -0x10(%rbp), %rdi push %rdi movq -0x10(%rbp), %rdi cmp (%rsp), %rdi jl IF_92 jmp END_IF_93 IF_92: movq $0x18, %rdi callq print_int END_IF_93: WHILE_94: movq -0x10(%rbp), %rdi push %rdi movq -0x10(%rbp), %rdi cmp (%rsp), %rdi jl END_WHILE_95 movq $0x18, %rdi callq print_int jmp WHILE_94 END_WHILE_95: movq %rbp, %rsp pop %rbp ret