user: Demonstrate the C code that generates the assembly output below:

```asm
<AdicionarLabelsFixos>:
  endbr64
  sub    $0x8,%rsp
  mov    $0x6001,%esi
  lea    D216(%rip),%rdi
  call   <AddLabel@plt>
  mov    $0x77d9,%esi
  lea    D51(%rip),%rdi
  call   <AddLabel@plt>
  mov    $0x77da,%esi
  lea    D201(%rip),%rdi
  call   <AddLabel@plt>
  mov    $0x77e2,%esi
  lea    D244(%rip),%rdi
  call   <AddLabel@plt>
  mov    $0x7fe2,%esi
  lea    D93(%rip),%rdi
  call   <AddLabel@plt>
  mov    $0x7fea,%esi
  lea    D89(%rip),%rdi
  call   <AddLabel@plt>
  mov    $0x7feb,%esi
  lea    D153(%rip),%rdi
  call   <AddLabel@plt>
  mov    $0x7fec,%esi
  lea    D137(%rip),%rdi
  call   <AddLabel@plt>
  mov    $0x7fed,%esi
  lea    D158(%rip),%rdi
  call   <AddLabel@plt>
  mov    $0x7fee,%esi
  lea    D172(%rip),%rdi
  call   <AddLabel@plt>
  mov    $0x7fef,%esi
  lea    D214(%rip),%rdi
  call   <AddLabel@plt>
  mov    $0x7ff0,%esi
  lea    D175(%rip),%rdi
  call   <AddLabel@plt>
  mov    $0x7ff1,%esi
  lea    D136(%rip),%rdi
  call   <AddLabel@plt>
  mov    $0x7ff2,%esi
  lea    D122(%rip),%rdi
  call   <AddLabel@plt>
  mov    $0x7ff3,%esi
  lea    D174(%rip),%rdi
  call   <AddLabel@plt>
  mov    $0x7ff4,%esi
  lea    D264(%rip),%rdi
  call   <AddLabel@plt>
  mov    $0x7ff5,%esi
  lea    D116(%rip),%rdi
  call   <AddLabel@plt>
  mov    $0x7ff6,%esi
  lea    D10(%rip),%rdi
  call   <AddLabel@plt>
  mov    $0x7ff7,%esi
  lea    D99(%rip),%rdi
  call   <AddLabel@plt>
  mov    $0x7ff8,%esi
  lea    D167(%rip),%rdi
  call   <AddLabel@plt>
  mov    $0x7ff9,%esi
  lea    D9(%rip),%rdi
  call   <AddLabel@plt>
  mov    $0x7ffa,%esi
  lea    D67(%rip),%rdi
  call   <AddLabel@plt>
  mov    $0x7ffb,%esi
  lea    D187(%rip),%rdi
  call   <AddLabel@plt>
  mov    $0x7ffc,%esi
  lea    D163(%rip),%rdi
  call   <AddLabel@plt>
  mov    $0x7ffd,%esi
  lea    D151(%rip),%rdi
  call   <AddLabel@plt>
  mov    $0x7ffe,%esi
  lea    D166(%rip),%rdi
  call   <AddLabel@plt>
  mov    $0x7fff,%esi
  lea    D52(%rip),%rdi
  call   <AddLabel@plt>
  add    $0x8,%rsp
  ret
```

tool_calls: name: parse_data
arguments: tag: D216
type: string
name: parse_data
arguments: tag: D51
type: string
name: parse_data
arguments: tag: D201
type: string
name: parse_data
arguments: tag: D244
type: string
name: parse_data
arguments: tag: D93
type: string
name: parse_data
arguments: tag: D89
type: string
name: parse_data
arguments: tag: D153
type: string
name: parse_data
arguments: tag: D137
type: string
name: parse_data
arguments: tag: D158
type: string
name: parse_data
arguments: tag: D172
type: string
name: parse_data
arguments: tag: D214
type: string
name: parse_data
arguments: tag: D175
type: string
name: parse_data
arguments: tag: D136
type: string
name: parse_data
arguments: tag: D122
type: string
name: parse_data
arguments: tag: D174
type: string
name: parse_data
arguments: tag: D264
type: string
name: parse_data
arguments: tag: D116
type: string
name: parse_data
arguments: tag: D10
type: string
name: parse_data
arguments: tag: D99
type: string
name: parse_data
arguments: tag: D167
type: string
name: parse_data
arguments: tag: D9
type: string
name: parse_data
arguments: tag: D67
type: string
name: parse_data
arguments: tag: D187
type: string
name: parse_data
arguments: tag: D163
type: string
name: parse_data
arguments: tag: D151
type: string
name: parse_data
arguments: tag: D166
type: string
name: parse_data
arguments: tag: D52
type: string

tool: D216: Dynamic_data_start

tool: D51: Dynamic_data_end

tool: D201: System_call

tool: D244: Stack_end

tool: D93: Stack_start

tool: D89: Serial_RX

tool: D153: Serial_TX

tool: D137: Timer

tool: D158: Arg0

tool: D172: Arg1

tool: D214: Arg2

tool: D175: Arg3

tool: D136: Arg4

tool: D122: Arg5

tool: D174: Arg6

tool: D264: Arg7

tool: D116: Arg8

tool: D10: Arg9

tool: D99: Ret

tool: D167: Interrupt_Timer

tool: D9: Interrupt_Keyboard

tool: D67: Interrupt_System

tool: D187: Interrupt_Stack_Overflow

tool: D163: Interrupt_Stack_Underflow

tool: D151: Interrupt_Division_by_zero

tool: D166: Interrupt_Serial_Ready

tool: D52: Interrupt_Reset

assistant: ```c
void AdicionarLabelsFixos(void) {
  AddLabel("Dynamic_data_start", 24577);
  AddLabel("Dynamic_data_end", 30681);
  AddLabel("System_call", 30682);
  AddLabel("Stack_end", 30690);
  AddLabel("Stack_start", 32738);
  AddLabel("Serial_RX", 32746);
  AddLabel("Serial_TX", 32747);
  AddLabel("Timer", 32748);
  AddLabel("Arg0", ((0) + (32749)));
  AddLabel("Arg1", ((1) + (32749)));
  AddLabel("Arg2", ((2) + (32749)));
  AddLabel("Arg3", ((3) + (32749)));
  AddLabel("Arg4", ((4) + (32749)));
  AddLabel("Arg5", ((5) + (32749)));
  AddLabel("Arg6", ((6) + (32749)));
  AddLabel("Arg7", ((7) + (32749)));
  AddLabel("Arg8", ((8) + (32749)));
  AddLabel("Arg9", ((9) + (32749)));
  AddLabel("Ret", 32759);
  AddLabel("Interrupt_Timer", 32760);
  AddLabel("Interrupt_Keyboard", 32761);
  AddLabel("Interrupt_System", 32762);
  AddLabel("Interrupt_Stack_Overflow", 32763);
  AddLabel("Interrupt_Stack_Underflow", 32764);
  AddLabel("Interrupt_Division_by_zero", 32765);
  AddLabel("Interrupt_Serial_Ready", 32766);
  AddLabel("Interrupt_Reset", 32767);
}
```