user: What is the c source code of the assembly code below:

```asm
<testCompare>:
  endbr64
  sub    $0x8,%rsp
  xor    %eax,%eax
  call   <testCmpImmediate@plt>
  lea    D79(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <testCmpZeropage@plt>
  lea    D97(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <testCmpZeropageX@plt>
  lea    D20(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <testCmpAbsolute@plt>
  lea    D96(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <testCmpAbsoluteX@plt>
  lea    D125(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <testCmpAbsoluteY@plt>
  lea    D9(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <testCmpIndirectX@plt>
  lea    D66(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <testCmpIndirectY@plt>
  lea    D58(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <testCpxImmediate@plt>
  lea    D126(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <testCpxZeropage@plt>
  lea    D56(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <testCpxAbsolute@plt>
  lea    D135(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <testCpyImmediate@plt>
  lea    D123(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <testCpyZeropage@plt>
  lea    D80(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <testCpyAbsolute@plt>
  lea    D45(%rip),%rdi
  add    $0x8,%rsp
  mov    %eax,%esi
  jmp    1160 <printf@plt>
```

tool_calls: name: disassemble_data
arguments: data_tag: D79
datatype: string
name: disassemble_data
arguments: data_tag: D97
datatype: string
name: disassemble_data
arguments: data_tag: D20
datatype: string
name: disassemble_data
arguments: data_tag: D96
datatype: string
name: disassemble_data
arguments: data_tag: D125
datatype: string
name: disassemble_data
arguments: data_tag: D9
datatype: string
name: disassemble_data
arguments: data_tag: D66
datatype: string
name: disassemble_data
arguments: data_tag: D58
datatype: string
name: disassemble_data
arguments: data_tag: D126
datatype: string
name: disassemble_data
arguments: data_tag: D56
datatype: string
name: disassemble_data
arguments: data_tag: D135
datatype: string
name: disassemble_data
arguments: data_tag: D123
datatype: string
name: disassemble_data
arguments: data_tag: D80
datatype: string
name: disassemble_data
arguments: data_tag: D45
datatype: string

tool: D79: testCmpImmediate: %d


tool: D97: testCmpZeropage: %d


tool: D20: testCmpZeropageX: %d


tool: D96: testCmpAbsolute: %d


tool: D125: testCmpAbsoluteX: %d


tool: D9: testCmpAbsoluteY: %d


tool: D66: testCmpIndirectX: %d


tool: D58: testCmpIndirectY: %d


tool: D126: testCpxImmediate: %d


tool: D56: testCpxZeropage: %d


tool: D135: testCpxAbsolute: %d


tool: D123: testCpyImmediate: %d


tool: D80: testCpyZeropage: %d


tool: D45: testCpyAbsolute: %d


assistant: ```c
void testCompare() {
  printf("testCmpImmediate: %d\r\n", testCmpImmediate());
  printf("testCmpZeropage: %d\r\n", testCmpZeropage());
  printf("testCmpZeropageX: %d\r\n", testCmpZeropageX());
  printf("testCmpAbsolute: %d\r\n", testCmpAbsolute());
  printf("testCmpAbsoluteX: %d\r\n", testCmpAbsoluteX());
  printf("testCmpAbsoluteY: %d\r\n", testCmpAbsoluteY());
  printf("testCmpIndirectX: %d\r\n", testCmpIndirectX());
  printf("testCmpIndirectY: %d\r\n", testCmpIndirectY());
  printf("testCpxImmediate: %d\r\n", testCpxImmediate());
  printf("testCpxZeropage: %d\r\n", testCpxZeropage());
  printf("testCpxAbsolute: %d\r\n", testCpxAbsolute());
  printf("testCpyImmediate: %d\r\n", testCpyImmediate());
  printf("testCpyZeropage: %d\r\n", testCpyZeropage());
  printf("testCpyAbsolute: %d\r\n", testCpyAbsolute());
}
```