user: Converte this assembly snippet into its equivalent C code:

```asm
<displayHelp>:
  endbr64
  sub    $0x8,%rsp
  lea    D9(%rip),%rsi
  lea    D54(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D23(%rip),%rdi
  call   <puts@plt>
  lea    D110(%rip),%rdi
  call   <puts@plt>
  lea    D3(%rip),%rdi
  call   <puts@plt>
  lea    D38(%rip),%rdi
  call   <puts@plt>
  lea    D122(%rip),%rdi
  call   <puts@plt>
  mov    $0x800,%esi
  lea    D132(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x800,%esi
  lea    D56(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D113(%rip),%rdi
  call   <puts@plt>
  lea    D91(%rip),%rdi
  call   <puts@plt>
  lea    D95(%rip),%rdi
  call   <puts@plt>
  lea    D42(%rip),%rdi
  call   <puts@plt>
  lea    D111(%rip),%rdi
  call   <puts@plt>
  add    $0x8,%rsp
  ret
```

tool_calls: name: parse_data
arguments: data_label: D9
datatype: string
name: parse_data
arguments: data_label: D54
datatype: string
name: parse_data
arguments: data_label: D23
datatype: string
name: parse_data
arguments: data_label: D110
datatype: string
name: parse_data
arguments: data_label: D3
datatype: string
name: parse_data
arguments: data_label: D38
datatype: string
name: parse_data
arguments: data_label: D122
datatype: string
name: parse_data
arguments: data_label: D132
datatype: string
name: parse_data
arguments: data_label: D56
datatype: string
name: parse_data
arguments: data_label: D113
datatype: string
name: parse_data
arguments: data_label: D91
datatype: string
name: parse_data
arguments: data_label: D95
datatype: string
name: parse_data
arguments: data_label: D42
datatype: string
name: parse_data
arguments: data_label: D111
datatype: string

tool: D9: 0.1

tool: D54: Epiphany BASIC version %s


tool: D23: ebasic [arguments] filename

Where filename is the source code to execute by default on all cores

Arguments
--------

tool: D110: -c placement   Specify core placement; can be a single id, all, a range (a:b) or a list (a,b,c,d)

tool: D3: -d processes   Specify number of process on the device

tool: D38: -h processes   Specify number of process on the host

tool: D122: -t             Display core run timing information

tool: D132: -codecore      Placement code on each core (default up to %d bytes length)


tool: D56: -codeshared    Placement code in shared memory (automatic after %d bytes in length)


tool: D113: -datashared    Data (arrays and strings) stored in shared memory, storage on core is default

tool: D91: -s             Display parse statistics

tool: D95: -o filename    Write out the compiled byte representation of processed BASIC code and exits (does not run code)

tool: D42: -l filename    Loads from compiled byte representation of code and runs this

tool: D111: -help          Display this help and quit

assistant: ```c
void displayHelp() {
  printf("Epiphany BASIC version %s\n", "0.1");
  printf("ebasic [arguments] filename\n\nWhere filename is the source code to execute by default on all cores\n\nArguments\n--------\n");
  printf("-c placement   Specify core placement; can be a single id, all, a range (a:b) or a list (a,b,c,d)\n");
  printf("-d processes   Specify number of process on the device\n");
  printf("-h processes   Specify number of process on the host\n");
  printf("-t             Display core run timing information\n");
  printf("-codecore      Placement code on each core (default up to %d bytes length)\n", 2048);
  printf("-codeshared    Placement code in shared memory (automatic after %d bytes in length)\n", 2048);
  printf("-datashared    Data (arrays and strings) stored in shared memory, storage on core is default\n");
  printf("-s             Display parse statistics\n");
  printf("-o filename    Write out the compiled byte representation of processed BASIC code and exits (does not run code)\n");
  printf("-l filename    Loads from compiled byte representation of code and runs this\n");
  printf("-help          Display this help and quit\n");
}
```