user: 请显示与下面列出的汇编代码相匹配的C语言实现：

```asm
<show_help>:
  endbr64
  sub    $0x8,%rsp
  mov    %rdi,%rsi
  lea    D5(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  lea    D312(%rip),%rdi
  call   <puts@plt>
  lea    D115(%rip),%rdi
  call   <puts@plt>
  lea    D213(%rip),%rdi
  call   <puts@plt>
  lea    D164(%rip),%rdi
  call   <puts@plt>
  lea    D24(%rip),%rdi
  call   <puts@plt>
  lea    D313(%rip),%rdi
  call   <puts@plt>
  lea    D210(%rip),%rdi
  call   <puts@plt>
  lea    D32(%rip),%rdi
  call   <puts@plt>
  lea    D51(%rip),%rdi
  call   <puts@plt>
  lea    D227(%rip),%rdi
  call   <puts@plt>
  lea    D253(%rip),%rdi
  call   <puts@plt>
  lea    D2(%rip),%rdi
  call   <puts@plt>
  lea    D239(%rip),%rdi
  call   <puts@plt>
  lea    D79(%rip),%rdi
  call   <puts@plt>
  lea    D8(%rip),%rdi
  call   <puts@plt>
  lea    D143(%rip),%rdi
  call   <puts@plt>
  lea    D278(%rip),%rdi
  call   <puts@plt>
  lea    D180(%rip),%rdi
  call   <puts@plt>
  lea    D20(%rip),%rdi
  call   <puts@plt>
  lea    D144(%rip),%rdi
  call   <puts@plt>
  lea    D141(%rip),%rdi
  call   <puts@plt>
  lea    D124(%rip),%rdi
  call   <puts@plt>
  lea    D58(%rip),%rdi
  call   <puts@plt>
  lea    D217(%rip),%rdi
  call   <puts@plt>
  lea    D127(%rip),%rdi
  call   <puts@plt>
  lea    D232(%rip),%rdi
  call   <puts@plt>
  lea    D276(%rip),%rdi
  call   <puts@plt>
  lea    D63(%rip),%rdi
  call   <puts@plt>
  lea    D287(%rip),%rdi
  call   <puts@plt>
  lea    D250(%rip),%rdi
  call   <puts@plt>
  lea    D176(%rip),%rdi
  call   <puts@plt>
  lea    D310(%rip),%rdi
  add    $0x8,%rsp
  jmp    1060 <puts@plt>
```

tool_calls: name: read_data
arguments: tag: D5
type_infered: string
name: read_data
arguments: tag: D312
type_infered: string
name: read_data
arguments: tag: D115
type_infered: string
name: read_data
arguments: tag: D213
type_infered: string
name: read_data
arguments: tag: D164
type_infered: string
name: read_data
arguments: tag: D24
type_infered: string
name: read_data
arguments: tag: D313
type_infered: string
name: read_data
arguments: tag: D210
type_infered: string
name: read_data
arguments: tag: D32
type_infered: string
name: read_data
arguments: tag: D51
type_infered: string
name: read_data
arguments: tag: D227
type_infered: string
name: read_data
arguments: tag: D253
type_infered: string
name: read_data
arguments: tag: D2
type_infered: string
name: read_data
arguments: tag: D239
type_infered: string
name: read_data
arguments: tag: D79
type_infered: string
name: read_data
arguments: tag: D8
type_infered: string
name: read_data
arguments: tag: D143
type_infered: string
name: read_data
arguments: tag: D278
type_infered: string
name: read_data
arguments: tag: D180
type_infered: string
name: read_data
arguments: tag: D20
type_infered: string
name: read_data
arguments: tag: D144
type_infered: string
name: read_data
arguments: tag: D141
type_infered: string
name: read_data
arguments: tag: D124
type_infered: string
name: read_data
arguments: tag: D58
type_infered: string
name: read_data
arguments: tag: D217
type_infered: string
name: read_data
arguments: tag: D127
type_infered: string
name: read_data
arguments: tag: D232
type_infered: string
name: read_data
arguments: tag: D276
type_infered: string
name: read_data
arguments: tag: D63
type_infered: string
name: read_data
arguments: tag: D287
type_infered: string
name: read_data
arguments: tag: D250
type_infered: string
name: read_data
arguments: tag: D176
type_infered: string
name: read_data
arguments: tag: D310
type_infered: string

tool: D5: usage: %s [-a|-b]


tool: D312:   -a             init DAB mode

tool: D115:   -b             init fm mode

tool: D213:   -c frequency   tune frequency in FM mode

tool: D164:   -d             fm status

tool: D24:   -e             dab status

tool: D313:   -f service     start service of dab service list

tool: D210:   -g             get dab service list

tool: D32:   -i channel     tune to channel in dab frequency list

tool: D51:   -j region      set frequency list

tool: D227:                     0   Baden-Wuertemberg

tool: D253:                     1   Bayern

tool: D2:                     2   Berlin-Brandenburg

tool: D239:                     3   Bremen

tool: D79:                     4   Hamburg

tool: D8:                     5   Hessen

tool: D143:                     6   Mecklenburg-Vorpommern

tool: D278:                     7   Niedersachsen

tool: D180:                     8   Nordrhein-Westfalen

tool: D20:                     9   Rheinland-Pfalz

tool: D144:                     10  Saarland

tool: D141:                     11  Sachsen

tool: D124:                     12  Sachsen-Anhalt

tool: D58:                     13  Schleswig-Holstein

tool: D217:                     14  Thueringen

tool: D127:                     15  Suedtirol (Italien)

tool: D232:   -k region      scan frequency list

tool: D276:   -l up|down     fm seek next station

tool: D63:   -m             fm rds status

tool: D287:   -n             dab get audio info

tool: D250:   -o             dab get subchannel info

tool: D176:   -s             get sys state (fm,dab,am...)

tool: D310:   -h             this help

assistant: ```c
void show_help(char *prog_name) {
  printf("usage: %s [-a|-b]\n", prog_name);
  printf("  -a             init DAB mode\n");
  printf("  -b             init fm mode\n");
  printf("  -c frequency   tune frequency in FM mode\n");
  printf("  -d             fm status\n");
  printf("  -e             dab status\n");
  printf("  -f service     start service of dab service list\n");
  printf("  -g             get dab service list\n");
  printf("  -i channel     tune to channel in dab frequency list\n");
  printf("  -j region      set frequency list\n");
  printf("                    0   Baden-Wuertemberg\r\n");
  printf("                    1   Bayern\r\n");
  printf("                    2   Berlin-Brandenburg\r\n");
  printf("                    3   Bremen\r\n");
  printf("                    4   Hamburg\r\n");
  printf("                    5   Hessen\r\n");
  printf("                    6   Mecklenburg-Vorpommern\r\n");
  printf("                    7   Niedersachsen\r\n");
  printf("                    8   Nordrhein-Westfalen\r\n");
  printf("                    9   Rheinland-Pfalz\r\n");
  printf("                    10  Saarland\r\n");
  printf("                    11  Sachsen\r\n");
  printf("                    12  Sachsen-Anhalt\r\n");
  printf("                    13  Schleswig-Holstein\r\n");
  printf("                    14  Thueringen\r\n");
  printf("                    15  Suedtirol (Italien)\r\n");
  printf("  -k region      scan frequency list\r\n");
  printf("  -l up|down     fm seek next station\r\n");
  printf("  -m             fm rds status\r\n");
  printf("  -n             dab get audio info\r\n");
  printf("  -o             dab get subchannel info\r\n");
  printf("  -s             get sys state (fm,dab,am...)\r\n");
  printf("  -h             this help\n");
}
```