1                                 %line 1+1 cmdl_caller.asm
     2                                 
     3                                 
     4                                 
     5                                 [section .data]
     6                                 
     7                                 
     8                                 LF equ 10
     9                                 NULL equ 0
    10                                 TRUE equ 1
    11                                 FALSE equ 0
    12                                 EXIT_SUCCESS equ 0
    13                                 STDIN equ 0
    14                                 STDOUT equ 1
    15                                 STDERR equ 2
    16                                 SYS_read equ 0
    17                                 SYS_write equ 1
    18                                 SYS_open equ 2
    19                                 SYS_close equ 3
    20                                 SYS_fork equ 57
    21                                 SYS_exit equ 60
    22                                 SYS_creat equ 85
    23                                 SYS_time equ 201
    24                                 
    25                                 
    26                                 
    27 00000000 0A00                   new_line db LF, NULL
    28                                 
    29                                 [extern print_string]
    30                                 [section .text]
    31                                 [global main]
    32                                 main:
    33                                 
    34                                 
    35                                 
    36                                 
    37 00000000 4989FC                 mov r12, rdi
    38 00000003 4989F5                 mov r13, rsi
    39                                 
    40                                 
    41                                 
    42                                 
    43                                 
    44                                 print_arguments:
    45 00000006 48C7C7[00000000]       mov rdi, new_line
    46 0000000D E8(F6FFFFFF)           call print_string
    47                                 
    48 00000012 48C7C300000000         mov rbx, 0
    49                                 
    50                                 print_loop:
    51 00000019 498B7CDD00             mov rdi, qword[r13+rbx*8]
    52 0000001E E8(F6FFFFFF)           call print_string
    53                                 
    54 00000023 48C7C7[00000000]       mov rdi, new_line
    55 0000002A E8(F6FFFFFF)           call print_string
    56                                 
    57 0000002F 48FFC3                 inc rbx
    58 00000032 4C39E3                 cmp rbx, r12
    59 00000035 7CE0                   jl print_loop
    60                                 
    61                                 FINITO:
    62 00000037 48C7C03C000000         mov rax, SYS_exit
    63 0000003E 48C7C700000000         mov rdi, EXIT_SUCCESS
    64 00000045 0F05                   syscall
    65                                 
    66                                 
    67                                 
    68                                 
    69                                 
    70                                 
    71                                 
    72                                 
    73                                 
    74                                 
    75                                 
    76                                 
    77                                 
    78                                 
    79                                 
    80                                 
    81                                 
    82                                 
    83                                 
    84                                 
    85                                 
    86                                 
    87                                 
    88                                 
    89                                 
    90                                 
    91                                 
    92                                 
    93                                 
    94                                 
    95                                 
    96                                 
    97                                 
    98                                 
    99                                 
   100                                 
   101                                 
   102                                 
   103                                 
   104                                 
   105                                 
   106                                 
   107                                 
   108                                 
   109                                 
   110                                 
   111