// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathmsc.cpp
// Function: log_ticc_info()
void log_ticc_info()
{
   strcpy(log_text, "#");
   write_log_comment(1);

   if(ticc_type == TAPR_TICC) {
      sprintf(log_text, "#   Unit type:     TAPR TICC");
      write_log_comment(1);
      sprintf(log_text, "#   Serial number: %s", ticc_sn);
      write_log_comment(1);
      sprintf(log_text, "#   Firmware ver:  %s", ticc_fw);
      write_log_comment(1);
      sprintf(log_text, "#   Board ver:     %s", ticc_board);
      write_log_comment(1);
      sprintf(log_text, "#   EEPROM ver:    %d", ticc_eeprom);
      write_log_comment(1);
      sprintf(log_text, "#");
      write_log_comment(1);
   }
   else if(ticc_type == HP_TICC) {
      sprintf(log_text, "#   Unit type:     HP-53xxx interval counter");
      write_log_comment(1);
   }
   else if(ticc_type == PICPET_TICC) {
      sprintf(log_text, "#   Unit type:     PICPET timestamp  counter");
      write_log_comment(1);
   }
   else if(ticc_type == LARS_TICC) {
      sprintf(log_text, "#   Unit type:     LARS GPSDO TIC");
      write_log_comment(1);
   }
   else {
      sprintf(log_text, "#   Unit type:     Generic interval counter");
      write_log_comment(1);
   }

   if(have_ticc_mode) {
      if     (ticc_mode == 'F') sprintf(log_text, "#   Mode:          Frequency");
      else if(ticc_mode == 'H') sprintf(log_text, "#   Mode:          Phase");
      else if(ticc_mode == 'I') sprintf(log_text, "#   Mode:          Interval");
      else if(ticc_mode == 'P') sprintf(log_text, "#   Mode:          Period");
      else if(ticc_mode == 'T') sprintf(log_text, "#   Mode:          Timestamp");
      else if(ticc_mode == 'D') sprintf(log_text, "#   Mode:          Debug");
      else if(ticc_mode == 'L') sprintf(log_text, "#   Mode:          Timelab");
      else                      sprintf(log_text, "#   Mode:          Unknown: %c", ticc_mode);
      write_log_comment(1);
   }
   if(have_ticc_syncmode) {
      sprintf(log_text, "#   Sync mode:     %c", ticc_syncmode);
      write_log_comment(1);
   }
   if(have_ticc_cal) {
      sprintf(log_text, "#   Cal periods:   %d", ticc_cal);
      write_log_comment(1);
   }
   if(have_ticc_timeout) {
      sprintf(log_text, "#   Timeout:       %d", ticc_timeout);
      write_log_comment(1);
   }
   if(have_ticc_speed) {
      sprintf(log_text, "#   Clock speed:   %f MHz", ticc_speed);
      write_log_comment(1);
   }
   if(have_ticc_coarse) {
      sprintf(log_text, "#   Coarse speed:  %f usec", ticc_coarse);
      write_log_comment(1);
   }

   if(have_ticc_edges & 0x01) {
      sprintf(log_text, "#   chA edge:      %c", edge_a);
      write_log_comment(1);
   }
   if(have_ticc_edges & 0x02) {
      sprintf(log_text, "#   chB edge:      %c", edge_b);
      write_log_comment(1);
   }
   if(have_ticc_edges & 0x04) {
      sprintf(log_text, "#   chC edge:      %c", edge_c);
      write_log_comment(1);
   }
   if(have_ticc_edges & 0x08) {
      sprintf(log_text, "#   chD edge:      %c", edge_d);
      write_log_comment(1);
   }

   if(have_ticc_fudge & 0x01) {
      sprintf(log_text, "#   chA Fudge:     %g ps", fudge_a);
      write_log_comment(1);
   }
   if(have_ticc_fudge & 0x02) {
      sprintf(log_text, "#   chB Fudge:     %g ps", fudge_b);
      write_log_comment(1);
   }
   if(have_ticc_fudge & 0x04) {
      sprintf(log_text, "#   chC Fudge:     %g ps", fudge_c);
      write_log_comment(1);
   }
   if(have_ticc_fudge & 0x08) {
      sprintf(log_text, "#   chD Fudge:     %g ps", fudge_d);
      write_log_comment(1);
   }

   if(have_ticc_time2 & 0x01) {
      sprintf(log_text, "#   chA TIME2:     %d", time2_a);
      write_log_comment(1);
   }
   if(have_ticc_time2 & 0x02) {
      sprintf(log_text, "#   chB TIME2:     %d", time2_b);
      write_log_comment(1);
   }
   if(have_ticc_time2 & 0x04) {
      sprintf(log_text, "#   chC TIME2:     %d", time2_c);
      write_log_comment(1);
   }
   if(have_ticc_time2 & 0x08) {
      sprintf(log_text, "#   chD TIME2:     %d", time2_d);
      write_log_comment(1);
   }

   if(have_ticc_dilat & 0x01) {
      sprintf(log_text, "#   chA Dilation   %d", dilat_a);
      write_log_comment(1);
   }
   if(have_ticc_dilat & 0x02) {
      sprintf(log_text, "#   chB Dilation   %d", dilat_b);
      write_log_comment(1);
   }
   if(have_ticc_dilat & 0x04) {
      sprintf(log_text, "#   chC Dilation   %d", dilat_c);
      write_log_comment(1);
   }
   if(have_ticc_dilat & 0x08) {
      sprintf(log_text, "#   chD Dilation   %d", dilat_d);
      write_log_comment(1);
   }

   strcpy(log_text, "#");
   write_log_comment(1);
   strcpy(log_text, "#");
   write_log_comment(1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
leaq 0x17984b(%rip), %rbx    # 0x23d960
movw $0x23, (%rbx)
movl $0x1, %edi
callq 0xc36e2
leaq 0x1547dd(%rip), %rax    # 0x218908
movl (%rax), %eax
addl $-0x48, %eax
roll $0x1e, %eax
cmpl $0x3, %eax
ja 0xc425d
leaq 0x66d8d(%rip), %rcx     # 0x12aed0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movups 0x697c2(%rip), %xmm0    # 0x12d915
movups %xmm0, 0x1d(%rbx)
movups 0x697aa(%rip), %xmm0    # 0x12d908
movaps %xmm0, 0x10(%rbx)
movups 0x6978f(%rip), %xmm0    # 0x12d8f8
jmp 0xc427a
movups 0x697cd(%rip), %xmm0    # 0x12d942
movups %xmm0, 0x1d(%rbx)
movups 0x697b5(%rip), %xmm0    # 0x12d935
movaps %xmm0, 0x10(%rbx)
movups 0x6979a(%rip), %xmm0    # 0x12d925
jmp 0xc427a
movups 0x696f9(%rip), %xmm0    # 0x12d890
movups %xmm0, 0xd(%rbx)
movups 0x696e1(%rip), %xmm0    # 0x12d883
movaps %xmm0, (%rbx)
movl $0x1, %edi
callq 0xc36e2
leaq 0x696ea(%rip), %rsi     # 0x12d8a0
leaq 0x248b03(%rip), %rdx    # 0x30ccc0
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
leaq 0x696de(%rip), %rsi     # 0x12d8b6
leaq 0x248ac1(%rip), %rdx    # 0x30cca0
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
leaq 0x696d2(%rip), %rsi     # 0x12d8cc
leaq 0x248adf(%rip), %rdx    # 0x30cce0
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
leaq 0x248ae4(%rip), %rax    # 0x30cd00
movl (%rax), %edx
leaq 0x696bd(%rip), %rsi     # 0x12d8e2
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
movw $0x23, (%rbx)
jmp 0xc427d
movups 0x6971b(%rip), %xmm0    # 0x12d962
movaps %xmm0, 0x10(%rbx)
movups 0x69700(%rip), %xmm0    # 0x12d952
movaps %xmm0, (%rbx)
movw $0x43, 0x20(%rbx)
jmp 0xc427d
movups 0x6972c(%rip), %xmm0    # 0x12d990
movups %xmm0, 0x1c(%rbx)
movups 0x69715(%rip), %xmm0    # 0x12d984
movaps %xmm0, 0x10(%rbx)
movups 0x696fa(%rip), %xmm0    # 0x12d974
movaps %xmm0, (%rbx)
movl $0x1, %edi
callq 0xc36e2
leaq 0x248a82(%rip), %rax    # 0x30cd10
cmpl $0x0, (%rax)
je 0xc4369
leaq 0x248a6e(%rip), %rax    # 0x30cd0c
movl (%rax), %edx
leal -0x44(%rdx), %eax
cmpl $0x10, %eax
ja 0xc42cf
leaq 0x66c31(%rip), %rcx     # 0x12aee0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movups 0x69773(%rip), %xmm0    # 0x12da32
movups %xmm0, 0x9(%rbx)
movups 0x6975f(%rip), %xmm0    # 0x12da29
jmp 0xc435c
leaq 0x17968a(%rip), %rdi    # 0x23d960
leaq 0x69780(%rip), %rsi     # 0x12da5d
xorl %eax, %eax
callq 0x9060
jmp 0xc435f
movups 0x6970f(%rip), %xmm0    # 0x12d9fc
movups %xmm0, 0xa(%rbx)
movups 0x696fa(%rip), %xmm0    # 0x12d9f2
jmp 0xc435c
movups 0x696ac(%rip), %xmm0    # 0x12d9ad
movups %xmm0, 0xd(%rbx)
movups 0x69694(%rip), %xmm0    # 0x12d9a0
jmp 0xc435c
movups 0x69704(%rip), %xmm0    # 0x12da19
movups %xmm0, 0xd(%rbx)
movups 0x696ec(%rip), %xmm0    # 0x12da0c
jmp 0xc435c
movups 0x6969d(%rip), %xmm0    # 0x12d9c6
movups %xmm0, 0x9(%rbx)
movups 0x69689(%rip), %xmm0    # 0x12d9bd
jmp 0xc435c
movups 0x696a5(%rip), %xmm0    # 0x12d9e2
movups %xmm0, 0xc(%rbx)
movups 0x6968e(%rip), %xmm0    # 0x12d9d6
jmp 0xc435c
movups 0x696fc(%rip), %xmm0    # 0x12da4d
movups %xmm0, 0xb(%rbx)
movups 0x696e6(%rip), %xmm0    # 0x12da42
movaps %xmm0, (%rbx)
movl $0x1, %edi
callq 0xc36e2
leaq 0x2489ac(%rip), %rax    # 0x30cd1c
cmpl $0x0, (%rax)
je 0xc439d
leaq 0x24899c(%rip), %rax    # 0x30cd18
movl (%rax), %edx
leaq 0x1795db(%rip), %rdi    # 0x23d960
leaq 0x696f0(%rip), %rsi     # 0x12da7c
xorl %eax, %eax
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
leaq 0x248980(%rip), %rax    # 0x30cd24
cmpl $0x0, (%rax)
je 0xc43d1
leaq 0x248970(%rip), %rax    # 0x30cd20
movl (%rax), %edx
leaq 0x1795a7(%rip), %rdi    # 0x23d960
leaq 0x696d2(%rip), %rsi     # 0x12da92
xorl %eax, %eax
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
leaq 0x248954(%rip), %rax    # 0x30cd2c
cmpl $0x0, (%rax)
je 0xc4405
leaq 0x248944(%rip), %rax    # 0x30cd28
movl (%rax), %edx
leaq 0x179573(%rip), %rdi    # 0x23d960
leaq 0x696b4(%rip), %rsi     # 0x12daa8
xorl %eax, %eax
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
leaq 0x24892c(%rip), %rax    # 0x30cd38
cmpl $0x0, (%rax)
je 0xc443b
leaq 0x248918(%rip), %rax    # 0x30cd30
movsd (%rax), %xmm0
leaq 0x17953d(%rip), %rdi    # 0x23d960
leaq 0x69694(%rip), %rsi     # 0x12dabe
movb $0x1, %al
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
leaq 0x248906(%rip), %rax    # 0x30cd48
cmpl $0x0, (%rax)
je 0xc4471
leaq 0x2488f2(%rip), %rax    # 0x30cd40
movsd (%rax), %xmm0
leaq 0x179507(%rip), %rdi    # 0x23d960
leaq 0x69678(%rip), %rsi     # 0x12dad8
movb $0x1, %al
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
leaq 0x24890c(%rip), %r14    # 0x30cd84
movl (%r14), %eax
testb $0x1, %al
je 0xc44aa
leaq 0x2488ee(%rip), %rax    # 0x30cd74
movl (%rax), %edx
leaq 0x1794d1(%rip), %rdi    # 0x23d960
leaq 0x6965d(%rip), %rsi     # 0x12daf3
xorl %eax, %eax
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
movl (%r14), %eax
testb $0x2, %al
je 0xc44d9
leaq 0x2488c3(%rip), %rax    # 0x30cd78
movl (%rax), %edx
leaq 0x1794a2(%rip), %rdi    # 0x23d960
leaq 0x69644(%rip), %rsi     # 0x12db09
xorl %eax, %eax
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
movl (%r14), %eax
testb $0x4, %al
je 0xc4508
leaq 0x248898(%rip), %rax    # 0x30cd7c
movl (%rax), %edx
leaq 0x179473(%rip), %rdi    # 0x23d960
leaq 0x6962b(%rip), %rsi     # 0x12db1f
xorl %eax, %eax
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
movl (%r14), %eax
testb $0x8, %al
je 0xc4534
leaq 0x24886d(%rip), %rax    # 0x30cd80
movl (%rax), %edx
leaq 0x179444(%rip), %rdi    # 0x23d960
leaq 0x69612(%rip), %rsi     # 0x12db35
xorl %eax, %eax
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
leaq 0x248835(%rip), %r14    # 0x30cd70
movl (%r14), %eax
testb $0x1, %al
je 0xc456f
leaq 0x248807(%rip), %rax    # 0x30cd50
movsd (%rax), %xmm0
leaq 0x17940c(%rip), %rdi    # 0x23d960
leaq 0x695f0(%rip), %rsi     # 0x12db4b
movb $0x1, %al
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
movl (%r14), %eax
testb $0x2, %al
je 0xc45a0
leaq 0x2487de(%rip), %rax    # 0x30cd58
movsd (%rax), %xmm0
leaq 0x1793db(%rip), %rdi    # 0x23d960
leaq 0x695d8(%rip), %rsi     # 0x12db64
movb $0x1, %al
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
movl (%r14), %eax
testb $0x4, %al
je 0xc45d1
leaq 0x2487b5(%rip), %rax    # 0x30cd60
movsd (%rax), %xmm0
leaq 0x1793aa(%rip), %rdi    # 0x23d960
leaq 0x695c0(%rip), %rsi     # 0x12db7d
movb $0x1, %al
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
movl (%r14), %eax
testb $0x8, %al
je 0xc45ff
leaq 0x24878c(%rip), %rax    # 0x30cd68
movsd (%rax), %xmm0
leaq 0x179379(%rip), %rdi    # 0x23d960
leaq 0x695a8(%rip), %rsi     # 0x12db96
movb $0x1, %al
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
leaq 0x248792(%rip), %r14    # 0x30cd98
movl (%r14), %eax
testb $0x1, %al
je 0xc4638
leaq 0x248774(%rip), %rax    # 0x30cd88
movl (%rax), %edx
leaq 0x179343(%rip), %rdi    # 0x23d960
leaq 0x6958b(%rip), %rsi     # 0x12dbaf
xorl %eax, %eax
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
movl (%r14), %eax
testb $0x2, %al
je 0xc4667
leaq 0x248749(%rip), %rax    # 0x30cd8c
movl (%rax), %edx
leaq 0x179314(%rip), %rdi    # 0x23d960
leaq 0x69572(%rip), %rsi     # 0x12dbc5
xorl %eax, %eax
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
movl (%r14), %eax
testb $0x4, %al
je 0xc4696
leaq 0x24871e(%rip), %rax    # 0x30cd90
movl (%rax), %edx
leaq 0x1792e5(%rip), %rdi    # 0x23d960
leaq 0x69559(%rip), %rsi     # 0x12dbdb
xorl %eax, %eax
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
movl (%r14), %eax
testb $0x8, %al
je 0xc46c2
leaq 0x2486f3(%rip), %rax    # 0x30cd94
movl (%rax), %edx
leaq 0x1792b6(%rip), %rdi    # 0x23d960
leaq 0x69540(%rip), %rsi     # 0x12dbf1
xorl %eax, %eax
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
leaq 0x2486e3(%rip), %r14    # 0x30cdac
movl (%r14), %eax
testb $0x1, %al
je 0xc46fb
leaq 0x2486c5(%rip), %rax    # 0x30cd9c
movl (%rax), %edx
leaq 0x179280(%rip), %rdi    # 0x23d960
leaq 0x69520(%rip), %rsi     # 0x12dc07
xorl %eax, %eax
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
movl (%r14), %eax
testb $0x2, %al
je 0xc472a
leaq 0x24869a(%rip), %rax    # 0x30cda0
movl (%rax), %edx
leaq 0x179251(%rip), %rdi    # 0x23d960
leaq 0x69507(%rip), %rsi     # 0x12dc1d
xorl %eax, %eax
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
movl (%r14), %eax
testb $0x4, %al
je 0xc4759
leaq 0x24866f(%rip), %rax    # 0x30cda4
movl (%rax), %edx
leaq 0x179222(%rip), %rdi    # 0x23d960
leaq 0x694ee(%rip), %rsi     # 0x12dc33
xorl %eax, %eax
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
movl (%r14), %eax
testb $0x8, %al
je 0xc4785
leaq 0x248644(%rip), %rax    # 0x30cda8
movl (%rax), %edx
leaq 0x1791f3(%rip), %rdi    # 0x23d960
leaq 0x694d5(%rip), %rsi     # 0x12dc49
xorl %eax, %eax
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
movw $0x23, %r14w
movw %r14w, (%rbx)
movl $0x1, %edi
callq 0xc36e2
movw %r14w, (%rbx)
movl $0x1, %edi
popq %rbx
popq %r14
popq %rbp
jmp 0xc36e2