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

```asm
<test3DigitNumbers>:
  endbr64
  sub    $0x8,%rsp
  mov    $0x64,%edi
  call   <getNumberInWords@plt>
  lea    D48(%rip),%rdi
  mov    %eax,%esi
  call   <assertEquals@plt>
  mov    $0x65,%edi
  call   <getNumberInWords@plt>
  lea    D41(%rip),%rdi
  mov    %eax,%esi
  call   <assertEquals@plt>
  mov    $0xd3,%edi
  call   <getNumberInWords@plt>
  lea    D86(%rip),%rdi
  mov    %eax,%esi
  call   <assertEquals@plt>
  mov    $0x142,%edi
  call   <getNumberInWords@plt>
  lea    D95(%rip),%rdi
  mov    %eax,%esi
  call   <assertEquals@plt>
  mov    $0x1b1,%edi
  call   <getNumberInWords@plt>
  lea    D92(%rip),%rdi
  mov    %eax,%esi
  call   <assertEquals@plt>
  mov    $0x220,%edi
  call   <getNumberInWords@plt>
  lea    D49(%rip),%rdi
  mov    %eax,%esi
  call   <assertEquals@plt>
  mov    $0x28f,%edi
  call   <getNumberInWords@plt>
  lea    D23(%rip),%rdi
  mov    %eax,%esi
  call   <assertEquals@plt>
  mov    $0x2fe,%edi
  call   <getNumberInWords@plt>
  lea    D24(%rip),%rdi
  mov    %eax,%esi
  call   <assertEquals@plt>
  mov    $0x36d,%edi
  call   <getNumberInWords@plt>
  lea    D20(%rip),%rdi
  mov    %eax,%esi
  call   <assertEquals@plt>
  mov    $0x3dc,%edi
  call   <getNumberInWords@plt>
  lea    D58(%rip),%rdi
  mov    %eax,%esi
  call   <assertEquals@plt>
  mov    $0x3e7,%edi
  call   <getNumberInWords@plt>
  lea    D82(%rip),%rdi
  add    $0x8,%rsp
  mov    %eax,%esi
  jmp    1060 <assertEquals@plt>
```

tool_calls: name: parse_data
arguments: data_label: D48
datatype: string
name: parse_data
arguments: data_label: D41
datatype: string
name: parse_data
arguments: data_label: D86
datatype: string
name: parse_data
arguments: data_label: D95
datatype: string
name: parse_data
arguments: data_label: D92
datatype: string
name: parse_data
arguments: data_label: D49
datatype: string
name: parse_data
arguments: data_label: D23
datatype: string
name: parse_data
arguments: data_label: D24
datatype: string
name: parse_data
arguments: data_label: D20
datatype: string
name: parse_data
arguments: data_label: D58
datatype: string
name: parse_data
arguments: data_label: D82
datatype: string

tool: D48: one hundred

tool: D41: one hundred one

tool: D86: two hundred eleven

tool: D95: three hundred twenty two

tool: D92: four hundred thirty three

tool: D49: five hundred forty four

tool: D23: six hundred fifty five

tool: D24: seven hundred sixty six

tool: D20: eight hundred seventy seven

tool: D58: nine hundred eighty eight

tool: D82: nine hundred ninety nine

assistant: ```c
void test3DigitNumbers() {
  assertEquals("one hundred", getNumberInWords(100));
  assertEquals("one hundred one", getNumberInWords(101));
  assertEquals("two hundred eleven", getNumberInWords(211));
  assertEquals("three hundred twenty two", getNumberInWords(322));
  assertEquals("four hundred thirty three", getNumberInWords(433));
  assertEquals("five hundred forty four", getNumberInWords(544));
  assertEquals("six hundred fifty five", getNumberInWords(655));
  assertEquals("seven hundred sixty six", getNumberInWords(766));
  assertEquals("eight hundred seventy seven", getNumberInWords(877));
  assertEquals("nine hundred eighty eight", getNumberInWords(988));
  assertEquals("nine hundred ninety nine", getNumberInWords(999));
}
```