user: 请将以下的汇编代码转换成C语言代码:

```asm
<init_gen7_instdone>:
  endbr64
  sub    $0x8,%rsp
  lea    D128(%rip),%rsi
  mov    $0x80000,%edi
  call   <gen6_instdone1_bit@plt>
  lea    D91(%rip),%rsi
  mov    $0x40000,%edi
  call   <gen6_instdone1_bit@plt>
  lea    D100(%rip),%rsi
  mov    $0x20000,%edi
  call   <gen6_instdone1_bit@plt>
  lea    D168(%rip),%rsi
  mov    $0x10000,%edi
  call   <gen6_instdone1_bit@plt>
  lea    D119(%rip),%rsi
  mov    $0x8000,%edi
  call   <gen6_instdone1_bit@plt>
  lea    D95(%rip),%rsi
  mov    $0x4000,%edi
  call   <gen6_instdone1_bit@plt>
  lea    D121(%rip),%rsi
  mov    $0x2000,%edi
  call   <gen6_instdone1_bit@plt>
  lea    D61(%rip),%rsi
  mov    $0x1000,%edi
  call   <gen6_instdone1_bit@plt>
  lea    D9(%rip),%rsi
  mov    $0x200,%edi
  call   <gen6_instdone1_bit@plt>
  lea    D69(%rip),%rsi
  mov    $0x100,%edi
  call   <gen6_instdone1_bit@plt>
  lea    D10(%rip),%rsi
  mov    $0x80,%edi
  call   <gen6_instdone1_bit@plt>
  lea    D59(%rip),%rsi
  mov    $0x40,%edi
  call   <gen6_instdone1_bit@plt>
  lea    D159(%rip),%rsi
  mov    $0x20,%edi
  call   <gen6_instdone1_bit@plt>
  lea    D35(%rip),%rsi
  mov    $0x10,%edi
  call   <gen6_instdone1_bit@plt>
  lea    D24(%rip),%rsi
  mov    $0x8,%edi
  call   <gen6_instdone1_bit@plt>
  lea    D55(%rip),%rsi
  mov    $0x4,%edi
  call   <gen6_instdone1_bit@plt>
  lea    D57(%rip),%rsi
  mov    $0x2,%edi
  add    $0x8,%rsp
  jmp    1050 <gen6_instdone1_bit@plt>
```

tool_calls: name: unpack_data
arguments: data_tag: D128
datatype: string
name: unpack_data
arguments: data_tag: D91
datatype: string
name: unpack_data
arguments: data_tag: D100
datatype: string
name: unpack_data
arguments: data_tag: D168
datatype: string
name: unpack_data
arguments: data_tag: D119
datatype: string
name: unpack_data
arguments: data_tag: D95
datatype: string
name: unpack_data
arguments: data_tag: D121
datatype: string
name: unpack_data
arguments: data_tag: D61
datatype: string
name: unpack_data
arguments: data_tag: D9
datatype: string
name: unpack_data
arguments: data_tag: D69
datatype: string
name: unpack_data
arguments: data_tag: D10
datatype: string
name: unpack_data
arguments: data_tag: D59
datatype: string
name: unpack_data
arguments: data_tag: D159
datatype: string
name: unpack_data
arguments: data_tag: D35
datatype: string
name: unpack_data
arguments: data_tag: D24
datatype: string
name: unpack_data
arguments: data_tag: D55
datatype: string
name: unpack_data
arguments: data_tag: D57
datatype: string

tool: D128: Memory Arbiter (GAM)

tool: D91: GAFM

tool: D100: Thread Spawner (TSG)

tool: D168: Video Front-End (VFE)

tool: D119: GAFS

tool: D95: SVG

tool: D121: Uni. Ret. Buf. Mgr. (URBM)

tool: D61: Thread Dispatcher (TDG)

tool: D9: FF Strips & Fans (SF)

tool: D69: FF Clip Unit (CL)

tool: D10: FF Stream Output Logic (SOL)

tool: D59: FF Geometry Shader (GS)

tool: D159: FF Domain Shader (DS)

tool: D35: FF Tessellation Engine (TE)

tool: D24: FF Hull Shader (HS)

tool: D55: FF Vertex Shader (VS)

tool: D57: FF Vertex Fetch (VF)

assistant: ```c
void init_gen7_instdone(void) {
  gen6_instdone1_bit(1 << 19, "Memory Arbiter (GAM)");
  gen6_instdone1_bit(1 << 18, "GAFM");
  gen6_instdone1_bit(1 << 17, "Thread Spawner (TSG)");
  gen6_instdone1_bit(1 << 16, "Video Front-End (VFE)");
  gen6_instdone1_bit(1 << 15, "GAFS");
  gen6_instdone1_bit(1 << 14, "SVG");
  gen6_instdone1_bit(1 << 13, "Uni. Ret. Buf. Mgr. (URBM)");
  gen6_instdone1_bit(1 << 12, "Thread Dispatcher (TDG)");
  gen6_instdone1_bit(1 << 9, "FF Strips & Fans (SF)");
  gen6_instdone1_bit(1 << 8, "FF Clip Unit (CL)");
  gen6_instdone1_bit(1 << 7, "FF Stream Output Logic (SOL)");
  gen6_instdone1_bit(1 << 6, "FF Geometry Shader (GS)");
  gen6_instdone1_bit(1 << 5, "FF Domain Shader (DS)");
  gen6_instdone1_bit(1 << 4, "FF Tessellation Engine (TE)");
  gen6_instdone1_bit(1 << 3, "FF Hull Shader (HS)");
  gen6_instdone1_bit(1 << 2, "FF Vertex Shader (VS)");
  gen6_instdone1_bit(1 << 1, "FF Vertex Fetch (VF)");
}
```