user: 请将以下的汇编代码转换成C语言代码：

```asm
<help>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x10,%rsp
  mov    %edi,-0x4(%rbp)
  cmpl   $0x0,-0x4(%rbp)
  je     L5
  cmpl   $0x1,-0x4(%rbp)
  je     L8
  jmp    L36
L5:
  lea    D248(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D141(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D172(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D273(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D323(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D152(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D348(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D262(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D94(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D257(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D247(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D330(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D55(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D339(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D167(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D177(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D205(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D250(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D337(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D296(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  jmp    L36
L8:
  lea    D292(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D175(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D79(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D110(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D295(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D208(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D234(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D211(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D282(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D58(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D91(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D34(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D132(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D352(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D124(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D100(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D127(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  nop
L36:
  nop
  leave
  ret
```

tool_calls: name: read_data
arguments: label: D248
data_type: string
name: read_data
arguments: label: D141
data_type: string
name: read_data
arguments: label: D172
data_type: string
name: read_data
arguments: label: D273
data_type: string
name: read_data
arguments: label: D323
data_type: string
name: read_data
arguments: label: D152
data_type: string
name: read_data
arguments: label: D348
data_type: string
name: read_data
arguments: label: D262
data_type: string
name: read_data
arguments: label: D94
data_type: string
name: read_data
arguments: label: D257
data_type: string
name: read_data
arguments: label: D247
data_type: string
name: read_data
arguments: label: D330
data_type: string
name: read_data
arguments: label: D55
data_type: string
name: read_data
arguments: label: D339
data_type: string
name: read_data
arguments: label: D167
data_type: string
name: read_data
arguments: label: D177
data_type: string
name: read_data
arguments: label: D205
data_type: string
name: read_data
arguments: label: D250
data_type: string
name: read_data
arguments: label: D337
data_type: string
name: read_data
arguments: label: D296
data_type: string
name: read_data
arguments: label: D292
data_type: string
name: read_data
arguments: label: D175
data_type: string
name: read_data
arguments: label: D79
data_type: string
name: read_data
arguments: label: D110
data_type: string
name: read_data
arguments: label: D295
data_type: string
name: read_data
arguments: label: D208
data_type: string
name: read_data
arguments: label: D234
data_type: string
name: read_data
arguments: label: D211
data_type: string
name: read_data
arguments: label: D282
data_type: string
name: read_data
arguments: label: D58
data_type: string
name: read_data
arguments: label: D91
data_type: string
name: read_data
arguments: label: D34
data_type: string
name: read_data
arguments: label: D132
data_type: string
name: read_data
arguments: label: D352
data_type: string
name: read_data
arguments: label: D124
data_type: string
name: read_data
arguments: label: D100
data_type: string
name: read_data
arguments: label: D127
data_type: string

tool: D248: Standard commands:


tool: D141:   a                  = again (repeat last command)


tool: D172:   m-,m,m+            = vga mode


tool: D273:   s-,s,s+            = tv standard


tool: D323:   e                  = enable tvout


tool: D152:   d                  = disable tvout


tool: D348:   b,b--,b-,b+,b++    = brightness


tool: D262:   c,c--,c-,c+,c++    = contrast


tool: D94:   o,o--,o-,o+,o++    = color


tool: D257:   f,f--,f-,f+,f++    = flicker


tool: D247:   n,n--,n-,n+,n++    = sharpness


tool: D330:   l,l-,l0,l+         = left position


tool: D55:   t,t-,t0,t+         = top position


tool: D339:   w,w-,w0,w+         = width


tool: D167:   h,h-,h0,h+         = height


tool: D177:   g                  = get video parameters


tool: D205:   def                = default settings


tool: D250:   q                  = quit


tool: D337:   ?                  = standard commands (display this message)


tool: D296:   ??                 = advanced commands


tool: D292: Advanced commands:


tool: D175:   rg                      = register dump: graphics controller


tool: D79:   rg [reg] [size]         = read Graphics controller register


tool: D110:   Rg [reg] [value] [size] = write Graphics controller register


tool: D295:   rs                      = register dump: SIO


tool: D208:   rs [reg] [size]         = read SIO register


tool: D234:   Rs [reg] [value] [size] = write SIO register


tool: D211:   rsv, rss, rse           = register dump: VGA-TV, scaler, encoder


tool: D282:   rvc,rvl,rvm             = register dump: VP config, VP layer, VP move


tool: D58:   rv [reg] [size]         = read VP register


tool: D91:   Rv [reg] [value] [size] = write VP register


tool: D34:   rl                      = register dump: LPC


tool: D132:   rl [reg] [size]         = read LPC register


tool: D352:   Rl [reg] [value] [size] = write LPC register


tool: D124:   <,>                     = dec, inc FFO_LAT


tool: D100:   ?                       = standard commands


tool: D127:   ??                      = advanced commands (display this message)


assistant: ```c
void help(int level) {
  switch (level) {
  case 0: {
    printf("Standard commands:\n");
    printf("  a                  = again (repeat last command)\n");
    printf("  m-,m,m+            = vga mode\n");
    printf("  s-,s,s+            = tv standard\n");
    printf("  e                  = enable tvout\n");
    printf("  d                  = disable tvout\n");
    printf("  b,b--,b-,b+,b++    = brightness\n");
    printf("  c,c--,c-,c+,c++    = contrast\n");
    printf("  o,o--,o-,o+,o++    = color\n");
    printf("  f,f--,f-,f+,f++    = flicker\n");
    printf("  n,n--,n-,n+,n++    = sharpness\n");
    printf("  l,l-,l0,l+         = left position\n");
    printf("  t,t-,t0,t+         = top position\n");
    printf("  w,w-,w0,w+         = width\n");
    printf("  h,h-,h0,h+         = height\n");
    printf("  g                  = get video parameters\n");
    printf("  def                = default settings\n");
    printf("  q                  = quit\n");
    printf("  ?                  = standard commands (display this message)\n");
    printf("  ??                 = advanced commands\n");
  } break;
  case 1: {
    printf("Advanced commands:\n");
    printf("  rg                      = register dump: graphics controller\n");
    printf("  rg [reg] [size]         = read Graphics controller register\n");
    printf("  Rg [reg] [value] [size] = write Graphics controller register\n");
    printf("  rs                      = register dump: SIO\n");
    printf("  rs [reg] [size]         = read SIO register\n");
    printf("  Rs [reg] [value] [size] = write SIO register\n");
    printf("  rsv, rss, rse           = register dump: VGA-TV, scaler, encoder\n");
    printf("  rvc,rvl,rvm             = register dump: VP config, VP layer, VP move\n");
    printf("  rv [reg] [size]         = read VP register\n");
    printf("  Rv [reg] [value] [size] = write VP register\n");
    printf("  rl                      = register dump: LPC\n");
    printf("  rl [reg] [size]         = read LPC register\n");
    printf("  Rl [reg] [value] [size] = write LPC register\n");
    printf("  <,>                     = dec, inc FFO_LAT\n");
    printf("  ?                       = standard commands\n");
    printf("  ??                      = advanced commands (display this message)\n");
  } break;
  }
}
```