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

```asm
<print_graph>:
  endbr64
  mov    (%rdi),%eax
  test   %eax,%eax
  jne    L426
L343:
  mov    0x4(%rdi),%eax
  test   %eax,%eax
  jne    L294
L233:
  mov    0x8(%rdi),%eax
  test   %eax,%eax
  jne    L127
L629:
  mov    0xc(%rdi),%eax
  test   %eax,%eax
  jne    L612
L107:
  mov    0x10(%rdi),%eax
  test   %eax,%eax
  jne    L232
L576:
  mov    0x14(%rdi),%eax
  test   %eax,%eax
  jne    L684
L322:
  mov    0x18(%rdi),%eax
  test   %eax,%eax
  jne    L281
L586:
  mov    0x1c(%rdi),%eax
  test   %eax,%eax
  jne    L452
L1:
  ret
  nopl   0x0(%rax)
L452:
  movb   $0x7c,0x7(%rdx)
  cmp    $0x1,%eax
  je     L1
  movb   $0x7c,0xf(%rdx)
  cmp    $0x2,%eax
  je     L1
  movb   $0x7c,0x17(%rdx)
  cmp    $0x3,%eax
  je     L1
  movb   $0x7c,0x1f(%rdx)
  cmp    $0x4,%eax
  je     L1
  movb   $0x7c,0x27(%rdx)
  cmp    $0x5,%eax
  je     L1
  movb   $0x7c,0x2f(%rdx)
  cmp    $0x6,%eax
  je     L1
  movb   $0x7c,0x37(%rdx)
  cmp    $0x7,%eax
  je     L1
  movb   $0x7c,0x3f(%rdx)
  ret
  nopl   0x0(%rax)
L281:
  movb   $0x7c,0x6(%rdx)
  cmp    $0x1,%eax
  je     L586
  movb   $0x7c,0xe(%rdx)
  cmp    $0x2,%eax
  je     L586
  movb   $0x7c,0x16(%rdx)
  cmp    $0x3,%eax
  je     L586
  movb   $0x7c,0x1e(%rdx)
  cmp    $0x4,%eax
  je     L586
  movb   $0x7c,0x26(%rdx)
  cmp    $0x5,%eax
  je     L586
  movb   $0x7c,0x2e(%rdx)
  cmp    $0x6,%eax
  je     L586
  movb   $0x7c,0x36(%rdx)
  cmp    $0x7,%eax
  je     L586
  movb   $0x7c,0x3e(%rdx)
  jmp    L586
  nopl   0x0(%rax)
L684:
  movb   $0x7c,0x5(%rdx)
  cmp    $0x1,%eax
  je     L322
  movb   $0x7c,0xd(%rdx)
  cmp    $0x2,%eax
  je     L322
  movb   $0x7c,0x15(%rdx)
  cmp    $0x3,%eax
  je     L322
  movb   $0x7c,0x1d(%rdx)
  cmp    $0x4,%eax
  je     L322
  movb   $0x7c,0x25(%rdx)
  cmp    $0x5,%eax
  je     L322
  movb   $0x7c,0x2d(%rdx)
  cmp    $0x6,%eax
  je     L322
  movb   $0x7c,0x35(%rdx)
  cmp    $0x7,%eax
  je     L322
  movb   $0x7c,0x3d(%rdx)
  jmp    L322
  nopl   0x0(%rax)
L232:
  movb   $0x7c,0x4(%rdx)
  cmp    $0x1,%eax
  je     L576
  movb   $0x7c,0xc(%rdx)
  cmp    $0x2,%eax
  je     L576
  movb   $0x7c,0x14(%rdx)
  cmp    $0x3,%eax
  je     L576
  movb   $0x7c,0x1c(%rdx)
  cmp    $0x4,%eax
  je     L576
  movb   $0x7c,0x24(%rdx)
  cmp    $0x5,%eax
  je     L576
  movb   $0x7c,0x2c(%rdx)
  cmp    $0x6,%eax
  je     L576
  movb   $0x7c,0x34(%rdx)
  cmp    $0x7,%eax
  je     L576
  movb   $0x7c,0x3c(%rdx)
  jmp    L576
  nopl   0x0(%rax)
L612:
  movb   $0x7c,0x3(%rdx)
  cmp    $0x1,%eax
  je     L107
  movb   $0x7c,0xb(%rdx)
  cmp    $0x2,%eax
  je     L107
  movb   $0x7c,0x13(%rdx)
  cmp    $0x3,%eax
  je     L107
  movb   $0x7c,0x1b(%rdx)
  cmp    $0x4,%eax
  je     L107
  movb   $0x7c,0x23(%rdx)
  cmp    $0x5,%eax
  je     L107
  movb   $0x7c,0x2b(%rdx)
  cmp    $0x6,%eax
  je     L107
  movb   $0x7c,0x33(%rdx)
  cmp    $0x7,%eax
  je     L107
  movb   $0x7c,0x3b(%rdx)
  jmp    L107
  nopl   0x0(%rax)
L127:
  movb   $0x7c,0x2(%rdx)
  cmp    $0x1,%eax
  je     L629
  movb   $0x7c,0xa(%rdx)
  cmp    $0x2,%eax
  je     L629
  movb   $0x7c,0x12(%rdx)
  cmp    $0x3,%eax
  je     L629
  movb   $0x7c,0x1a(%rdx)
  cmp    $0x4,%eax
  je     L629
  movb   $0x7c,0x22(%rdx)
  cmp    $0x5,%eax
  je     L629
  movb   $0x7c,0x2a(%rdx)
  cmp    $0x6,%eax
  je     L629
  movb   $0x7c,0x32(%rdx)
  cmp    $0x7,%eax
  je     L629
  movb   $0x7c,0x3a(%rdx)
  jmp    L629
  nopl   0x0(%rax)
L294:
  movb   $0x7c,0x1(%rdx)
  cmp    $0x1,%eax
  je     L233
  movb   $0x7c,0x9(%rdx)
  cmp    $0x2,%eax
  je     L233
  movb   $0x7c,0x11(%rdx)
  cmp    $0x3,%eax
  je     L233
  movb   $0x7c,0x19(%rdx)
  cmp    $0x4,%eax
  je     L233
  movb   $0x7c,0x21(%rdx)
  cmp    $0x5,%eax
  je     L233
  movb   $0x7c,0x29(%rdx)
  cmp    $0x6,%eax
  je     L233
  movb   $0x7c,0x31(%rdx)
  cmp    $0x7,%eax
  je     L233
  movb   $0x7c,0x39(%rdx)
  jmp    L233
  nopl   0x0(%rax)
L426:
  movb   $0x7c,(%rdx)
  cmp    $0x1,%eax
  je     L343
  movb   $0x7c,0x8(%rdx)
  cmp    $0x2,%eax
  je     L343
  movb   $0x7c,0x10(%rdx)
  cmp    $0x3,%eax
  je     L343
  movb   $0x7c,0x18(%rdx)
  cmp    $0x4,%eax
  je     L343
  movb   $0x7c,0x20(%rdx)
  cmp    $0x5,%eax
  je     L343
  movb   $0x7c,0x28(%rdx)
  cmp    $0x6,%eax
  je     L343
  movb   $0x7c,0x30(%rdx)
  cmp    $0x7,%eax
  je     L343
  movb   $0x7c,0x38(%rdx)
  jmp    L343
```

assistant: ```c
void print_graph(int *A, int A_lengt, char graph[][8]) {
  int i, j, temp;
  for (i = 0; i < 8; i++) {
    temp = A[i];
    if (temp == 0)
      continue;
    for (j = 0; j < 8; j++) {
      graph[j][i] = (temp--) ? ('|') : (' ');
      if (temp == 0)
        break;
    }
  }
}
```