user: 提供的汇编代码用C语言表示会是什么样子:

```asm
<Parser_DisplayTagInfo>:
  endbr64
  movzbl %sil,%r8d
  cmp    $0x3f,%sil
  jbe    L46
  lea    -0x40(%rsi),%eax
  jbe    L20
  lea    D650(%rip),%rdx
  movzbl %al,%eax
  movslq (%rdx,%rax,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  nopl   0x0(%rax,%rax,1)
L46:
  cmp    $0xe,%sil
  je     L27
  ja     L42
  cmp    $0x9,%sil
  je     L69
  cmp    $0xa,%sil
  jne    L10
  mov    $0xa,%edx
  lea    D378(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  nopl   (%rax)
L42:
  cmp    $0x3f,%sil
  jne    L10
  mov    $0x3f,%edx
  lea    D282(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  nop
L10:
  mov    %r8d,%edx
  lea    D88(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  nop
L69:
  mov    $0x9,%edx
  lea    D321(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  nopl   0x0(%rax)
L27:
  mov    $0xe,%edx
  lea    D226(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  nopl   0x0(%rax)
L20:
  mov    %r8d,%edx
  lea    D22(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x40,%edx
  lea    D304(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x41,%edx
  lea    D707(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x42,%edx
  lea    D352(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x43,%edx
  lea    D559(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x44,%edx
  lea    D462(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x45,%edx
  lea    D518(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x46,%edx
  lea    D272(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x47,%edx
  lea    D68(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x48,%edx
  lea    D672(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x49,%edx
  lea    D607(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x4a,%edx
  lea    D265(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x4b,%edx
  lea    D480(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x4c,%edx
  lea    D180(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x4d,%edx
  lea    D357(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x4e,%edx
  lea    D551(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x4f,%edx
  lea    D629(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x50,%edx
  lea    D526(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x51,%edx
  lea    D294(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x52,%edx
  lea    D153(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x53,%edx
  lea    D620(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x54,%edx
  lea    D632(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x55,%edx
  lea    D227(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x56,%edx
  lea    D578(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x57,%edx
  lea    D80(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x58,%edx
  lea    D314(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x59,%edx
  lea    D52(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x5a,%edx
  lea    D715(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x5b,%edx
  lea    D667(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x5c,%edx
  lea    D619(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x5d,%edx
  lea    D384(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x5e,%edx
  lea    D616(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x5f,%edx
  lea    D573(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x60,%edx
  lea    D522(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x61,%edx
  lea    D498(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x62,%edx
  lea    D541(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x63,%edx
  lea    D223(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x64,%edx
  lea    D238(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x65,%edx
  lea    D54(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x66,%edx
  lea    D665(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x67,%edx
  lea    D411(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x68,%edx
  lea    D234(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x69,%edx
  lea    D307(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x6a,%edx
  lea    D470(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x6b,%edx
  lea    D570(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x6c,%edx
  lea    D684(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x6d,%edx
  lea    D107(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x6e,%edx
  lea    D145(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x6f,%edx
  lea    D283(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x70,%edx
  lea    D247(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x71,%edx
  lea    D417(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x72,%edx
  lea    D583(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x73,%edx
  lea    D300(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x74,%edx
  lea    D112(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x75,%edx
  lea    D322(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x76,%edx
  lea    D236(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x77,%edx
  lea    D564(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x78,%edx
  lea    D719(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x79,%edx
  lea    D525(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x7a,%edx
  lea    D30(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x7b,%edx
  lea    D700(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x7c,%edx
  lea    D218(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x7d,%edx
  lea    D258(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x7e,%edx
  lea    D605(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0x7f,%edx
  lea    D683(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
  mov    $0xff,%edx
  lea    D132(%rip),%rsi
  jmp    1050 <Parser_TsPacketLog@plt>
```

tool_calls: name: read_data
arguments: label: D378
type_infered: string
name: read_data
arguments: label: D282
type_infered: string
name: read_data
arguments: label: D88
type_infered: string
name: read_data
arguments: label: D321
type_infered: string
name: read_data
arguments: label: D226
type_infered: string
name: read_data
arguments: label: D22
type_infered: string
name: read_data
arguments: label: D304
type_infered: string
name: read_data
arguments: label: D707
type_infered: string
name: read_data
arguments: label: D352
type_infered: string
name: read_data
arguments: label: D559
type_infered: string
name: read_data
arguments: label: D462
type_infered: string
name: read_data
arguments: label: D518
type_infered: string
name: read_data
arguments: label: D272
type_infered: string
name: read_data
arguments: label: D68
type_infered: string
name: read_data
arguments: label: D672
type_infered: string
name: read_data
arguments: label: D607
type_infered: string
name: read_data
arguments: label: D265
type_infered: string
name: read_data
arguments: label: D480
type_infered: string
name: read_data
arguments: label: D180
type_infered: string
name: read_data
arguments: label: D357
type_infered: string
name: read_data
arguments: label: D551
type_infered: string
name: read_data
arguments: label: D629
type_infered: string
name: read_data
arguments: label: D526
type_infered: string
name: read_data
arguments: label: D294
type_infered: string
name: read_data
arguments: label: D153
type_infered: string
name: read_data
arguments: label: D620
type_infered: string
name: read_data
arguments: label: D632
type_infered: string
name: read_data
arguments: label: D227
type_infered: string
name: read_data
arguments: label: D578
type_infered: string
name: read_data
arguments: label: D80
type_infered: string
name: read_data
arguments: label: D314
type_infered: string
name: read_data
arguments: label: D52
type_infered: string
name: read_data
arguments: label: D715
type_infered: string
name: read_data
arguments: label: D667
type_infered: string
name: read_data
arguments: label: D619
type_infered: string
name: read_data
arguments: label: D384
type_infered: string
name: read_data
arguments: label: D616
type_infered: string
name: read_data
arguments: label: D573
type_infered: string
name: read_data
arguments: label: D522
type_infered: string
name: read_data
arguments: label: D498
type_infered: string
name: read_data
arguments: label: D541
type_infered: string
name: read_data
arguments: label: D223
type_infered: string
name: read_data
arguments: label: D238
type_infered: string
name: read_data
arguments: label: D54
type_infered: string
name: read_data
arguments: label: D665
type_infered: string
name: read_data
arguments: label: D411
type_infered: string
name: read_data
arguments: label: D234
type_infered: string
name: read_data
arguments: label: D307
type_infered: string
name: read_data
arguments: label: D470
type_infered: string
name: read_data
arguments: label: D570
type_infered: string
name: read_data
arguments: label: D684
type_infered: string
name: read_data
arguments: label: D107
type_infered: string
name: read_data
arguments: label: D145
type_infered: string
name: read_data
arguments: label: D283
type_infered: string
name: read_data
arguments: label: D247
type_infered: string
name: read_data
arguments: label: D417
type_infered: string
name: read_data
arguments: label: D583
type_infered: string
name: read_data
arguments: label: D300
type_infered: string
name: read_data
arguments: label: D112
type_infered: string
name: read_data
arguments: label: D322
type_infered: string
name: read_data
arguments: label: D236
type_infered: string
name: read_data
arguments: label: D564
type_infered: string
name: read_data
arguments: label: D719
type_infered: string
name: read_data
arguments: label: D525
type_infered: string
name: read_data
arguments: label: D30
type_infered: string
name: read_data
arguments: label: D700
type_infered: string
name: read_data
arguments: label: D218
type_infered: string
name: read_data
arguments: label: D258
type_infered: string
name: read_data
arguments: label: D605
type_infered: string
name: read_data
arguments: label: D683
type_infered: string
name: read_data
arguments: label: D132
type_infered: string

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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


tool: D132: ******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;
  }
}
```