user: Demonstrate the C code that generates the assembly output below:

```asm
<help>:
  endbr64
  sub    $0x8,%rsp
  lea    D48(%rip),%rdi
  call   <printf@plt>
  lea    D115(%rip),%rdi
  call   <printf@plt>
  lea    D30(%rip),%rdi
  call   <printf@plt>
  lea    D37(%rip),%rdi
  call   <printf@plt>
  lea    D16(%rip),%rdi
  call   <printf@plt>
  lea    D23(%rip),%rdi
  call   <printf@plt>
  lea    D71(%rip),%rdi
  call   <printf@plt>
  lea    D45(%rip),%rdi
  call   <printf@plt>
  lea    D7(%rip),%rdi
  call   <printf@plt>
  lea    D70(%rip),%rdi
  call   <printf@plt>
  lea    D91(%rip),%rdi
  call   <printf@plt>
  lea    D39(%rip),%rdi
  call   <printf@plt>
  lea    D87(%rip),%rdi
  call   <printf@plt>
  mov    $0x1,%edi
  call   <exit@plt>
  add    $0x8,%rsp
  ret
```

tool_calls: name: read_data
arguments: label: D48
data_type: string
name: read_data
arguments: label: D115
data_type: string
name: read_data
arguments: label: D30
data_type: string
name: read_data
arguments: label: D37
data_type: string
name: read_data
arguments: label: D16
data_type: string
name: read_data
arguments: label: D23
data_type: string
name: read_data
arguments: label: D71
data_type: string
name: read_data
arguments: label: D45
data_type: string
name: read_data
arguments: label: D7
data_type: string
name: read_data
arguments: label: D70
data_type: string
name: read_data
arguments: label: D91
data_type: string
name: read_data
arguments: label: D39
data_type: string
name: read_data
arguments: label: D87
data_type: string

tool: D48: 
*****************************


tool: D115: Help Screen:


tool: D30: 	Sndplay


tool: D37: *****************************


tool: D16: 	Supported Switches:

tool: D23: -h (help), -w (output wav file instead of cs229), 
	-o filename (output to specified filename, otherwise stdout)

tool: D71: --mute n (mutes the instrument number n), --bits n (specify the bitdepth), 
	--sr n (sets the samplerate to n)

tool: D45: 
	Sndplay takes a .abc229 file in as a command line argument (ONLY ONE) and creates a sound file conforming to those specs.


tool: D7: 	Ensure all files are in the same directory if using relative path, otherwise use absolute.


tool: D70: 	This program will exit after writing the new sound file conforming to the user specified .abc229 file.


tool: D91: 	This program supports writing to stdout (by not using the -o switch) but does not read from stdin.


tool: D39: 
Please view the README file for more detailed information.
Written by Michael Johnson.



tool: D87: 
*****************************



assistant: ```c
void help() {
  printf("\n*****************************\n");
  printf("Help Screen:\n");
  printf("\tSndplay\n");
  printf("*****************************\n");
  printf("\tSupported Switches:");
  printf("-h (help), -w (output wav file instead of cs229), \n\t-o filename (output to specified filename, otherwise stdout)");
  printf("--mute n (mutes the instrument number n), --bits n (specify the bitdepth), \n\t--sr n (sets the samplerate to n)");
  printf("\n\tSndplay takes a .abc229 file in as a command line argument (ONLY ONE) and creates a sound file conforming to those specs.\n");
  printf("\tEnsure all files are in the same directory if using relative path, otherwise use absolute.\n");
  printf("\tThis program will exit after writing the new sound file conforming to the user specified .abc229 file.\n");
  printf("\tThis program supports writing to stdout (by not using the -o switch) but does not read from stdin.\n");
  printf("\nPlease view the README file for more detailed information.\nWritten by Michael Johnson.\n\n");
  printf("\n*****************************\n\n");
  exit(1);
}
```