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

```asm
<print_mx1>:
  endbr64
  push   %r14
  xor    %eax,%eax
  push   %r13
  mov    %ecx,%r13d
  push   %r12
  mov    %edi,%r12d
  push   %rbp
  mov    %r12d,%r14d
  mov    %esi,%ebp
  mov    %edi,%esi
  push   %rbx
  lea    D77(%rip),%rdi
  not    %r14d
  mov    %edx,%ebx
  call   <printf@plt>
  mov    %r14d,%eax
  mov    %r12d,%esi
  and    $0x3,%eax
  and    $0x3,%esi
  cmp    $0x2,%eax
  je     L382
  xor    %eax,%eax
  lea    D1016(%rip),%rdi
  call   <printf@plt>
  test   $0x4,%r12b
  je     L1395
L1627:
  mov    %r14d,%eax
  and    $0x18,%eax
  cmp    $0x10,%eax
  je     L1141
L1664:
  ja     L1626
  test   %eax,%eax
  je     L1108
  cmp    $0x8,%eax
  jne    L617
  mov    %r12d,%esi
  lea    D141(%rip),%rdi
  xor    %eax,%eax
  and    $0x18,%esi
  call   <printf@plt>
L617:
  and    $0xfc00,%r14d
  jne    L561
L1682:
  test   $0x1000000,%r12d
  je     L1669
L741:
  and    $0x10000000,%r12d
  je     L607
L999:
  mov    %ebp,%esi
  lea    D99(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    %ebp,%eax
  lea    D346(%rip),%rdx
  and    $0x7,%eax
  movslq (%rdx,%rax,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
L1626:
  cmp    $0x18,%eax
  jne    L617
  mov    %r12d,%esi
  xor    %eax,%eax
  lea    D720(%rip),%rdi
  and    $0x18,%esi
  call   <printf@plt>
  and    $0xfc00,%r14d
  je     L1682
  nopw   0x0(%rax,%rax,1)
L561:
  mov    %r12d,%esi
  xor    %eax,%eax
  lea    D64(%rip),%rdi
  and    $0xfc00,%esi
  call   <printf@plt>
  test   $0x1000000,%r12d
  jne    L741
L1669:
  lea    D422(%rip),%rdi
  call   <puts@plt>
  and    $0x10000000,%r12d
  jne    L999
L607:
  lea    D414(%rip),%rdi
  call   <puts@plt>
  jmp    L999
  nopw   0x0(%rax,%rax,1)
L382:
  xor    %eax,%eax
  lea    D329(%rip),%rdi
  call   <printf@plt>
  test   $0x4,%r12b
  jne    L1627
L1395:
  xor    %esi,%esi
  lea    D584(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    %r14d,%eax
  and    $0x18,%eax
  cmp    $0x10,%eax
  jne    L1664
L1141:
  mov    %r12d,%esi
  lea    D761(%rip),%rdi
  xor    %eax,%eax
  and    $0x18,%esi
  call   <printf@plt>
  jmp    L617
  nopl   0x0(%rax,%rax,1)
L1108:
  mov    %r12d,%esi
  lea    D592(%rip),%rdi
  xor    %eax,%eax
  and    $0x18,%esi
  call   <printf@plt>
  jmp    L617
  nopl   0x0(%rax)
  mov    $0x7,%esi
  lea    D545(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  nopl   0x0(%rax,%rax,1)
L1180:
  test   $0x20,%bpl
  jne    L621
L419:
  test   $0x80,%bpl
  jne    L819
L1709:
  mov    %ebp,%eax
  and    $0x300,%eax
  cmp    $0x200,%eax
  je     L58
L600:
  ja     L243
  test   %eax,%eax
  je     L1471
  cmp    $0x100,%eax
  jne    L1048
  mov    $0x1,%esi
  lea    D320(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
L1048:
  test   $0x400,%ebp
  jne    L1685
L1498:
  mov    %ebp,%eax
  and    $0x3000,%eax
  cmp    $0x2000,%eax
  je     L411
L1473:
  ja     L1451
  test   %eax,%eax
  je     L725
  cmp    $0x1000,%eax
  jne    L319
  mov    $0x1,%esi
  lea    D433(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
L319:
  test   $0x8000,%ebp
  jne    L917
L918:
  test   $0x4000,%ebp
  jne    L1212
L1348:
  test   $0x800000,%ebp
  je     L715
  mov    %ebp,%eax
  and    $0x1f0000,%eax
  cmp    $0xa0000,%eax
  je     L220
  ja     L1122
  cmp    $0x50000,%eax
  je     L60
  ja     L1467
  cmp    $0x20000,%eax
  je     L515
  jbe    L1643
  cmp    $0x30000,%eax
  je     L500
  cmp    $0x40000,%eax
  jne    L1292
  mov    $0x4,%esi
  lea    D960(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  nop
L1292:
  and    $0x400000,%ebp
  jne    L1070
L722:
  mov    $0x8,%esi
  lea    D730(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
L715:
  mov    %ebx,%esi
  lea    D231(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    %ebx,%eax
  lea    D1023(%rip),%rdx
  and    $0x7,%eax
  movslq (%rdx,%rax,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  nopl   (%rax)
  mov    $0x7,%esi
  lea    D561(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  nopl   0x0(%rax,%rax,1)
L556:
  mov    %ebx,%eax
  and    $0x70,%eax
  cmp    $0x40,%eax
  je     L1415
L699:
  ja     L745
  cmp    $0x20,%eax
  je     L902
  ja     L1557
  test   %eax,%eax
  je     L770
  cmp    $0x10,%eax
  jne    L1522
  mov    $0x1,%esi
  lea    D865(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  nopl   0x0(%rax,%rax,1)
L1522:
  mov    %ebx,%eax
  and    $0x700,%eax
  cmp    $0x400,%eax
  je     L1663
L1544:
  ja     L39
  cmp    $0x200,%eax
  je     L301
  ja     L1476
  test   %eax,%eax
  je     L1128
  cmp    $0x100,%eax
  jne    L63
  mov    $0x1,%esi
  lea    D649(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  nopl   0x0(%rax,%rax,1)
L63:
  test   $0x80,%bh
  je     L1324
L1054:
  mov    $0x8,%esi
  lea    D424(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    %ebx,%eax
  and    $0x70000,%eax
  cmp    $0x40000,%eax
  je     L1593
L476:
  ja     L380
  cmp    $0x20000,%eax
  je     L430
  ja     L1432
  test   %eax,%eax
  je     L1276
  cmp    $0x10000,%eax
  jne    L133
  mov    $0x1,%esi
  lea    D195(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  nop
L133:
  mov    %r13d,%esi
  lea    D112(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    %r13d,%eax
  not    %eax
  test   %ax,%ax
  jne    L244
L222:
  test   $0x10000000,%r13d
  je     L878
  mov    $0x1,%esi
  lea    D946(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
L1388:
  test   $0x20000000,%r13d
  je     L1472
  mov    $0x2,%esi
  lea    D501(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
L29:
  test   $0x40000000,%r13d
  je     L548
  xor    %eax,%eax
  mov    $0x4,%esi
  lea    D317(%rip),%rdi
  call   <printf@plt>
  test   %r13d,%r13d
  js     L1099
L237:
  pop    %rbx
  lea    D312(%rip),%rdi
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  jmp    1060 <puts@plt>
  nopl   0x0(%rax)
  mov    $0x6,%esi
  lea    D821(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    %ebx,%eax
  and    $0x70,%eax
  cmp    $0x40,%eax
  jne    L699
  nopl   0x0(%rax)
L1415:
  mov    $0x4,%esi
  lea    D518(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    %ebx,%eax
  and    $0x700,%eax
  cmp    $0x400,%eax
  jne    L1544
  nopl   (%rax)
L1663:
  xor    %eax,%eax
  mov    $0x4,%esi
  lea    D344(%rip),%rdi
  call   <printf@plt>
  test   $0x80,%bh
  jne    L1054
  nopl   0x0(%rax)
L1324:
  lea    D869(%rip),%rdi
  call   <puts@plt>
  mov    %ebx,%eax
  and    $0x70000,%eax
  cmp    $0x40000,%eax
  jne    L476
L1593:
  mov    $0x4,%esi
  lea    D30(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L133
  cs nopw 0x0(%rax,%rax,1)
  mov    $0x3,%esi
  lea    D792(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L556
  nopl   0x0(%rax,%rax,1)
  mov    $0x2,%esi
  lea    D1005(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L556
  nopl   0x0(%rax,%rax,1)
  mov    $0x1,%esi
  lea    D825(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L556
  nopl   0x0(%rax,%rax,1)
  xor    %eax,%eax
  mov    $0x1,%esi
  lea    D749(%rip),%rdi
  call   <printf@plt>
  test   $0x20,%bpl
  je     L419
  nopl   (%rax)
L621:
  xor    %eax,%eax
  mov    $0x2,%esi
  lea    D250(%rip),%rdi
  call   <printf@plt>
  test   $0x80,%bpl
  je     L1709
L819:
  mov    $0x8,%esi
  lea    D538(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    %ebp,%eax
  and    $0x300,%eax
  cmp    $0x200,%eax
  jne    L600
L58:
  xor    %eax,%eax
  mov    $0x2,%esi
  lea    D555(%rip),%rdi
  call   <printf@plt>
  test   $0x400,%ebp
  je     L1498
L1685:
  mov    $0x4,%esi
  lea    D638(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    %ebp,%eax
  and    $0x3000,%eax
  cmp    $0x2000,%eax
  jne    L1473
L411:
  xor    %eax,%eax
  mov    $0x2,%esi
  lea    D859(%rip),%rdi
  call   <printf@plt>
  test   $0x8000,%ebp
  je     L918
L917:
  xor    %eax,%eax
  mov    $0x8,%esi
  lea    D155(%rip),%rdi
  call   <printf@plt>
  test   $0x4000,%ebp
  je     L1348
L1212:
  mov    $0x4,%esi
  lea    D318(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1348
  nopl   0x0(%rax)
  mov    $0x2,%esi
  lea    D212(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1180
  nopl   0x0(%rax,%rax,1)
  mov    $0x3,%esi
  lea    D205(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1180
  nopl   0x0(%rax,%rax,1)
  mov    $0x4,%esi
  lea    D665(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1180
  nopl   0x0(%rax,%rax,1)
  mov    $0x5,%esi
  lea    D434(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1180
  nopl   0x0(%rax,%rax,1)
  mov    $0x6,%esi
  lea    D549(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1180
  nopl   0x0(%rax,%rax,1)
  mov    $0x5,%esi
  lea    D229(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L556
  nopl   0x0(%rax,%rax,1)
  mov    $0x4,%esi
  lea    D657(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L556
  nopl   0x0(%rax,%rax,1)
L1451:
  cmp    $0x3000,%eax
  jne    L319
  mov    $0x3,%esi
  lea    D670(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L319
  nopl   0x0(%rax,%rax,1)
L243:
  cmp    $0x300,%eax
  jne    L1048
  mov    $0x3,%esi
  lea    D708(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1048
  nopl   0x0(%rax,%rax,1)
L1432:
  cmp    $0x30000,%eax
  jne    L133
  mov    $0x3,%esi
  lea    D577(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L133
  nopl   0x0(%rax,%rax,1)
L380:
  cmp    $0x60000,%eax
  je     L643
  cmp    $0x70000,%eax
  jne    L1517
  mov    $0x7,%esi
  lea    D382(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L133
  cs nopw 0x0(%rax,%rax,1)
L1476:
  cmp    $0x300,%eax
  jne    L63
  mov    $0x3,%esi
  lea    D849(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L63
  nopl   0x0(%rax,%rax,1)
L1557:
  cmp    $0x30,%eax
  jne    L1522
  mov    $0x3,%esi
  lea    D247(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1522
  nopl   0x0(%rax)
L745:
  cmp    $0x60,%eax
  je     L1337
  cmp    $0x70,%eax
  jne    L443
  mov    $0x7,%esi
  lea    D437(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1522
  cs nopw 0x0(%rax,%rax,1)
L39:
  cmp    $0x600,%eax
  je     L1178
  cmp    $0x700,%eax
  jne    L31
  mov    $0x7,%esi
  lea    D291(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L63
L1517:
  cmp    $0x50000,%eax
  jne    L133
  mov    $0x5,%esi
  lea    D468(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L133
L443:
  cmp    $0x50,%eax
  jne    L1522
  mov    $0x5,%esi
  lea    D470(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1522
L31:
  cmp    $0x500,%eax
  jne    L63
  mov    $0x5,%esi
  lea    D717(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L63
  nopl   0x0(%rax)
L548:
  lea    D652(%rip),%rdi
  call   <puts@plt>
  test   %r13d,%r13d
  jns    L237
L1099:
  pop    %rbx
  mov    $0x8,%esi
  pop    %rbp
  xor    %eax,%eax
  pop    %r12
  lea    D968(%rip),%rdi
  pop    %r13
  pop    %r14
  jmp    1070 <printf@plt>
  nopl   0x0(%rax,%rax,1)
L1472:
  lea    D652(%rip),%rdi
  call   <puts@plt>
  jmp    L29
  nopl   0x0(%rax)
L878:
  lea    D652(%rip),%rdi
  call   <puts@plt>
  jmp    L1388
L1643:
  test   %eax,%eax
  je     L927
  cmp    $0x10000,%eax
  jne    L1292
  mov    $0x1,%esi
  lea    D705(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1292
  nopl   0x0(%rax)
L1467:
  cmp    $0x80000,%eax
  je     L85
  jbe    L274
  cmp    $0x90000,%eax
  jne    L1292
  mov    $0x9,%esi
  lea    D463(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1292
  nopl   0x0(%rax,%rax,1)
L1122:
  cmp    $0x100000,%eax
  je     L808
  ja     L533
  cmp    $0xd0000,%eax
  je     L1299
  jbe    L941
  cmp    $0xe0000,%eax
  je     L1653
  cmp    $0xf0000,%eax
  jne    L1292
  mov    $0xf,%esi
  lea    D42(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1292
  nopl   0x0(%rax)
L274:
  cmp    $0x60000,%eax
  je     L1481
  cmp    $0x70000,%eax
  jne    L1292
  mov    $0x7,%esi
  lea    D1019(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1292
  xchg   %ax,%ax
L941:
  cmp    $0xb0000,%eax
  je     L988
  cmp    $0xc0000,%eax
  jne    L1292
  mov    $0xc,%esi
  lea    D738(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1292
  xchg   %ax,%ax
L533:
  cmp    $0x130000,%eax
  je     L841
  jbe    L1089
  cmp    $0x140000,%eax
  jne    L1292
  mov    $0x14,%esi
  lea    D37(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1292
L1089:
  cmp    $0x110000,%eax
  je     L542
  cmp    $0x120000,%eax
  jne    L1292
  mov    $0x12,%esi
  lea    D46(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1292
  xchg   %ax,%ax
L244:
  movzwl %r13w,%esi
  lea    D779(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L222
  nopw   0x0(%rax,%rax,1)
L725:
  xor    %esi,%esi
  lea    D268(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L319
  nopl   (%rax)
L1471:
  xor    %esi,%esi
  lea    D452(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1048
  nopl   (%rax)
L1070:
  mov    $0x4,%esi
  lea    D302(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L722
  xor    %esi,%esi
  lea    D852(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1180
  xor    %esi,%esi
  lea    D951(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L556
  nopw   0x0(%rax,%rax,1)
L1276:
  xor    %esi,%esi
  lea    D394(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L133
  nopl   (%rax)
L643:
  mov    $0x6,%esi
  lea    D776(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L133
  nopl   0x0(%rax,%rax,1)
L1337:
  mov    $0x6,%esi
  lea    D728(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1522
  nopl   0x0(%rax,%rax,1)
L1178:
  mov    $0x6,%esi
  lea    D737(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L63
  nopl   0x0(%rax,%rax,1)
L1128:
  xor    %esi,%esi
  lea    D3(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L63
  nopl   (%rax)
L430:
  mov    $0x2,%esi
  lea    D799(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L133
L301:
  mov    $0x2,%esi
  lea    D990(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L63
  nopl   0x0(%rax,%rax,1)
L770:
  xor    %esi,%esi
  lea    D569(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1522
  nopl   (%rax)
L902:
  mov    $0x2,%esi
  lea    D661(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1522
L220:
  mov    $0xa,%esi
  lea    D386(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1292
  nopl   0x0(%rax,%rax,1)
L85:
  mov    $0x8,%esi
  lea    D534(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1292
  nopl   0x0(%rax,%rax,1)
L841:
  mov    $0x13,%esi
  lea    D321(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1292
  nopl   0x0(%rax,%rax,1)
L542:
  mov    $0x11,%esi
  lea    D402(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1292
  nopl   0x0(%rax,%rax,1)
L500:
  mov    $0x3,%esi
  lea    D352(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1292
  nopl   0x0(%rax,%rax,1)
L988:
  mov    $0xb,%esi
  lea    D427(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1292
  nopl   0x0(%rax,%rax,1)
L1299:
  mov    $0xd,%esi
  lea    D789(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1292
  nopl   0x0(%rax,%rax,1)
L1481:
  mov    $0x6,%esi
  lea    D742(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1292
  nopl   0x0(%rax,%rax,1)
L1653:
  mov    $0xe,%esi
  lea    D131(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1292
  nopl   0x0(%rax,%rax,1)
L927:
  xor    %esi,%esi
  lea    D774(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1292
  nopl   (%rax)
L515:
  mov    $0x2,%esi
  lea    D289(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1292
L808:
  mov    $0x10,%esi
  lea    D271(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1292
  nopl   0x0(%rax,%rax,1)
L60:
  mov    $0x5,%esi
  lea    D687(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  jmp    L1292
```

tool_calls: name: retrieve_data
arguments: tag: D77
type_guessed: string
name: retrieve_data
arguments: tag: D1016
type_guessed: string
name: retrieve_data
arguments: tag: D141
type_guessed: string
name: retrieve_data
arguments: tag: D99
type_guessed: string
name: retrieve_data
arguments: tag: D720
type_guessed: string
name: retrieve_data
arguments: tag: D64
type_guessed: string
name: retrieve_data
arguments: tag: D422
type_guessed: string
name: retrieve_data
arguments: tag: D414
type_guessed: string
name: retrieve_data
arguments: tag: D329
type_guessed: string
name: retrieve_data
arguments: tag: D584
type_guessed: string
name: retrieve_data
arguments: tag: D761
type_guessed: string
name: retrieve_data
arguments: tag: D592
type_guessed: string
name: retrieve_data
arguments: tag: D545
type_guessed: string
name: retrieve_data
arguments: tag: D320
type_guessed: string
name: retrieve_data
arguments: tag: D433
type_guessed: string
name: retrieve_data
arguments: tag: D960
type_guessed: string
name: retrieve_data
arguments: tag: D730
type_guessed: string
name: retrieve_data
arguments: tag: D231
type_guessed: string
name: retrieve_data
arguments: tag: D561
type_guessed: string
name: retrieve_data
arguments: tag: D865
type_guessed: string
name: retrieve_data
arguments: tag: D649
type_guessed: string
name: retrieve_data
arguments: tag: D424
type_guessed: string
name: retrieve_data
arguments: tag: D195
type_guessed: string
name: retrieve_data
arguments: tag: D112
type_guessed: string
name: retrieve_data
arguments: tag: D946
type_guessed: string
name: retrieve_data
arguments: tag: D501
type_guessed: string
name: retrieve_data
arguments: tag: D317
type_guessed: string
name: retrieve_data
arguments: tag: D312
type_guessed: string
name: retrieve_data
arguments: tag: D821
type_guessed: string
name: retrieve_data
arguments: tag: D518
type_guessed: string
name: retrieve_data
arguments: tag: D344
type_guessed: string
name: retrieve_data
arguments: tag: D869
type_guessed: string
name: retrieve_data
arguments: tag: D30
type_guessed: string
name: retrieve_data
arguments: tag: D792
type_guessed: string
name: retrieve_data
arguments: tag: D1005
type_guessed: string
name: retrieve_data
arguments: tag: D825
type_guessed: string
name: retrieve_data
arguments: tag: D749
type_guessed: string
name: retrieve_data
arguments: tag: D250
type_guessed: string
name: retrieve_data
arguments: tag: D538
type_guessed: string
name: retrieve_data
arguments: tag: D555
type_guessed: string
name: retrieve_data
arguments: tag: D638
type_guessed: string
name: retrieve_data
arguments: tag: D859
type_guessed: string
name: retrieve_data
arguments: tag: D155
type_guessed: string
name: retrieve_data
arguments: tag: D318
type_guessed: string
name: retrieve_data
arguments: tag: D212
type_guessed: string
name: retrieve_data
arguments: tag: D205
type_guessed: string
name: retrieve_data
arguments: tag: D665
type_guessed: string
name: retrieve_data
arguments: tag: D434
type_guessed: string
name: retrieve_data
arguments: tag: D549
type_guessed: string
name: retrieve_data
arguments: tag: D229
type_guessed: string
name: retrieve_data
arguments: tag: D657
type_guessed: string
name: retrieve_data
arguments: tag: D670
type_guessed: string
name: retrieve_data
arguments: tag: D708
type_guessed: string
name: retrieve_data
arguments: tag: D577
type_guessed: string
name: retrieve_data
arguments: tag: D382
type_guessed: string
name: retrieve_data
arguments: tag: D849
type_guessed: string
name: retrieve_data
arguments: tag: D247
type_guessed: string
name: retrieve_data
arguments: tag: D437
type_guessed: string
name: retrieve_data
arguments: tag: D291
type_guessed: string
name: retrieve_data
arguments: tag: D468
type_guessed: string
name: retrieve_data
arguments: tag: D470
type_guessed: string
name: retrieve_data
arguments: tag: D717
type_guessed: string
name: retrieve_data
arguments: tag: D652
type_guessed: string
name: retrieve_data
arguments: tag: D968
type_guessed: string
name: retrieve_data
arguments: tag: D705
type_guessed: string
name: retrieve_data
arguments: tag: D463
type_guessed: string
name: retrieve_data
arguments: tag: D42
type_guessed: string
name: retrieve_data
arguments: tag: D1019
type_guessed: string
name: retrieve_data
arguments: tag: D738
type_guessed: string
name: retrieve_data
arguments: tag: D37
type_guessed: string
name: retrieve_data
arguments: tag: D46
type_guessed: string
name: retrieve_data
arguments: tag: D779
type_guessed: string
name: retrieve_data
arguments: tag: D268
type_guessed: string
name: retrieve_data
arguments: tag: D452
type_guessed: string
name: retrieve_data
arguments: tag: D302
type_guessed: string
name: retrieve_data
arguments: tag: D852
type_guessed: string
name: retrieve_data
arguments: tag: D951
type_guessed: string
name: retrieve_data
arguments: tag: D394
type_guessed: string
name: retrieve_data
arguments: tag: D776
type_guessed: string
name: retrieve_data
arguments: tag: D728
type_guessed: string
name: retrieve_data
arguments: tag: D737
type_guessed: string
name: retrieve_data
arguments: tag: D3
type_guessed: string
name: retrieve_data
arguments: tag: D799
type_guessed: string
name: retrieve_data
arguments: tag: D990
type_guessed: string
name: retrieve_data
arguments: tag: D569
type_guessed: string
name: retrieve_data
arguments: tag: D661
type_guessed: string
name: retrieve_data
arguments: tag: D386
type_guessed: string
name: retrieve_data
arguments: tag: D534
type_guessed: string
name: retrieve_data
arguments: tag: D321
type_guessed: string
name: retrieve_data
arguments: tag: D402
type_guessed: string
name: retrieve_data
arguments: tag: D352
type_guessed: string
name: retrieve_data
arguments: tag: D427
type_guessed: string
name: retrieve_data
arguments: tag: D789
type_guessed: string
name: retrieve_data
arguments: tag: D742
type_guessed: string
name: retrieve_data
arguments: tag: D131
type_guessed: string
name: retrieve_data
arguments: tag: D774
type_guessed: string
name: retrieve_data
arguments: tag: D289
type_guessed: string
name: retrieve_data
arguments: tag: D271
type_guessed: string
name: retrieve_data
arguments: tag: D687
type_guessed: string

tool: D77:     DEVCFG0 = %08x


tool: D1016:                      %u Debugger disabled


tool: D141:                     %02x Use PGC2/PGD2


tool: D99:     DEVCFG1 = %08x


tool: D720:                     %02x Use PGC4/PGD4


tool: D64:                  %05x Program flash write protect


tool: D422:                        Boot flash write protect

tool: D414:                        Code protect

tool: D329:                      %u Debugger enabled


tool: D584:                      %u JTAG disabled


tool: D761:                     %02x Use PGC3/PGD3


tool: D592:                     %02x Use PGC1/PGD1


tool: D545:                      %u Fast RC oscillator with divide-by-N


tool: D320:                    %u   Primary oscillator: XT


tool: D433:                   %u    Peripheral bus clock: SYSCLK / 2


tool: D960:                 %2x     Watchdog postscale: 1/16


tool: D730:                 %u      Watchdog enable


tool: D231:     DEVCFG2 = %08x


tool: D561:                      %u PLL divider: 1/12


tool: D865:                     %u  PLL multiplier: 16x


tool: D649:                    %u   USB PLL divider: 1/2


tool: D424:                   %u    Disable USB PLL


tool: D195:                  %u     PLL postscaler: 1/2


tool: D112:     DEVCFG3 = %08x


tool: D946:               %u        Peripheral Module Disable - only 1 reconfig


tool: D501:               %u        Peripheral Pin Select - only 1 reconfig


tool: D317:               %u        USBID pin: controlled by USB


tool: D312:                        VBuson pin: controlled by port

tool: D821:                      %u PLL divider: 1/10


tool: D518:                     %u  PLL multiplier: 19x


tool: D344:                    %u   USB PLL divider: 1/5


tool: D869:                        Enable USB PLL

tool: D30:                  %u     PLL postscaler: 1/16


tool: D792:                      %u PLL divider: 1/4


tool: D1005:                      %u PLL divider: 1/3


tool: D825:                      %u PLL divider: 1/2


tool: D749:                      %u Fast RC oscillator with divide-by-N and PLL


tool: D250:                     %u  Secondary oscillator enabled


tool: D538:                     %u  Internal-external switch over enabled


tool: D555:                    %u   Primary oscillator: HS


tool: D638:                    %u   CLKO output disabled


tool: D859:                   %u    Peripheral bus clock: SYSCLK / 4


tool: D155:                   %u    Fail-safe clock monitor enabled


tool: D318:                   %u    Clock switching enabled


tool: D212:                      %u Primary oscillator


tool: D205:                      %u Primary oscillator with PLL


tool: D665:                      %u Secondary oscillator


tool: D434:                      %u Low-power RC oscillator


tool: D549:                      %u Fast RC oscillator with divide-by-16


tool: D229:                      %u PLL divider: 1/6


tool: D657:                      %u PLL divider: 1/5


tool: D670:                   %u    Peripheral bus clock: SYSCLK / 8


tool: D708:                    %u   Primary oscillator: disabled


tool: D577:                  %u     PLL postscaler: 1/8


tool: D382:                  %u     PLL postscaler: 1/128


tool: D849:                    %u   USB PLL divider: 1/4


tool: D247:                     %u  PLL multiplier: 18x


tool: D437:                     %u  PLL multiplier: 24x


tool: D291:                    %u   USB PLL divider: 1/12


tool: D468:                  %u     PLL postscaler: 1/32


tool: D470:                     %u  PLL multiplier: 20x


tool: D717:                    %u   USB PLL divider: 1/6


tool: D652:                        USBID pin: controlled by port

tool: D968:               %u        VBuson pin: controlled by USB


tool: D705:                 %2x     Watchdog postscale: 1/2


tool: D463:                 %2x     Watchdog postscale: 1/512


tool: D42:                 %2x     Watchdog postscale: 1/32768


tool: D1019:                 %2x     Watchdog postscale: 1/128


tool: D738:                 %2x     Watchdog postscale: 1/4096


tool: D37:                 %2x     Watchdog postscale: 1/1048576


tool: D46:                 %2x     Watchdog postscale: 1/262144


tool: D779:                   %04x User-defined ID


tool: D268:                   %u    Peripheral bus clock: SYSCLK / 1


tool: D452:                    %u   Primary oscillator: External


tool: D302:                 %u      Watchdog in non-Window mode


tool: D852:                      %u Fast RC oscillator


tool: D951:                      %u PLL divider: 1/1


tool: D394:                  %u     PLL postscaler: 1/1


tool: D776:                  %u     PLL postscaler: 1/64


tool: D728:                     %u  PLL multiplier: 21x


tool: D737:                    %u   USB PLL divider: 1/10


tool: D3:                    %u   USB PLL divider: 1/1


tool: D799:                  %u     PLL postscaler: 1/4


tool: D990:                    %u   USB PLL divider: 1/3


tool: D569:                     %u  PLL multiplier: 15x


tool: D661:                     %u  PLL multiplier: 17x


tool: D386:                 %2x     Watchdog postscale: 1/1024


tool: D534:                 %2x     Watchdog postscale: 1/256


tool: D321:                 %2x     Watchdog postscale: 1/524288


tool: D402:                 %2x     Watchdog postscale: 1/131072


tool: D352:                 %2x     Watchdog postscale: 1/8


tool: D427:                 %2x     Watchdog postscale: 1/2048


tool: D789:                 %2x     Watchdog postscale: 1/8192


tool: D742:                 %2x     Watchdog postscale: 1/64


tool: D131:                 %2x     Watchdog postscale: 1/16384


tool: D774:                 %2x     Watchdog postscale: 1/1


tool: D289:                 %2x     Watchdog postscale: 1/4


tool: D271:                 %2x     Watchdog postscale: 1/65536


tool: D687:                 %2x     Watchdog postscale: 1/32


assistant: ```c
void print_mx1(unsigned cfg0, unsigned cfg1, unsigned cfg2, unsigned cfg3, unsigned cfg4, unsigned cfg5, unsigned cfg6, unsigned cfg7, unsigned cfg8, unsigned cfg9, unsigned cfg10, unsigned cfg11, unsigned cfg12, unsigned cfg13, unsigned cfg14, unsigned cfg15, unsigned cfg16, unsigned cfg17) {
  printf("    DEVCFG0 = %08x\n", cfg0);
  if ((~cfg0 & 0x00000003) == 0x00000002)
    printf("                     %u Debugger enabled\n", cfg0 & 0x00000003);
  else
    printf("                     %u Debugger disabled\n", cfg0 & 0x00000003);
  if (~cfg0 & 0x00000004)
    printf("                     %u JTAG disabled\n", cfg0 & 0x00000004);
  switch (~cfg0 & 0x00000018) {
  case 0x00000000:
    printf("                    %02x Use PGC1/PGD1\n", cfg0 & 0x00000018);
    break;
  case 0x00000008:
    printf("                    %02x Use PGC2/PGD2\n", cfg0 & 0x00000018);
    break;
  case 0x00000010:
    printf("                    %02x Use PGC3/PGD3\n", cfg0 & 0x00000018);
    break;
  case 0x00000018:
    printf("                    %02x Use PGC4/PGD4\n", cfg0 & 0x00000018);
    break;
  }
  if (~cfg0 & 0x0000fc00)
    printf("                 %05x Program flash write protect\n", cfg0 & 0x0000fc00);
  if (~cfg0 & 0x01000000)
    printf("                       Boot flash write protect\n");
  if (~cfg0 & 0x10000000)
    printf("                       Code protect\n");
  printf("    DEVCFG1 = %08x\n", cfg1);
  switch (cfg1 & 0x00000007) {
  case 0x00000000:
    printf("                     %u Fast RC oscillator\n", 0x00000000);
    break;
  case 0x00000001:
    printf("                     %u Fast RC oscillator with divide-by-N and PLL\n", 0x00000001);
    break;
  case 0x00000002:
    printf("                     %u Primary oscillator\n", 0x00000002);
    break;
  case 0x00000003:
    printf("                     %u Primary oscillator with PLL\n", 0x00000003);
    break;
  case 0x00000004:
    printf("                     %u Secondary oscillator\n", 0x00000004);
    break;
  case 0x00000005:
    printf("                     %u Low-power RC oscillator\n", 0x00000005);
    break;
  case 0x00000006:
    printf("                     %u Fast RC oscillator with divide-by-16\n", 0x00000006);
    break;
  case 0x00000007:
    printf("                     %u Fast RC oscillator with divide-by-N\n", 0x00000007);
    break;
  default:
    printf("                     %u UNKNOWN\n", cfg1 & 0x00000007);
    break;
  }
  if (cfg1 & 0x00000020)
    printf("                    %u  Secondary oscillator enabled\n", 0x00000020 >> 4);
  if (cfg1 & 0x00000080)
    printf("                    %u  Internal-external switch over enabled\n", 0x00000080 >> 4);
  switch (cfg1 & 0x00000300) {
  case 0x00000000:
    printf("                   %u   Primary oscillator: External\n", 0x00000000 >> 8);
    break;
  case 0x00000100:
    printf("                   %u   Primary oscillator: XT\n", 0x00000100 >> 8);
    break;
  case 0x00000200:
    printf("                   %u   Primary oscillator: HS\n", 0x00000200 >> 8);
    break;
  case 0x00000300:
    printf("                   %u   Primary oscillator: disabled\n", 0x00000300 >> 8);
    break;
  }
  if (cfg1 & 0x00000400)
    printf("                   %u   CLKO output disabled\n", 0x00000400 >> 8);
  switch (cfg1 & 0x00003000) {
  case 0x00000000:
    printf("                  %u    Peripheral bus clock: SYSCLK / 1\n", 0x00000000 >> 12);
    break;
  case 0x00001000:
    printf("                  %u    Peripheral bus clock: SYSCLK / 2\n", 0x00001000 >> 12);
    break;
  case 0x00002000:
    printf("                  %u    Peripheral bus clock: SYSCLK / 4\n", 0x00002000 >> 12);
    break;
  case 0x00003000:
    printf("                  %u    Peripheral bus clock: SYSCLK / 8\n", 0x00003000 >> 12);
    break;
  }
  if (cfg1 & 0x00008000)
    printf("                  %u    Fail-safe clock monitor enabled\n", 0x00008000 >> 12);
  if (cfg1 & 0x00004000)
    printf("                  %u    Clock switching enabled\n", 0x00004000 >> 12);
  if (cfg1 & 0x00800000) {
    switch (cfg1 & 0x001f0000) {
    case 0x00000000:
      printf("                %2x     Watchdog postscale: 1/1\n", 0x00000000 >> 16);
      break;
    case 0x00010000:
      printf("                %2x     Watchdog postscale: 1/2\n", 0x00010000 >> 16);
      break;
    case 0x00020000:
      printf("                %2x     Watchdog postscale: 1/4\n", 0x00020000 >> 16);
      break;
    case 0x00030000:
      printf("                %2x     Watchdog postscale: 1/8\n", 0x00030000 >> 16);
      break;
    case 0x00040000:
      printf("                %2x     Watchdog postscale: 1/16\n", 0x00040000 >> 16);
      break;
    case 0x00050000:
      printf("                %2x     Watchdog postscale: 1/32\n", 0x00050000 >> 16);
      break;
    case 0x00060000:
      printf("                %2x     Watchdog postscale: 1/64\n", 0x00060000 >> 16);
      break;
    case 0x00070000:
      printf("                %2x     Watchdog postscale: 1/128\n", 0x00070000 >> 16);
      break;
    case 0x00080000:
      printf("                %2x     Watchdog postscale: 1/256\n", 0x00080000 >> 16);
      break;
    case 0x00090000:
      printf("                %2x     Watchdog postscale: 1/512\n", 0x00090000 >> 16);
      break;
    case 0x000a0000:
      printf("                %2x     Watchdog postscale: 1/1024\n", 0x000a0000 >> 16);
      break;
    case 0x000b0000:
      printf("                %2x     Watchdog postscale: 1/2048\n", 0x000b0000 >> 16);
      break;
    case 0x000c0000:
      printf("                %2x     Watchdog postscale: 1/4096\n", 0x000c0000 >> 16);
      break;
    case 0x000d0000:
      printf("                %2x     Watchdog postscale: 1/8192\n", 0x000d0000 >> 16);
      break;
    case 0x000e0000:
      printf("                %2x     Watchdog postscale: 1/16384\n", 0x000e0000 >> 16);
      break;
    case 0x000f0000:
      printf("                %2x     Watchdog postscale: 1/32768\n", 0x000f0000 >> 16);
      break;
    case 0x00100000:
      printf("                %2x     Watchdog postscale: 1/65536\n", 0x00100000 >> 16);
      break;
    case 0x00110000:
      printf("                %2x     Watchdog postscale: 1/131072\n", 0x00110000 >> 16);
      break;
    case 0x00120000:
      printf("                %2x     Watchdog postscale: 1/262144\n", 0x00120000 >> 16);
      break;
    case 0x00130000:
      printf("                %2x     Watchdog postscale: 1/524288\n", 0x00130000 >> 16);
      break;
    case 0x00140000:
      printf("                %2x     Watchdog postscale: 1/1048576\n", 0x00140000 >> 16);
      break;
    }
    if (cfg1 & 0x00400000)
      printf("                %u      Watchdog in non-Window mode\n", 0x00400000 >> 20);
    printf("                %u      Watchdog enable\n", 0x00800000 >> 20);
  }
  printf("    DEVCFG2 = %08x\n", cfg2);
  switch (cfg2 & 0x00000007) {
  case 0x00000000:
    printf("                     %u PLL divider: 1/1\n", 0x00000000);
    break;
  case 0x00000001:
    printf("                     %u PLL divider: 1/2\n", 0x00000001);
    break;
  case 0x00000002:
    printf("                     %u PLL divider: 1/3\n", 0x00000002);
    break;
  case 0x00000003:
    printf("                     %u PLL divider: 1/4\n", 0x00000003);
    break;
  case 0x00000004:
    printf("                     %u PLL divider: 1/5\n", 0x00000004);
    break;
  case 0x00000005:
    printf("                     %u PLL divider: 1/6\n", 0x00000005);
    break;
  case 0x00000006:
    printf("                     %u PLL divider: 1/10\n", 0x00000006);
    break;
  case 0x00000007:
    printf("                     %u PLL divider: 1/12\n", 0x00000007);
    break;
  }
  switch (cfg2 & 0x00000070) {
  case 0x00000000:
    printf("                    %u  PLL multiplier: 15x\n", 0x00000000 >> 4);
    break;
  case 0x00000010:
    printf("                    %u  PLL multiplier: 16x\n", 0x00000010 >> 4);
    break;
  case 0x00000020:
    printf("                    %u  PLL multiplier: 17x\n", 0x00000020 >> 4);
    break;
  case 0x00000030:
    printf("                    %u  PLL multiplier: 18x\n", 0x00000030 >> 4);
    break;
  case 0x00000040:
    printf("                    %u  PLL multiplier: 19x\n", 0x00000040 >> 4);
    break;
  case 0x00000050:
    printf("                    %u  PLL multiplier: 20x\n", 0x00000050 >> 4);
    break;
  case 0x00000060:
    printf("                    %u  PLL multiplier: 21x\n", 0x00000060 >> 4);
    break;
  case 0x00000070:
    printf("                    %u  PLL multiplier: 24x\n", 0x00000070 >> 4);
    break;
  }
  switch (cfg2 & 0x00000700) {
  case 0x00000000:
    printf("                   %u   USB PLL divider: 1/1\n", 0x00000000 >> 8);
    break;
  case 0x00000100:
    printf("                   %u   USB PLL divider: 1/2\n", 0x00000100 >> 8);
    break;
  case 0x00000200:
    printf("                   %u   USB PLL divider: 1/3\n", 0x00000200 >> 8);
    break;
  case 0x00000300:
    printf("                   %u   USB PLL divider: 1/4\n", 0x00000300 >> 8);
    break;
  case 0x00000400:
    printf("                   %u   USB PLL divider: 1/5\n", 0x00000400 >> 8);
    break;
  case 0x00000500:
    printf("                   %u   USB PLL divider: 1/6\n", 0x00000500 >> 8);
    break;
  case 0x00000600:
    printf("                   %u   USB PLL divider: 1/10\n", 0x00000600 >> 8);
    break;
  case 0x00000700:
    printf("                   %u   USB PLL divider: 1/12\n", 0x00000700 >> 8);
    break;
  }
  if (cfg2 & 0x00008000)
    printf("                  %u    Disable USB PLL\n", 0x00008000 >> 12);
  else
    printf("                       Enable USB PLL\n");
  switch (cfg2 & 0x00070000) {
  case 0x00000000:
    printf("                 %u     PLL postscaler: 1/1\n", 0x00000000 >> 16);
    break;
  case 0x00010000:
    printf("                 %u     PLL postscaler: 1/2\n", 0x00010000 >> 16);
    break;
  case 0x00020000:
    printf("                 %u     PLL postscaler: 1/4\n", 0x00020000 >> 16);
    break;
  case 0x00030000:
    printf("                 %u     PLL postscaler: 1/8\n", 0x00030000 >> 16);
    break;
  case 0x00040000:
    printf("                 %u     PLL postscaler: 1/16\n", 0x00040000 >> 16);
    break;
  case 0x00050000:
    printf("                 %u     PLL postscaler: 1/32\n", 0x00050000 >> 16);
    break;
  case 0x00060000:
    printf("                 %u     PLL postscaler: 1/64\n", 0x00060000 >> 16);
    break;
  case 0x00070000:
    printf("                 %u     PLL postscaler: 1/128\n", 0x00070000 >> 16);
    break;
  }
  printf("    DEVCFG3 = %08x\n", cfg3);
  if (~cfg3 & 0x0000ffff)
    printf("                  %04x User-defined ID\n", cfg3 & 0x0000ffff);
  if (cfg3 & 0x10000000)
    printf("              %u        Peripheral Module Disable - only 1 reconfig\n", 0x10000000 >> 28);
  else
    printf("                       USBID pin: controlled by port\n");
  if (cfg3 & 0x20000000)
    printf("              %u        Peripheral Pin Select - only 1 reconfig\n", 0x20000000 >> 28);
  else
    printf("                       USBID pin: controlled by port\n");
  if (cfg3 & 0x40000000)
    printf("              %u        USBID pin: controlled by USB\n", 0x40000000 >> 28);
  else
    printf("                       USBID pin: controlled by port\n");
  if (cfg3 & 0x80000000)
    printf("              %u        VBuson pin: controlled by USB\n", 0x80000000 >> 28);
  else
    printf("                       VBuson pin: controlled by port\n");
}
```