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

```asm
<print_kernel_panic>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  lea    D217(%rip),%rax
  mov    %rax,%rdi
  call   <uart_puts@plt>
  lea    D176(%rip),%rax
  mov    %rax,%rdi
  call   <uart_puts@plt>
  lea    D239(%rip),%rax
  mov    %rax,%rdi
  call   <uart_puts@plt>
  lea    D4(%rip),%rax
  mov    %rax,%rdi
  call   <uart_puts@plt>
  lea    D90(%rip),%rax
  mov    %rax,%rdi
  call   <uart_puts@plt>
  lea    D65(%rip),%rax
  mov    %rax,%rdi
  call   <uart_puts@plt>
  lea    D141(%rip),%rax
  mov    %rax,%rdi
  call   <uart_puts@plt>
  lea    D186(%rip),%rax
  mov    %rax,%rdi
  call   <uart_puts@plt>
  lea    D33(%rip),%rax
  mov    %rax,%rdi
  call   <uart_puts@plt>
  lea    D159(%rip),%rax
  mov    %rax,%rdi
  call   <uart_puts@plt>
  lea    D144(%rip),%rax
  mov    %rax,%rdi
  call   <uart_puts@plt>
  lea    D37(%rip),%rax
  mov    %rax,%rdi
  call   <uart_puts@plt>
  lea    D129(%rip),%rax
  mov    %rax,%rdi
  call   <uart_puts@plt>
  lea    D28(%rip),%rax
  mov    %rax,%rdi
  call   <uart_puts@plt>
  lea    D48(%rip),%rax
  mov    %rax,%rdi
  call   <uart_puts@plt>
  lea    D107(%rip),%rax
  mov    %rax,%rdi
  call   <uart_puts@plt>
  lea    D14(%rip),%rax
  mov    %rax,%rdi
  call   <uart_puts@plt>
  lea    D191(%rip),%rax
  mov    %rax,%rdi
  call   <uart_puts@plt>
  lea    D190(%rip),%rax
  mov    %rax,%rdi
  call   <uart_puts@plt>
  lea    D143(%rip),%rax
  mov    %rax,%rdi
  call   <uart_puts@plt>
  lea    D1(%rip),%rax
  mov    %rax,%rdi
  call   <uart_puts@plt>
  lea    D219(%rip),%rax
  mov    %rax,%rdi
  call   <uart_puts@plt>
  lea    D110(%rip),%rax
  mov    %rax,%rdi
  call   <uart_puts@plt>
  lea    D36(%rip),%rax
  mov    %rax,%rdi
  call   <uart_puts@plt>
  lea    D87(%rip),%rax
  mov    %rax,%rdi
  call   <uart_puts@plt>
  lea    D36(%rip),%rax
  mov    %rax,%rdi
  call   <uart_puts@plt>
  nop
  pop    %rbp
  ret
```

tool_calls: name: parse_data
arguments: data_tag: D217
type: string
name: parse_data
arguments: data_tag: D176
type: string
name: parse_data
arguments: data_tag: D239
type: string
name: parse_data
arguments: data_tag: D4
type: string
name: parse_data
arguments: data_tag: D90
type: string
name: parse_data
arguments: data_tag: D65
type: string
name: parse_data
arguments: data_tag: D141
type: string
name: parse_data
arguments: data_tag: D186
type: string
name: parse_data
arguments: data_tag: D33
type: string
name: parse_data
arguments: data_tag: D159
type: string
name: parse_data
arguments: data_tag: D144
type: string
name: parse_data
arguments: data_tag: D37
type: string
name: parse_data
arguments: data_tag: D129
type: string
name: parse_data
arguments: data_tag: D28
type: string
name: parse_data
arguments: data_tag: D48
type: string
name: parse_data
arguments: data_tag: D107
type: string
name: parse_data
arguments: data_tag: D14
type: string
name: parse_data
arguments: data_tag: D191
type: string
name: parse_data
arguments: data_tag: D190
type: string
name: parse_data
arguments: data_tag: D143
type: string
name: parse_data
arguments: data_tag: D1
type: string
name: parse_data
arguments: data_tag: D219
type: string
name: parse_data
arguments: data_tag: D110
type: string
name: parse_data
arguments: data_tag: D36
type: string
name: parse_data
arguments: data_tag: D87
type: string

tool: D217:                                ________________


tool: D176:                           ____/ (  (    )   )  \___


tool: D239:                          /( (  (  )   _    ))  )   )\


tool: D4:                        ((     (   )(    )  )   (   )  )


tool: D90:                      ((/  ( _(   )   (   _) ) (  () )  )


tool: D65:                     ( (  ( (_)   ((    (   )  .((_ ) .  )_


tool: D141:                    ( (  )    (      (  )    )   ) . ) (   )


tool: D186:                   (  (   (  (   ) (  _  ( _) ).  ) . ) ) ( )


tool: D33:                   ( (  (   ) (  )   (  ))     ) _)(   )  )  )


tool: D159:                  ( (  ( \ ) (    (_  ( ) ( )  )   ) )  )) ( )


tool: D144:                  (  (   (  (   (_ ( ) ( _    )  ) (  )  )   )


tool: D37:                  ( (  ( (  (  )     (_  )  ) )  _)   ) _( ( )


tool: D129:                   ((  (   )(    (     _    )   _) _(_ (  (_ )


tool: D28:                    (_((__(_(__(( ( ( |  ) ) ) )_))__))_)___)


tool: D48:                   ((__)        \\||lll|l||///          \_))


tool: D107:                             (   /(/ (  )  ) )\   )


tool: D14:                          (    ( ( ( | | ) ) )\   )


tool: D191:                             (   /(| / ( )) ) ) )) )


tool: D190:                          (     ( ((((_(|)_)))))     )


tool: D143:                           (      ||\(|(|)|/||     )


tool: D1:                         (        |(||(||)||||        )


tool: D219:                           (     //|/l|||)|\\ \     )


tool: D110:                         (/ / //  /|//||||\\  \ \  \ _)


tool: D36: --------------------- >>>>>>>>>>>>>>>>> <<<<<<<<<<<<<<<<<< ------------------


tool: D87: ---------------------- >>>>>>> rOS-KERNEL PANIC <<<<<<<<< -------------------


assistant: ```c
void print_kernel_panic(void) {
  uart_puts("                               ________________\n\r");
  uart_puts("                          ____/ (  (    )   )  \\___\n\r");
  uart_puts("                         /( (  (  )   _    ))  )   )\\\n\r");
  uart_puts("                       ((     (   )(    )  )   (   )  )\n\r");
  uart_puts("                     ((/  ( _(   )   (   _) ) (  () )  )\n\r");
  uart_puts("                    ( (  ( (_)   ((    (   )  .((_ ) .  )_\n\r");
  uart_puts("                   ( (  )    (      (  )    )   ) . ) (   )\n\r");
  uart_puts("                  (  (   (  (   ) (  _  ( _) ).  ) . ) ) ( )\n\r");
  uart_puts("                  ( (  (   ) (  )   (  ))     ) _)(   )  )  )\n\r");
  uart_puts("                 ( (  ( \\ ) (    (_  ( ) ( )  )   ) )  )) ( )\n\r");
  uart_puts("                 (  (   (  (   (_ ( ) ( _    )  ) (  )  )   )\n\r");
  uart_puts("                 ( (  ( (  (  )     (_  )  ) )  _)   ) _( ( )\n\r");
  uart_puts("                  ((  (   )(    (     _    )   _) _(_ (  (_ )\n\r");
  uart_puts("                   (_((__(_(__(( ( ( |  ) ) ) )_))__))_)___)\n\r");
  uart_puts("                  ((__)        \\\\||lll|l||///          \\_))\n\r");
  uart_puts("                            (   /(/ (  )  ) )\\   )\n\r");
  uart_puts("                         (    ( ( ( | | ) ) )\\   )\n\r");
  uart_puts("                            (   /(| / ( )) ) ) )) )\n\r");
  uart_puts("                         (     ( ((((_(|)_)))))     )\n\r");
  uart_puts("                          (      ||\\(|(|)|/||     )\n\r");
  uart_puts("                        (        |(||(||)||||        )\n\r");
  uart_puts("                          (     //|/l|||)|\\\\ \\     )\n\r");
  uart_puts("                        (/ / //  /|//||||\\\\  \\ \\  \\ _)\n\r");
  uart_puts("--------------------- >>>>>>>>>>>>>>>>> <<<<<<<<<<<<<<<<<< ------------------\n\r");
  uart_puts("---------------------- >>>>>>> rOS-KERNEL PANIC <<<<<<<<< -------------------\n\r");
  uart_puts("--------------------- >>>>>>>>>>>>>>>>> <<<<<<<<<<<<<<<<<< ------------------\n\r");
  return;
}
```