// File: /workspace/github_cpp_makefile_star2_O2/jkingan[P]ladyheather/heathmsc.cpp
// Function: show_sro_info(int, int, int)
int show_sro_info(int row,int col, int max_row)
{
int col2;
int color;

   col2 = col + 40;
   color = WHITE;

   if(SCREEN_HEIGHT <= TINY_HEIGHT) {
      no_y_margin = 1;
   }
   if(max_row < 999) {
      if(SCREEN_HEIGHT <= 480) {
         ++row;
         ++max_row;
      }
      fill_rectangle(0,(row+1)*TEXT_HEIGHT, (VER_COL+1)*TEXT_WIDTH-0,(max_row-row)*TEXT_HEIGHT, BLACK);
      goto info_table;
   }

   erase_screen();
     
   if(SCREEN_WIDTH >= NARROW_SCREEN) {
//    show_prs_status(row,col2+40-1, MOUSE_ROW); 
   }

   info_table:
   if(sro_r4F & 0x03) {
      sprintf(out, "R4F- DDS limited:     %d", sro_r4F);
      vidstr(row++,col, RED, out);
   }

   if(row >= max_row) goto done;
   sprintf(out, "HH - EFC input:       %7.5f V", sro_hh);
   vidstr(row++,col, WHITE, out);
   if(row >= max_row) goto done;

   sprintf(out, "FF - Rb signal:       %7.5f V", sro_ff);
   vidstr(row++,col, WHITE, out);
   if(row >= max_row) goto done;

   sprintf(out, "EE - photocell:       %7.5f V", sro_ee);
   vidstr(row++,col, WHITE, out);
   if(row >= max_row) goto done;

   sprintf(out, "DD - varactor:        %7.5f V", sro_dd);
   vidstr(row++,col, WHITE, out);
   if(row >= max_row) goto done;

   sprintf(out, "CC - lamp current:    %7.5f %%", sro_cc);
   vidstr(row++,col, WHITE, out);
   if(row >= max_row) goto done;

   sprintf(out, "BB - heater current:  %7.5f %%", sro_bb);
   vidstr(row++,col, WHITE, out);
   if(row >= max_row) goto done;

   sprintf(out, "AA - reserved:        %7.5f", sro_aa);
   vidstr(row++,col, WHITE, out);
   if(row >= max_row) goto done;

   sprintf(out, "GG - reserved:        %7.5f", sro_gg);
   vidstr(row++,col, WHITE, out);
   if(row >= max_row) goto done;


   sprintf(out, "VS - PPSref sigma:    %.1f ns", sro_vs);
   vidstr(row++,col, WHITE, out);
   if(row >= max_row) goto done;

   sprintf(out, "VT - loop time const: %d sec", sro_vt);
   vidstr(row++,col, WHITE, out);
   if(row >= max_row) goto done;

   sprintf(out, "TC - time constant:   %d sec", sro_tc);
   vidstr(row++,col, WHITE, out);
   if(row >= max_row) goto done;

   sprintf(out, "TR - track mode:      %d", sro_tr);
   vidstr(row++,col, WHITE, out);
   if(row >= max_row) goto done;

   sprintf(out, "SY - sync mode:       %d", sro_sy);
   vidstr(row++,col, WHITE, out);
   if(row >= max_row) goto done;

   sprintf(out, "RA - phase adjust:    %d", sro_ra);
   vidstr(row++,col, WHITE, out);
   if(row >= max_row) goto done;

   sprintf(out, "CO - fine phase ofs:  %d ns", sro_co);
   vidstr(row++,col, WHITE, out);
   if(row >= max_row) goto done;

   sprintf(out, "DE - PPS delay:       %.1f ns", (double) sro_de*SRO_TICK);
   vidstr(row++,col, WHITE, out);
   if(row >= max_row) goto done;

   sprintf(out, "PW - PPS width:       %.1f us", (double) sro_pw*SRO_TICK/1000.0);
   vidstr(row++,col, WHITE, out);
   if(row >= max_row) goto done;

   sprintf(out, "FC - freq correction: %g PPT", ((double)sro_fc)*5.12E-13*1.0E12);
   vidstr(row++,col, WHITE, out);
   if(row >= max_row) goto done;

   sprintf(out, "FS - freq save mode:  %d", sro_fs);
   vidstr(row++,col, WHITE, out);
   if(row >= max_row) goto done;

   sprintf(out, "TW - tracking window  %.1f ns", (double) sro_tw*SRO_TICK);
   vidstr(row++,col, WHITE, out);
   if(row >= max_row) goto done;

   sprintf(out, "AW - alarm window:    %.1f ns", (double) sro_aw*SRO_TICK);
   vidstr(row++,col, WHITE, out);
   if(row >= max_row) goto done;

   sprintf(out, "GF - go fast mode:    %d", sro_gf);
   vidstr(row++,col, WHITE, out);
   if(row >= max_row) goto done;

   sprintf(out, "Freq limitation:      %.3f PPT", sro_freq_lim*1.0E12);
   vidstr(row++,col, WHITE, out);
   if(row >= max_row) goto done;

   sprintf(out, "Startup freq corr:    %.3f PPT", sro_poweron_fc*1.0E12);
   vidstr(row++,col, WHITE, out);
   if(row >= max_row) goto done;

   done:
   no_y_margin = 0;
   return row;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %edx, %r15d
movl %esi, %r13d
movl %edi, %ebx
leaq 0x14b72f(%rip), %rax    # 0x202804
movl (%rax), %eax
cmpl $0x1e0, %eax            # imm = 0x1E0
jg 0xb70e8
leaq 0x14b776(%rip), %rcx    # 0x20285b
movb $0x1, (%rcx)
cmpl $0x3e6, %r15d           # imm = 0x3E6
jg 0xb7140
xorl %ecx, %ecx
cmpl $0x1e1, %eax            # imm = 0x1E1
setl %cl
addl %ecx, %r15d
leal (%rcx,%rbx), %r14d
leal (%rcx,%rbx), %esi
incl %esi
leaq 0x14b706(%rip), %rax    # 0x202814
movl (%rax), %eax
leaq 0x14b681(%rip), %rcx    # 0x202798
movl (%rcx), %edx
incl %edx
leaq 0x14b6ee(%rip), %rcx    # 0x202810
imull (%rcx), %edx
imull %eax, %esi
movl %r15d, %ecx
subl %r14d, %ecx
imull %eax, %ecx
xorl %edi, %edi
xorl %r8d, %r8d
callq 0xed4b
movl %r14d, %ebx
jmp 0xb7145
callq 0xe7d9
leaq 0x240ab8(%rip), %rax    # 0x2f7c04
movl (%rax), %edx
testb $0x3, %dl
je 0xb7182
leaq 0x26f0c6(%rip), %r12    # 0x326220
leaq 0x61f53(%rip), %rsi     # 0x1190b4
movq %r12, %rdi
xorl %eax, %eax
callq 0x9060
leal 0x1(%rbx), %r14d
pushq $0xc
popq %rdx
movl %ebx, %edi
movl %r13d, %esi
movq %r12, %rcx
callq 0xe2d2
movl %r14d, %ebx
cmpl %r15d, %ebx
jge 0xb77f6
leaq 0x2409d6(%rip), %rax    # 0x2f7b68
movsd (%rax), %xmm0
movl %r15d, %r14d
movl %r13d, %r15d
leaq 0x26f07d(%rip), %r13    # 0x326220
leaq 0x61f23(%rip), %rsi     # 0x1190cd
movq %r13, %rdi
movb $0x1, %al
callq 0x9060
leal 0x1(%rbx), %r12d
pushq $0xf
popq %rdx
movl %ebx, %edi
movl %r15d, %esi
movq %r13, %rcx
callq 0xe2d2
movl %r14d, -0x2c(%rbp)
cmpl %r14d, %r12d
jge 0xb77ee
leaq 0x24099c(%rip), %rax    # 0x2f7b78
movsd (%rax), %xmm0
leaq 0x26f039(%rip), %r14    # 0x326220
leaq 0x61efd(%rip), %rsi     # 0x1190eb
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x2(%rbx), %r13d
pushq $0xf
popq %rdx
movl %r12d, %edi
movl %r15d, %esi
movq %r14, %rcx
callq 0xe2d2
cmpl -0x2c(%rbp), %r13d
jge 0xb77f3
leaq 0x240962(%rip), %rax    # 0x2f7b80
movsd (%rax), %xmm0
leaq 0x26eff7(%rip), %r14    # 0x326220
leaq 0x61ed9(%rip), %rsi     # 0x119109
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x3(%rbx), %r12d
pushq $0xf
popq %rdx
movl %r13d, %edi
movl %r15d, %esi
movq %r14, %rcx
callq 0xe2d2
cmpl -0x2c(%rbp), %r12d
jge 0xb77ee
leaq 0x240928(%rip), %rax    # 0x2f7b88
movsd (%rax), %xmm0
leaq 0x26efb5(%rip), %r14    # 0x326220
leaq 0x61eb5(%rip), %rsi     # 0x119127
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x4(%rbx), %r13d
pushq $0xf
popq %rdx
movl %r12d, %edi
movl %r15d, %esi
movq %r14, %rcx
callq 0xe2d2
cmpl -0x2c(%rbp), %r13d
jge 0xb77f3
leaq 0x2408ee(%rip), %rax    # 0x2f7b90
movsd (%rax), %xmm0
leaq 0x26ef73(%rip), %r14    # 0x326220
leaq 0x61e91(%rip), %rsi     # 0x119145
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x5(%rbx), %r12d
pushq $0xf
popq %rdx
movl %r13d, %edi
movl %r15d, %esi
movq %r14, %rcx
callq 0xe2d2
cmpl -0x2c(%rbp), %r12d
jge 0xb77ee
leaq 0x2408b4(%rip), %rax    # 0x2f7b98
movsd (%rax), %xmm0
leaq 0x26ef31(%rip), %r14    # 0x326220
leaq 0x61e6e(%rip), %rsi     # 0x119164
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x6(%rbx), %r13d
pushq $0xf
popq %rdx
movl %r12d, %edi
movl %r15d, %esi
movq %r14, %rcx
callq 0xe2d2
cmpl -0x2c(%rbp), %r13d
jge 0xb77f3
leaq 0x24087a(%rip), %rax    # 0x2f7ba0
movsd (%rax), %xmm0
leaq 0x26eeef(%rip), %r14    # 0x326220
leaq 0x61e4b(%rip), %rsi     # 0x119183
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x7(%rbx), %r12d
pushq $0xf
popq %rdx
movl %r13d, %edi
movl %r15d, %esi
movq %r14, %rcx
callq 0xe2d2
cmpl -0x2c(%rbp), %r12d
jge 0xb77ee
leaq 0x240808(%rip), %rax    # 0x2f7b70
movsd (%rax), %xmm0
leaq 0x26eead(%rip), %r14    # 0x326220
leaq 0x61e25(%rip), %rsi     # 0x11919f
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x8(%rbx), %r13d
pushq $0xf
popq %rdx
movl %r12d, %edi
movl %r15d, %esi
movq %r14, %rcx
callq 0xe2d2
cmpl -0x2c(%rbp), %r13d
jge 0xb77f3
leaq 0x240826(%rip), %rax    # 0x2f7bd0
movsd (%rax), %xmm0
leaq 0x26ee6b(%rip), %r14    # 0x326220
leaq 0x61dff(%rip), %rsi     # 0x1191bb
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x9(%rbx), %r12d
pushq $0xf
popq %rdx
movl %r13d, %edi
movl %r15d, %esi
movq %r14, %rcx
callq 0xe2d2
cmpl -0x2c(%rbp), %r12d
jge 0xb77ee
leaq 0x2407ec(%rip), %rax    # 0x2f7bd8
movl (%rax), %edx
leaq 0x26ee2b(%rip), %r14    # 0x326220
leaq 0x61ddd(%rip), %rsi     # 0x1191d9
movq %r14, %rdi
xorl %eax, %eax
callq 0x9060
leal 0xa(%rbx), %r13d
pushq $0xf
popq %rdx
movl %r12d, %edi
movl %r15d, %esi
movq %r14, %rcx
callq 0xe2d2
cmpl -0x2c(%rbp), %r13d
jge 0xb77f3
leaq 0x24079c(%rip), %rax    # 0x2f7bc8
movl (%rax), %edx
leaq 0x26edeb(%rip), %r14    # 0x326220
leaq 0x61dba(%rip), %rsi     # 0x1191f6
movq %r14, %rdi
xorl %eax, %eax
callq 0x9060
leal 0xb(%rbx), %r12d
pushq $0xf
popq %rdx
movl %r13d, %edi
movl %r15d, %esi
movq %r14, %rcx
callq 0xe2d2
cmpl -0x2c(%rbp), %r12d
jge 0xb77ee
leaq 0x24073c(%rip), %rax    # 0x2f7ba8
movl (%rax), %edx
leaq 0x26edab(%rip), %r14    # 0x326220
leaq 0x61d97(%rip), %rsi     # 0x119213
movq %r14, %rdi
xorl %eax, %eax
callq 0x9060
leal 0xc(%rbx), %r13d
pushq $0xf
popq %rdx
movl %r12d, %edi
movl %r15d, %esi
movq %r14, %rcx
callq 0xe2d2
cmpl -0x2c(%rbp), %r13d
jge 0xb77f3
leaq 0x240700(%rip), %rax    # 0x2f7bac
movl (%rax), %edx
leaq 0x26ed6b(%rip), %r14    # 0x326220
leaq 0x61d70(%rip), %rsi     # 0x11922c
movq %r14, %rdi
xorl %eax, %eax
callq 0x9060
leal 0xd(%rbx), %r12d
pushq $0xf
popq %rdx
movl %r13d, %edi
movl %r15d, %esi
movq %r14, %rcx
callq 0xe2d2
cmpl -0x2c(%rbp), %r12d
jge 0xb77ee
leaq 0x2406f4(%rip), %rax    # 0x2f7be0
movl (%rax), %edx
leaq 0x26ed2b(%rip), %r14    # 0x326220
leaq 0x61d49(%rip), %rsi     # 0x119245
movq %r14, %rdi
xorl %eax, %eax
callq 0x9060
leal 0xe(%rbx), %r13d
pushq $0xf
popq %rdx
movl %r12d, %edi
movl %r15d, -0x30(%rbp)
movl %r15d, %esi
movq %r14, %rcx
callq 0xe2d2
movl -0x2c(%rbp), %eax
cmpl %eax, %r13d
jge 0xb77f3
movl %eax, %r15d
leaq 0x240697(%rip), %rax    # 0x2f7bcc
movl (%rax), %edx
leaq 0x26ece2(%rip), %r14    # 0x326220
leaq 0x61d19(%rip), %rsi     # 0x11925e
movq %r14, %rdi
xorl %eax, %eax
callq 0x9060
leal 0xf(%rbx), %r12d
pushq $0xf
popq %rdx
movl %r13d, %edi
movl -0x30(%rbp), %esi
movq %r14, %rcx
callq 0xe2d2
cmpl %r15d, %r12d
jge 0xb77ee
leaq 0x24063c(%rip), %rax    # 0x2f7bb0
cvtsi2sdl (%rax), %xmm0
mulsd 0x3e508(%rip), %xmm0    # 0xf5a88
leaq 0x26ec99(%rip), %r14    # 0x326220
leaq 0x61cec(%rip), %rsi     # 0x11927a
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x10(%rbx), %r13d
pushq $0xf
popq %rdx
movl %r12d, %edi
movl -0x30(%rbp), %esi
movq %r14, %rcx
callq 0xe2d2
cmpl %r15d, %r13d
jge 0xb77f3
leaq 0x2405f7(%rip), %rax    # 0x2f7bb4
cvtsi2sdl (%rax), %xmm0
mulsd 0x3e4bf(%rip), %xmm0    # 0xf5a88
divsd 0x3ba67(%rip), %xmm0    # 0xf3038
leaq 0x26ec48(%rip), %r14    # 0x326220
leaq 0x61cb9(%rip), %rsi     # 0x119298
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x11(%rbx), %r12d
pushq $0xf
popq %rdx
movl %r13d, %edi
movl -0x30(%rbp), %esi
movq %r14, %rcx
callq 0xe2d2
cmpl %r15d, %r12d
jge 0xb77ee
leaq 0x2405aa(%rip), %rax    # 0x2f7bb8
cvtsi2sdl (%rax), %xmm0
mulsd 0x3bb36(%rip), %xmm0    # 0xf3150
mulsd 0x3bb36(%rip), %xmm0    # 0xf3158
leaq 0x26ebf7(%rip), %r14    # 0x326220
leaq 0x61c86(%rip), %rsi     # 0x1192b6
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x12(%rbx), %r13d
pushq $0xf
popq %rdx
movl %r12d, %edi
movl -0x30(%rbp), %esi
movq %r14, %rcx
callq 0xe2d2
cmpl %r15d, %r13d
jge 0xb77f3
leaq 0x24055d(%rip), %rax    # 0x2f7bbc
movl (%rax), %edx
leaq 0x26ebb8(%rip), %r14    # 0x326220
leaq 0x61c64(%rip), %rsi     # 0x1192d3
movq %r14, %rdi
xorl %eax, %eax
callq 0x9060
leal 0x13(%rbx), %r12d
pushq $0xf
popq %rdx
movl %r13d, %edi
movl -0x30(%rbp), %esi
movq %r14, %rcx
callq 0xe2d2
cmpl %r15d, %r12d
jge 0xb77ee
leaq 0x240522(%rip), %rax    # 0x2f7bc0
cvtsi2sdl (%rax), %xmm0
mulsd 0x3e3de(%rip), %xmm0    # 0xf5a88
leaq 0x26eb6f(%rip), %r14    # 0x326220
leaq 0x61c34(%rip), %rsi     # 0x1192ec
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x14(%rbx), %r13d
pushq $0xf
popq %rdx
movl %r12d, %edi
movl -0x30(%rbp), %esi
movq %r14, %rcx
callq 0xe2d2
cmpl %r15d, %r13d
jge 0xb77f3
leaq 0x2404dd(%rip), %rax    # 0x2f7bc4
cvtsi2sdl (%rax), %xmm0
mulsd 0x3e395(%rip), %xmm0    # 0xf5a88
leaq 0x26eb26(%rip), %r14    # 0x326220
leaq 0x61c09(%rip), %rsi     # 0x11930a
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x15(%rbx), %r12d
pushq $0xf
popq %rdx
movl %r13d, %edi
movl -0x30(%rbp), %esi
movq %r14, %rcx
callq 0xe2d2
cmpl %r15d, %r12d
jge 0xb77ee
leaq 0x2404ac(%rip), %rax    # 0x2f7bdc
movl (%rax), %edx
leaq 0x26eae7(%rip), %r14    # 0x326220
leaq 0x61be8(%rip), %rsi     # 0x119328
movq %r14, %rdi
xorl %eax, %eax
callq 0x9060
leal 0x16(%rbx), %r13d
pushq $0xf
popq %rdx
movl %r12d, %edi
movl -0x30(%rbp), %esi
movq %r14, %rcx
callq 0xe2d2
cmpl %r15d, %r13d
jge 0xb77f3
leaq 0x2404a9(%rip), %rax    # 0x2f7c18
movsd (%rax), %xmm0
mulsd 0x3b9dd(%rip), %xmm0    # 0xf3158
leaq 0x26ea9e(%rip), %r14    # 0x326220
leaq 0x61bb8(%rip), %rsi     # 0x119341
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x17(%rbx), %r12d
pushq $0xf
popq %rdx
movl %r13d, %edi
movl -0x30(%rbp), %esi
movq %r14, %rcx
callq 0xe2d2
cmpl %r15d, %r12d
jge 0xb77ee
leaq 0x24046c(%rip), %rax    # 0x2f7c20
movsd (%rax), %xmm0
mulsd 0x3b998(%rip), %xmm0    # 0xf3158
leaq 0x26ea59(%rip), %r14    # 0x326220
leaq 0x61b92(%rip), %rsi     # 0x119360
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
addl $0x18, %ebx
pushq $0xf
popq %rdx
movl %r12d, %edi
movl -0x30(%rbp), %esi
movq %r14, %rcx
callq 0xe2d2
jmp 0xb77f6
movl %r12d, %ebx
jmp 0xb77f6
movl %r13d, %ebx
leaq 0x14b05e(%rip), %rax    # 0x20285b
movb $0x0, (%rax)
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq