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

```asm
<makeboard>:
  endbr64
  push   %rbp
  push   %rbx
  sub    $0x8,%rsp
  mov    $0x0,%eax
  call   <clear@plt>
  mov    $0x0,%eax
  call   <refresh@plt>
  mov    $0x1e,%esi
  mov    $0x0,%edi
  call   <move@plt>
  lea    D12(%rip),%rdi
  call   <printw@plt>
  mov    $0xa,%esi
  mov    $0x1,%edi
  call   <move@plt>
  lea    D82(%rip),%rdi
  call   <printw@plt>
  mov    $0xa,%esi
  mov    $0x2,%edi
  call   <move@plt>
  lea    D3(%rip),%rbx
  mov    %rbx,%rdi
  call   <printw@plt>
  mov    $0xa,%esi
  mov    $0x3,%edi
  call   <move@plt>
  lea    D44(%rip),%rdi
  call   <printw@plt>
  mov    $0xa,%esi
  mov    $0x4,%edi
  call   <move@plt>
  mov    %rbx,%rdi
  call   <printw@plt>
  mov    $0x1,%esi
  mov    $0x6,%edi
  call   <move@plt>
  lea    D21(%rip),%rdi
  call   <printw@plt>
  mov    $0x1,%esi
  mov    $0x7,%edi
  call   <move@plt>
  lea    D47(%rip),%rbx
  mov    %rbx,%rdi
  call   <printw@plt>
  mov    $0x1,%esi
  mov    $0x8,%edi
  call   <move@plt>
  lea    D57(%rip),%rbp
  mov    %rbp,%rdi
  call   <printw@plt>
  mov    $0x1,%esi
  mov    $0x9,%edi
  call   <move@plt>
  mov    %rbx,%rdi
  call   <printw@plt>
  mov    $0x1,%esi
  mov    $0xb,%edi
  call   <move@plt>
  lea    D11(%rip),%rdi
  call   <printw@plt>
  mov    $0x1,%esi
  mov    $0xc,%edi
  call   <move@plt>
  mov    %rbx,%rdi
  call   <printw@plt>
  mov    $0x1,%esi
  mov    $0xd,%edi
  call   <move@plt>
  mov    %rbp,%rdi
  call   <printw@plt>
  mov    $0x1,%esi
  mov    $0xe,%edi
  call   <move@plt>
  mov    %rbx,%rdi
  call   <printw@plt>
  mov    $0xb,%esi
  mov    $0x7,%edi
  call   <move@plt>
  lea    D8(%rip),%rdi
  call   <printw@plt>
  mov    $0x0,%eax
  call   <movebox@plt>
  add    $0x8,%rsp
  pop    %rbx
  pop    %rbp
  ret
```

tool_calls: name: extract_symbolic_data
arguments: data_label: D12
type: string
name: extract_symbolic_data
arguments: data_label: D82
type: string
name: extract_symbolic_data
arguments: data_label: D3
type: string
name: extract_symbolic_data
arguments: data_label: D44
type: string
name: extract_symbolic_data
arguments: data_label: D21
type: string
name: extract_symbolic_data
arguments: data_label: D47
type: string
name: extract_symbolic_data
arguments: data_label: D57
type: string
name: extract_symbolic_data
arguments: data_label: D11
type: string
name: extract_symbolic_data
arguments: data_label: D8
type: string

tool: D12: =-> CANFIELD <-=

tool: D82: foundation

tool: D3: =---=  =---=  =---=  =---=

tool: D44: |   |  |   |  |   |  |   |

tool: D21: stock     tableau

tool: D47: =---=

tool: D57: |   |

tool: D11: talon

tool: D8: -1-    -2-    -3-    -4-

assistant: ```c
void makeboard(void) {
  clear();
  refresh();
  move(0, 30);
  printw("=-> CANFIELD <-=");
  move(1, 10);
  printw("foundation");
  move(3 - 1, 10);
  printw("=---=  =---=  =---=  =---=");
  move(3, 10);
  printw("|   |  |   |  |   |  |   |");
  move(3 + 1, 10);
  printw("=---=  =---=  =---=  =---=");
  move(6, 1);
  printw("stock     tableau");
  move(8 - 1, 1);
  printw("=---=");
  move(8, 1);
  printw("|   |");
  move(8 + 1, 1);
  printw("=---=");
  move(13 - 2, 1);
  printw("talon");
  move(13 - 1, 1);
  printw("=---=");
  move(13, 1);
  printw("|   |");
  move(13 + 1, 1);
  printw("=---=");
  move(8 - 1, 11);
  printw("-1-    -2-    -3-    -4-");
  movebox();
}
```