user: 请从给定的汇编指令推导出C源代码：

```asm
<_show_help>:
  endbr64
  push   %rbx
  lea    D71(%rip),%rdi
  call   <puts@plt>
  lea    D261(%rip),%rbx
  mov    %rbx,%rsi
  lea    D237(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    %rbx,%rsi
  lea    D206(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    %rbx,%rsi
  lea    D269(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D47(%rip),%rdi
  call   <puts@plt>
  lea    D117(%rip),%rdi
  call   <puts@plt>
  lea    D170(%rip),%rdi
  call   <puts@plt>
  lea    D224(%rip),%rdi
  call   <puts@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D27(%rip),%rdi
  call   <puts@plt>
  lea    D29(%rip),%rdi
  call   <puts@plt>
  lea    D265(%rip),%rdi
  call   <puts@plt>
  lea    D102(%rip),%rdi
  call   <puts@plt>
  lea    D65(%rip),%rdi
  call   <puts@plt>
  lea    D171(%rip),%rdi
  call   <puts@plt>
  lea    D118(%rip),%rdi
  call   <puts@plt>
  lea    D108(%rip),%rdi
  call   <puts@plt>
  lea    D248(%rip),%rdi
  call   <puts@plt>
  lea    D263(%rip),%rdi
  call   <puts@plt>
  lea    D13(%rip),%rdi
  call   <puts@plt>
  lea    D64(%rip),%rdi
  call   <puts@plt>
  lea    D69(%rip),%rdi
  call   <puts@plt>
  lea    D212(%rip),%rdi
  call   <puts@plt>
  lea    D184(%rip),%rdi
  call   <puts@plt>
  lea    D49(%rip),%rdi
  call   <puts@plt>
  lea    D169(%rip),%rdi
  call   <puts@plt>
  lea    D258(%rip),%rdi
  call   <puts@plt>
  lea    D30(%rip),%rdi
  call   <puts@plt>
  lea    D157(%rip),%rdi
  call   <puts@plt>
  pop    %rbx
  ret
```

tool_calls: name: parse_data
arguments: label: D71
type: string
name: parse_data
arguments: label: D261
type: string
name: parse_data
arguments: label: D237
type: string
name: parse_data
arguments: label: D206
type: string
name: parse_data
arguments: label: D269
type: string
name: parse_data
arguments: label: D47
type: string
name: parse_data
arguments: label: D117
type: string
name: parse_data
arguments: label: D170
type: string
name: parse_data
arguments: label: D224
type: string
name: parse_data
arguments: label: D27
type: string
name: parse_data
arguments: label: D29
type: string
name: parse_data
arguments: label: D265
type: string
name: parse_data
arguments: label: D102
type: string
name: parse_data
arguments: label: D65
type: string
name: parse_data
arguments: label: D171
type: string
name: parse_data
arguments: label: D118
type: string
name: parse_data
arguments: label: D108
type: string
name: parse_data
arguments: label: D248
type: string
name: parse_data
arguments: label: D263
type: string
name: parse_data
arguments: label: D13
type: string
name: parse_data
arguments: label: D64
type: string
name: parse_data
arguments: label: D69
type: string
name: parse_data
arguments: label: D212
type: string
name: parse_data
arguments: label: D184
type: string
name: parse_data
arguments: label: D49
type: string
name: parse_data
arguments: label: D169
type: string
name: parse_data
arguments: label: D258
type: string
name: parse_data
arguments: label: D30
type: string
name: parse_data
arguments: label: D157
type: string

tool: D71: Modes:

tool: D261: my_basic_bin

tool: D237:   %s           - Launch interactive mode


tool: D206:   %s *.*       - Load and run a file


tool: D269:   %s -e "expr" - Evaluate an expression


tool: D47: Options:

tool: D117:   -h         - Show help information

tool: D170:   -p n       - Set memory pool threashold, n is size in bytes

tool: D224:   -f "dirs"  - Set importing directories, separated by ";" with more than one

tool: D27: Interactive commands:

tool: D29:   HELP  - View help information

tool: D265:   CLS   - Clear the screen

tool: D102:   NEW   - Clear the current program

tool: D65:   RUN   - Run the current program

tool: D171:   BYE   - Quit the interpreter

tool: D118:   LIST  - List the current program

tool: D108:           Usage: LIST [l [n]], l is start line number, n is line count

tool: D248:   EDIT  - Edit (modify/insert/remove) a line in current program

tool: D263:           Usage: EDIT n, n is line number

tool: D13:                  EDIT -i n, insert a line before a given line

tool: D64:                  EDIT -r n, remove a line

tool: D69:   LOAD  - Load a file to the current program

tool: D212:           Usage: LOAD *.*

tool: D184:   SAVE  - Save the current program to a file

tool: D49:           Usage: SAVE *.*

tool: D169:   KILL  - Delete a file

tool: D258:           Usage: KILL *.*

tool: D30:   DIR   - List all files in a directory

tool: D157:           Usage: DIR [p], p is a directory path

assistant: ```c
void _show_help(void) {
  printf("Modes:\n");
  printf("  %s           - Launch interactive mode\n", "my_basic_bin");
  printf("  %s *.*       - Load and run a file\n", "my_basic_bin");
  printf("  %s -e \"expr\" - Evaluate an expression\n", "my_basic_bin");
  printf("\n");
  printf("Options:\n");
  printf("  -h         - Show help information\n");
  printf("  -p n       - Set memory pool threashold, n is size in bytes\n");
  printf("  -f \"dirs\"  - Set importing directories, separated by \";\" with more than one\n");
  printf("\n");
  printf("Interactive commands:\n");
  printf("  HELP  - View help information\n");
  printf("  CLS   - Clear the screen\n");
  printf("  NEW   - Clear the current program\n");
  printf("  RUN   - Run the current program\n");
  printf("  BYE   - Quit the interpreter\n");
  printf("  LIST  - List the current program\n");
  printf("          Usage: LIST [l [n]], l is start line number, n is line count\n");
  printf("  EDIT  - Edit (modify/insert/remove) a line in current program\n");
  printf("          Usage: EDIT n, n is line number\n");
  printf("                 EDIT -i n, insert a line before a given line\n");
  printf("                 EDIT -r n, remove a line\n");
  printf("  LOAD  - Load a file to the current program\n");
  printf("          Usage: LOAD *.*\n");
  printf("  SAVE  - Save the current program to a file\n");
  printf("          Usage: SAVE *.*\n");
  printf("  KILL  - Delete a file\n");
  printf("          Usage: KILL *.*\n");
  printf("  DIR   - List all files in a directory\n");
  printf("          Usage: DIR [p], p is a directory path\n");
}
```