user: 下面的汇编指令对应的C源代码是什么：

```asm
<norelop>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x10,%rsp
  mov    %rdi,-0x8(%rbp)
  mov    -0x8(%rbp),%rax
  lea    D72(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <streq@plt>
  test   %eax,%eax
  je     L284
  mov    $0x1,%eax
  jmp    L257
L284:
  mov    -0x8(%rbp),%rax
  lea    D14(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <streq@plt>
  test   %eax,%eax
  je     L93
  mov    $0x1,%eax
  jmp    L257
L93:
  mov    -0x8(%rbp),%rax
  lea    D114(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <streq@plt>
  test   %eax,%eax
  je     L103
  mov    $0x1,%eax
  jmp    L257
L103:
  mov    -0x8(%rbp),%rax
  lea    D7(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <streq@plt>
  test   %eax,%eax
  je     L342
  mov    $0x1,%eax
  jmp    L257
L342:
  mov    -0x8(%rbp),%rax
  lea    D80(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <streq@plt>
  test   %eax,%eax
  je     L69
  mov    $0x1,%eax
  jmp    L257
L69:
  mov    -0x8(%rbp),%rax
  lea    D47(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <streq@plt>
  test   %eax,%eax
  je     L97
  mov    $0x1,%eax
  jmp    L257
L97:
  mov    -0x8(%rbp),%rax
  lea    D165(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <streq@plt>
  test   %eax,%eax
  je     L413
  mov    $0x1,%eax
  jmp    L257
L413:
  mov    -0x8(%rbp),%rax
  lea    D41(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <streq@plt>
  test   %eax,%eax
  je     L228
  mov    $0x1,%eax
  jmp    L257
L228:
  mov    -0x8(%rbp),%rax
  lea    D21(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <streq@plt>
  test   %eax,%eax
  je     L424
  mov    $0x1,%eax
  jmp    L257
L424:
  mov    -0x8(%rbp),%rax
  add    $0x2,%rax
  movzbl (%rax),%eax
  cmp    $0x49,%al
  jne    L239
  mov    -0x8(%rbp),%rax
  lea    D19(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <streq@plt>
  test   %eax,%eax
  je     L299
  mov    $0x1,%eax
  jmp    L257
L299:
  mov    -0x8(%rbp),%rax
  lea    D10(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <streq@plt>
  test   %eax,%eax
  je     L428
  mov    $0x1,%eax
  jmp    L257
L428:
  mov    -0x8(%rbp),%rax
  lea    D158(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <streq@plt>
  test   %eax,%eax
  je     L86
  mov    $0x1,%eax
  jmp    L257
L86:
  mov    -0x8(%rbp),%rax
  lea    D18(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <streq@plt>
  test   %eax,%eax
  je     L322
  mov    $0x1,%eax
  jmp    L257
L322:
  mov    -0x8(%rbp),%rax
  lea    D142(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <streq@plt>
  test   %eax,%eax
  je     L205
  mov    $0x1,%eax
  jmp    L257
L205:
  mov    -0x8(%rbp),%rax
  lea    D143(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <streq@plt>
  test   %eax,%eax
  je     L354
  mov    $0x1,%eax
  jmp    L257
L354:
  mov    -0x8(%rbp),%rax
  lea    D152(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <streq@plt>
  test   %eax,%eax
  je     L111
  mov    $0x1,%eax
  jmp    L257
L111:
  mov    -0x8(%rbp),%rax
  lea    D117(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <streq@plt>
  test   %eax,%eax
  je     L239
  mov    $0x1,%eax
  jmp    L257
L239:
  mov    -0x8(%rbp),%rax
  lea    D16(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <streq@plt>
  test   %eax,%eax
  je     L49
  mov    $0x1,%eax
  jmp    L257
L49:
  mov    -0x8(%rbp),%rax
  lea    D119(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <streq@plt>
  test   %eax,%eax
  je     L192
  mov    $0x1,%eax
  jmp    L257
L192:
  mov    -0x8(%rbp),%rax
  lea    D130(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <streq@plt>
  test   %eax,%eax
  je     L390
  mov    $0x1,%eax
  jmp    L257
L390:
  mov    -0x8(%rbp),%rax
  lea    D110(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <streq@plt>
  test   %eax,%eax
  je     L375
  mov    $0x1,%eax
  jmp    L257
L375:
  mov    -0x8(%rbp),%rax
  lea    D91(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <streq@plt>
  test   %eax,%eax
  je     L105
  mov    $0x1,%eax
  jmp    L257
L105:
  mov    $0x0,%eax
L257:
  leave
  ret
```

tool_calls: name: read_data
arguments: data_label: D72
data_type: string
name: read_data
arguments: data_label: D14
data_type: string
name: read_data
arguments: data_label: D114
data_type: string
name: read_data
arguments: data_label: D7
data_type: string
name: read_data
arguments: data_label: D80
data_type: string
name: read_data
arguments: data_label: D47
data_type: string
name: read_data
arguments: data_label: D165
data_type: string
name: read_data
arguments: data_label: D41
data_type: string
name: read_data
arguments: data_label: D21
data_type: string
name: read_data
arguments: data_label: D19
data_type: string
name: read_data
arguments: data_label: D10
data_type: string
name: read_data
arguments: data_label: D158
data_type: string
name: read_data
arguments: data_label: D18
data_type: string
name: read_data
arguments: data_label: D142
data_type: string
name: read_data
arguments: data_label: D143
data_type: string
name: read_data
arguments: data_label: D152
data_type: string
name: read_data
arguments: data_label: D117
data_type: string
name: read_data
arguments: data_label: D16
data_type: string
name: read_data
arguments: data_label: D119
data_type: string
name: read_data
arguments: data_label: D130
data_type: string
name: read_data
arguments: data_label: D110
data_type: string
name: read_data
arguments: data_label: D91
data_type: string

tool: D72: MOV

tool: D14: INR

tool: D114: DCR

tool: D7: INX

tool: D80: DCX

tool: D47: DAD

tool: D165: MVI

tool: D41: DB

tool: D21: DS

tool: D19: CPI

tool: D10: ORI

tool: D158: ANI

tool: D18: ADI

tool: D142: SUI

tool: D143: SBI

tool: D152: XRI

tool: D117: ACI

tool: D16: ORG

tool: D119: TITLE

tool: D130: PAGE

tool: D110: EJECT

tool: D91: MACRO

assistant: ```c
norelop(op) char *op;
{
  if (streq(op, "MOV"))
    return 1;
  if (streq(op, "INR"))
    return 1;
  if (streq(op, "DCR"))
    return 1;
  if (streq(op, "INX"))
    return 1;
  if (streq(op, "DCX"))
    return 1;
  if (streq(op, "DAD"))
    return 1;
  if (streq(op, "MVI"))
    return 1;
  if (streq(op, "DB"))
    return 1;
  if (streq(op, "DS"))
    return 1;
  if (op[2] == 'I') {
    if (streq(op, "CPI"))
      return 1;
    if (streq(op, "ORI"))
      return 1;
    if (streq(op, "ANI"))
      return 1;
    if (streq(op, "ADI"))
      return 1;
    if (streq(op, "SUI"))
      return 1;
    if (streq(op, "SBI"))
      return 1;
    if (streq(op, "XRI"))
      return 1;
    if (streq(op, "ACI"))
      return 1;
  }
  if (streq(op, "ORG"))
    return 1;
  if (streq(op, "TITLE"))
    return 1;
  if (streq(op, "PAGE"))
    return 1;
  if (streq(op, "EJECT"))
    return 1;
  if (streq(op, "MACRO"))
    return 1;
  return 0;
}
```