user: 请显示与下面列出的汇编代码相匹配的C语言实现:

```asm
<Parser_DisplayTagInfo>:
  endbr64
  movzbl %sil,%r8d
  cmp    $0x3f,%sil
  jbe    L64
  lea    -0x40(%rsi),%eax
  jbe    L47
  lea    D717(%rip),%rdx
  movzbl %al,%eax
  movslq (%rdx,%rax,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  nopl   0x0(%rax,%rax,1)
L64:
  cmp    $0xe,%sil
  je     L56
  ja     L11
  cmp    $0x9,%sil
  je     L46
  cmp    $0xa,%sil
  jne    L40
  mov    $0xa,%edx
  lea    D329(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  nopl   (%rax)
L11:
  cmp    $0x3f,%sil
  jne    L40
  mov    $0x3f,%edx
  lea    D527(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  nop
L40:
  mov    %r8d,%edx
  lea    D617(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  nop
L46:
  mov    $0x9,%edx
  lea    D18(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  nopl   0x0(%rax)
L56:
  mov    $0xe,%edx
  lea    D325(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  nopl   0x0(%rax)
L47:
  mov    %r8d,%edx
  lea    D280(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x40,%edx
  lea    D31(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x41,%edx
  lea    D597(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x42,%edx
  lea    D300(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x43,%edx
  lea    D96(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x44,%edx
  lea    D529(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x45,%edx
  lea    D546(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x46,%edx
  lea    D166(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x47,%edx
  lea    D660(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x48,%edx
  lea    D442(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x49,%edx
  lea    D421(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x4a,%edx
  lea    D53(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x4b,%edx
  lea    D547(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x4c,%edx
  lea    D340(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x4d,%edx
  lea    D179(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x4e,%edx
  lea    D516(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x4f,%edx
  lea    D42(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x50,%edx
  lea    D101(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x51,%edx
  lea    D81(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x52,%edx
  lea    D557(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x53,%edx
  lea    D441(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x54,%edx
  lea    D241(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x55,%edx
  lea    D79(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x56,%edx
  lea    D118(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x57,%edx
  lea    D137(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x58,%edx
  lea    D15(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x59,%edx
  lea    D11(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x5a,%edx
  lea    D29(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x5b,%edx
  lea    D35(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x5c,%edx
  lea    D23(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x5d,%edx
  lea    D659(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x5e,%edx
  lea    D602(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x5f,%edx
  lea    D611(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x60,%edx
  lea    D176(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x61,%edx
  lea    D483(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x62,%edx
  lea    D174(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x63,%edx
  lea    D567(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x64,%edx
  lea    D374(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x65,%edx
  lea    D26(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x66,%edx
  lea    D195(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x67,%edx
  lea    D649(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x68,%edx
  lea    D349(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x69,%edx
  lea    D20(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x6a,%edx
  lea    D259(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x6b,%edx
  lea    D129(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x6c,%edx
  lea    D396(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x6d,%edx
  lea    D107(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x6e,%edx
  lea    D38(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x6f,%edx
  lea    D47(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x70,%edx
  lea    D110(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x71,%edx
  lea    D593(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x72,%edx
  lea    D632(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x73,%edx
  lea    D41(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x74,%edx
  lea    D199(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x75,%edx
  lea    D49(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x76,%edx
  lea    D460(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x77,%edx
  lea    D380(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x78,%edx
  lea    D188(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x79,%edx
  lea    D0(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x7a,%edx
  lea    D467(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x7b,%edx
  lea    D677(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x7c,%edx
  lea    D600(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x7d,%edx
  lea    D126(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x7e,%edx
  lea    D98(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x7f,%edx
  lea    D688(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0xff,%edx
  lea    D151(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
```

tool_calls: name: unpack_data
arguments: label: D329
type: string
name: unpack_data
arguments: label: D527
type: string
name: unpack_data
arguments: label: D617
type: string
name: unpack_data
arguments: label: D18
type: string
name: unpack_data
arguments: label: D325
type: string
name: unpack_data
arguments: label: D280
type: string
name: unpack_data
arguments: label: D31
type: string
name: unpack_data
arguments: label: D597
type: string
name: unpack_data
arguments: label: D300
type: string
name: unpack_data
arguments: label: D96
type: string
name: unpack_data
arguments: label: D529
type: string
name: unpack_data
arguments: label: D546
type: string
name: unpack_data
arguments: label: D166
type: string
name: unpack_data
arguments: label: D660
type: string
name: unpack_data
arguments: label: D442
type: string
name: unpack_data
arguments: label: D421
type: string
name: unpack_data
arguments: label: D53
type: string
name: unpack_data
arguments: label: D547
type: string
name: unpack_data
arguments: label: D340
type: string
name: unpack_data
arguments: label: D179
type: string
name: unpack_data
arguments: label: D516
type: string
name: unpack_data
arguments: label: D42
type: string
name: unpack_data
arguments: label: D101
type: string
name: unpack_data
arguments: label: D81
type: string
name: unpack_data
arguments: label: D557
type: string
name: unpack_data
arguments: label: D441
type: string
name: unpack_data
arguments: label: D241
type: string
name: unpack_data
arguments: label: D79
type: string
name: unpack_data
arguments: label: D118
type: string
name: unpack_data
arguments: label: D137
type: string
name: unpack_data
arguments: label: D15
type: string
name: unpack_data
arguments: label: D11
type: string
name: unpack_data
arguments: label: D29
type: string
name: unpack_data
arguments: label: D35
type: string
name: unpack_data
arguments: label: D23
type: string
name: unpack_data
arguments: label: D659
type: string
name: unpack_data
arguments: label: D602
type: string
name: unpack_data
arguments: label: D611
type: string
name: unpack_data
arguments: label: D176
type: string
name: unpack_data
arguments: label: D483
type: string
name: unpack_data
arguments: label: D174
type: string
name: unpack_data
arguments: label: D567
type: string
name: unpack_data
arguments: label: D374
type: string
name: unpack_data
arguments: label: D26
type: string
name: unpack_data
arguments: label: D195
type: string
name: unpack_data
arguments: label: D649
type: string
name: unpack_data
arguments: label: D349
type: string
name: unpack_data
arguments: label: D20
type: string
name: unpack_data
arguments: label: D259
type: string
name: unpack_data
arguments: label: D129
type: string
name: unpack_data
arguments: label: D396
type: string
name: unpack_data
arguments: label: D107
type: string
name: unpack_data
arguments: label: D38
type: string
name: unpack_data
arguments: label: D47
type: string
name: unpack_data
arguments: label: D110
type: string
name: unpack_data
arguments: label: D593
type: string
name: unpack_data
arguments: label: D632
type: string
name: unpack_data
arguments: label: D41
type: string
name: unpack_data
arguments: label: D199
type: string
name: unpack_data
arguments: label: D49
type: string
name: unpack_data
arguments: label: D460
type: string
name: unpack_data
arguments: label: D380
type: string
name: unpack_data
arguments: label: D188
type: string
name: unpack_data
arguments: label: D0
type: string
name: unpack_data
arguments: label: D467
type: string
name: unpack_data
arguments: label: D677
type: string
name: unpack_data
arguments: label: D600
type: string
name: unpack_data
arguments: label: D126
type: string
name: unpack_data
arguments: label: D98
type: string
name: unpack_data
arguments: label: D688
type: string
name: unpack_data
arguments: label: D151
type: string

tool: D329: ******Descriptor tag : 0x%x (PMT) : iso639_language_descriptor ******


tool: D527: ******Descriptor tag : 0x%x (PMT) : reserved_descriptor ******


tool: D617: ******Descriptor tag : 0x%x : unkown ******


tool: D18: ******Descriptor tag : 0x%x (CAT PMT) : ca_descriptor ******


tool: D325: ******Descriptor tag : 0x%x (PMT) : maxinum_bitrate_descriptor ******


tool: D280: ******Descriptor tag : 0x%x : user defined ******


tool: D31: ******Descriptor tag : 0x%x (NIT) : network_name_descriptor ******


tool: D597: ******Descriptor tag : 0x%x (NIT BAT) : service_list_descriptor ******


tool: D300: ******Descriptor tag : 0x%x (NIT BAT SDT EIT SIT) : stuffing_descriptor ******


tool: D96: ******Descriptor tag : 0x%x (NIT) : satellite_delivery_system_descriptor ******


tool: D529: ******Descriptor tag : 0x%x (NIT) : cable_delivery_system_descriptor ******


tool: D546: ******Descriptor tag : 0x%x (PMT) : VBI_data_descriptor ******


tool: D166: ******Descriptor tag : 0x%x (PMT) : VBI_teletext_descriptor ******


tool: D660: ******Descriptor tag : 0x%x (BAT SIT) : bouquet_name_descriptor ******


tool: D442: ******Descriptor tag : 0x%x (SDT SIT) : service_descriptor ******


tool: D421: ******Descriptor tag : 0x%x (BAT SDT SIT) : country_availability_descriptor ******


tool: D53: ******Descriptor tag : 0x%x (NIT BAT SDT EIT SIT) : linkage_descriptor ******


tool: D547: ******Descriptor tag : 0x%x (SDT SIT) : NVOD_reference_descriptor ******


tool: D340: ******Descriptor tag : 0x%x (SDT SIT) : time_shifted_service_descriptor ******


tool: D179: ******Descriptor tag : 0x%x (EIT SIT) : short_event_descriptor ******


tool: D516: ******Descriptor tag : 0x%x (EIT SIT) : extended_event_descriptor ******


tool: D42: ******Descriptor tag : 0x%x (EIT SIT) : time_shifted_event_descriptor ******


tool: D101: ******Descriptor tag : 0x%x (SDT EIT SIT) : component_descriptor ******


tool: D81: ******Descriptor tag : 0x%x (SDT PMT SIT) : mosaic_descriptor ******


tool: D557: ******Descriptor tag : 0x%x (PMT) : stream_identifier_descriptor ******


tool: D441: ******Descriptor tag : 0x%x (BAT SDT EIT SIT) : CA_identifier_descriptor ******


tool: D241: ******Descriptor tag : 0x%x (EIT SIT) : content_descriptor ******


tool: D79: ******Descriptor tag : 0x%x (EIT SIT) : parental_rating_descriptor ******


tool: D118: ******Descriptor tag : 0x%x (PMT) : teletext_descriptor ******


tool: D137: ******Descriptor tag : 0x%x (SDT EIT SIT) : telephone_descriptor ******


tool: D15: ******Descriptor tag : 0x%x (TOT) : local_time_offset_descriptor ******


tool: D11: ******Descriptor tag : 0x%x (PMT) : subtitling_descriptor ******


tool: D29: ******Descriptor tag : 0x%x (NIT) : terrestrial_delivery_system_descriptor ******


tool: D35: ******Descriptor tag : 0x%x (NIT) : multilingual_network_name_descriptor ******


tool: D23: ******Descriptor tag : 0x%x (BAT) : multilingual_bouquet_name_descriptor ******


tool: D659: ******Descriptor tag : 0x%x (SDT SIT) : multilingual_service_name_descriptor ******


tool: D602: ******Descriptor tag : 0x%x (EIT SIT) : multilingual_component_descriptor ******


tool: D611: ******Descriptor tag : 0x%x (NIT BAT SDT EIT PMT SIT) : private_data_specifier_descriptor ******


tool: D176: ******Descriptor tag : 0x%x (PMT) : service_move_descriptor ******


tool: D483: ******Descriptor tag : 0x%x (EIT SIT) : short_smoothing_buffer_descriptor ******


tool: D174: ******Descriptor tag : 0x%x (NIT) : frequency_list_descriptor ******


tool: D567: ******Descriptor tag : 0x%x (SIT) : partial_transport_stream_descriptor ******


tool: D374: ******Descriptor tag : 0x%x (SDT EIT) : data_broadcast_descriptor ******


tool: D26: ******Descriptor tag : 0x%x (PMT) : scrambling_descriptor ******


tool: D195: ******Descriptor tag : 0x%x (PMT) : data_broadcast_id_descriptor ******


tool: D649: ******Descriptor tag : 0x%x : transport_stream_descriptor ******


tool: D349: ******Descriptor tag : 0x%x : DSNG_descriptor ******


tool: D20: ******Descriptor tag : 0x%x (EIT) : PDC_descriptor ******


tool: D259: ******Descriptor tag : 0x%x (PMT) : AC-3_descriptor ******


tool: D129: ******Descriptor tag : 0x%x (PMT) : ancillary_data_descriptor ******


tool: D396: ******Descriptor tag : 0x%x (NIT) : cell_list_descriptor ******


tool: D107: ******Descriptor tag : 0x%x (NIT) : cell_frequency_link_descriptor ******


tool: D38: ******Descriptor tag : 0x%x (SDT) : announcement_support_descriptor ******


tool: D47: ******Descriptor tag : 0x%x (PMT) : application_signalling_descriptor ******


tool: D110: ******Descriptor tag : 0x%x (PMT) : adaptation_field_data_descriptor ******


tool: D593: ******Descriptor tag : 0x%x (SDT) : service_identifier_descriptor ******


tool: D632: ******Descriptor tag : 0x%x (SDT) : service_availability_descriptor ******


tool: D41: ******Descriptor tag : 0x%x (NIT BAT SDT) : default_authority_descriptor ******


tool: D199: ******Descriptor tag : 0x%x (PMT) : related_content_descriptor ******


tool: D49: ******Descriptor tag : 0x%x (EIT) : TVA_id_descriptor ******


tool: D460: ******Descriptor tag : 0x%x (EIT) : content_identifier_descriptor ******


tool: D380: ******Descriptor tag : 0x%x (NIT) : time_slice_fec_identifier_descriptor ******


tool: D188: ******Descriptor tag : 0x%x (PMT) : ECM_repetition_rate_descriptor ******


tool: D0: ******Descriptor tag : 0x%x (NIT) : S2_satellite_delivery_system_descriptor ******


tool: D467: ******Descriptor tag : 0x%x (PMT) : enhanced_AC-3_descriptor ******


tool: D677: ******Descriptor tag : 0x%x (PMT) : DTS descriptor ******


tool: D600: ******Descriptor tag : 0x%x (PMT) : AAC descriptor ******


tool: D126: ******Descriptor tag : 0x%x (NIT BAT SDT EIT TOT PMT SIT) : XAIT location descriptor ******


tool: D98: ******Descriptor tag : 0x%x (NIT BAT SDT EIT) : FTA_content_management_descriptor ******


tool: D688: ******Descriptor tag : 0x%x (NIT BAT SDT EIT TOT PMT SIT) : extension descriptor ******


tool: D151: ******Descriptor tag : 0x%x : forbidden ******


assistant: ```c
void Parser_DisplayTagInfo(unsigned int type, unsigned char tag) {
  if (tag < 0x40) {
    switch (tag) {
    case 0x09:
      Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (CAT PMT) : ca_descriptor ******\n", tag);
      break;
    case 0x0A:
      Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (PMT) : iso639_language_descriptor ******\n", tag);
      break;
    case 0x0E:
      Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (PMT) : maxinum_bitrate_descriptor ******\n", tag);
      break;
    case 0x3F:
      Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (PMT) : reserved_descriptor ******\n", tag);
      break;
    default:
      Parser_TsPacketLog(type, "******Descriptor tag : 0x%x : unkown ******\n", tag);
      break;
    }
    return;
  }
  switch (tag) {
  case 0x40:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (NIT) : network_name_descriptor ******\n", tag);
    break;
  case 0x41:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (NIT BAT) : service_list_descriptor ******\n", tag);
    break;
  case 0x42:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (NIT BAT SDT EIT SIT) : stuffing_descriptor ******\n", tag);
    break;
  case 0x43:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (NIT) : satellite_delivery_system_descriptor ******\n", tag);
    break;
  case 0x44:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (NIT) : cable_delivery_system_descriptor ******\n", tag);
    break;
  case 0x45:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (PMT) : VBI_data_descriptor ******\n", tag);
    break;
  case 0x46:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (PMT) : VBI_teletext_descriptor ******\n", tag);
    break;
  case 0x47:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (BAT SIT) : bouquet_name_descriptor ******\n", tag);
    break;
  case 0x48:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (SDT SIT) : service_descriptor ******\n", tag);
    break;
  case 0x49:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (BAT SDT SIT) : country_availability_descriptor ******\n", tag);
    break;
  case 0x4A:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (NIT BAT SDT EIT SIT) : linkage_descriptor ******\n", tag);
    break;
  case 0x4B:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (SDT SIT) : NVOD_reference_descriptor ******\n", tag);
    break;
  case 0x4C:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (SDT SIT) : time_shifted_service_descriptor ******\n", tag);
    break;
  case 0x4D:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (EIT SIT) : short_event_descriptor ******\n", tag);
    break;
  case 0x4E:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (EIT SIT) : extended_event_descriptor ******\n", tag);
    break;
  case 0x4F:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (EIT SIT) : time_shifted_event_descriptor ******\n", tag);
    break;
  case 0x50:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (SDT EIT SIT) : component_descriptor ******\n", tag);
    break;
  case 0x51:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (SDT PMT SIT) : mosaic_descriptor ******\n", tag);
    break;
  case 0x52:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (PMT) : stream_identifier_descriptor ******\n", tag);
    break;
  case 0x53:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (BAT SDT EIT SIT) : CA_identifier_descriptor ******\n", tag);
    break;
  case 0x54:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (EIT SIT) : content_descriptor ******\n", tag);
    break;
  case 0x55:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (EIT SIT) : parental_rating_descriptor ******\n", tag);
    break;
  case 0x56:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (PMT) : teletext_descriptor ******\n", tag);
    break;
  case 0x57:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (SDT EIT SIT) : telephone_descriptor ******\n", tag);
    break;
  case 0x58:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (TOT) : local_time_offset_descriptor ******\n", tag);
    break;
  case 0x59:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (PMT) : subtitling_descriptor ******\n", tag);
    break;
  case 0x5A:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (NIT) : terrestrial_delivery_system_descriptor ******\n", tag);
    break;
  case 0x5B:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (NIT) : multilingual_network_name_descriptor ******\n", tag);
    break;
  case 0x5C:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (BAT) : multilingual_bouquet_name_descriptor ******\n", tag);
    break;
  case 0x5D:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (SDT SIT) : multilingual_service_name_descriptor ******\n", tag);
    break;
  case 0x5E:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (EIT SIT) : multilingual_component_descriptor ******\n", tag);
    break;
  case 0x5F:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (NIT BAT SDT EIT PMT SIT) : private_data_specifier_descriptor ******\n", tag);
    break;
  case 0x60:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (PMT) : service_move_descriptor ******\n", tag);
    break;
  case 0x61:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (EIT SIT) : short_smoothing_buffer_descriptor ******\n", tag);
    break;
  case 0x62:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (NIT) : frequency_list_descriptor ******\n", tag);
    break;
  case 0x63:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (SIT) : partial_transport_stream_descriptor ******\n", tag);
    break;
  case 0x64:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (SDT EIT) : data_broadcast_descriptor ******\n", tag);
    break;
  case 0x65:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (PMT) : scrambling_descriptor ******\n", tag);
    break;
  case 0x66:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (PMT) : data_broadcast_id_descriptor ******\n", tag);
    break;
  case 0x67:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x : transport_stream_descriptor ******\n", tag);
    break;
  case 0x68:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x : DSNG_descriptor ******\n", tag);
    break;
  case 0x69:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (EIT) : PDC_descriptor ******\n", tag);
    break;
  case 0x6A:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (PMT) : AC-3_descriptor ******\n", tag);
    break;
  case 0x6B:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (PMT) : ancillary_data_descriptor ******\n", tag);
    break;
  case 0x6C:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (NIT) : cell_list_descriptor ******\n", tag);
    break;
  case 0x6D:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (NIT) : cell_frequency_link_descriptor ******\n", tag);
    break;
  case 0x6E:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (SDT) : announcement_support_descriptor ******\n", tag);
    break;
  case 0x6F:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (PMT) : application_signalling_descriptor ******\n", tag);
    break;
  case 0x70:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (PMT) : adaptation_field_data_descriptor ******\n", tag);
    break;
  case 0x71:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (SDT) : service_identifier_descriptor ******\n", tag);
    break;
  case 0x72:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (SDT) : service_availability_descriptor ******\n", tag);
    break;
  case 0x73:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (NIT BAT SDT) : default_authority_descriptor ******\n", tag);
    break;
  case 0x74:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (PMT) : related_content_descriptor ******\n", tag);
    break;
  case 0x75:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (EIT) : TVA_id_descriptor ******\n", tag);
    break;
  case 0x76:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (EIT) : content_identifier_descriptor ******\n", tag);
    break;
  case 0x77:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (NIT) : time_slice_fec_identifier_descriptor ******\n", tag);
    break;
  case 0x78:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (PMT) : ECM_repetition_rate_descriptor ******\n", tag);
    break;
  case 0x79:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (NIT) : S2_satellite_delivery_system_descriptor ******\n", tag);
    break;
  case 0x7A:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (PMT) : enhanced_AC-3_descriptor ******\n", tag);
    break;
  case 0x7B:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (PMT) : DTS descriptor ******\n", tag);
    break;
  case 0x7C:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (PMT) : AAC descriptor ******\n", tag);
    break;
  case 0x7D:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (NIT BAT SDT EIT TOT PMT SIT) : XAIT location descriptor ******\n", tag);
    break;
  case 0x7E:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (NIT BAT SDT EIT) : FTA_content_management_descriptor ******\n", tag);
    break;
  case 0x7F:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x (NIT BAT SDT EIT TOT PMT SIT) : extension descriptor ******\n", tag);
    break;
  case 0xFF:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x : forbidden ******\n", tag);
    break;
  default:
    Parser_TsPacketLog(type, "******Descriptor tag : 0x%x : user defined ******\n", tag);
    break;
  }
}
```