// File: /workspace/github_cpp_makefile_star2_O1/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 0x1509f6(%rip), %rax    # 0x218804
movl (%rax), %eax
cmpl $0x1e0, %eax            # imm = 0x1E0
jg 0xc7e21
leaq 0x150a3d(%rip), %rcx    # 0x21885b
movb $0x1, (%rcx)
cmpl $0x3e6, %r15d           # imm = 0x3E6
jg 0xc7e79
xorl %ecx, %ecx
cmpl $0x1e1, %eax            # imm = 0x1E1
setl %cl
addl %ecx, %r15d
leal (%rcx,%rbx), %r14d
leal (%rcx,%rbx), %esi
incl %esi
leaq 0x1509cd(%rip), %rax    # 0x218814
movl (%rax), %eax
leaq 0x150948(%rip), %rcx    # 0x218798
movl (%rcx), %edx
incl %edx
leaq 0x1509b5(%rip), %rcx    # 0x218810
imull (%rcx), %edx
imull %eax, %esi
movl %r15d, %ecx
subl %r14d, %ecx
imull %eax, %ecx
xorl %edi, %edi
xorl %r8d, %r8d
callq 0xf30c
movl %r14d, %ebx
jmp 0xc7e7e
callq 0xed5e
leaq 0x245d7f(%rip), %rax    # 0x30dc04
movl (%rax), %edx
testb $0x3, %dl
je 0xc7ebd
leaq 0x27438d(%rip), %r12    # 0x33c220
leaq 0x6720a(%rip), %rsi     # 0x12f0a4
movq %r12, %rdi
xorl %eax, %eax
callq 0x9060
leal 0x1(%rbx), %r14d
movl %ebx, %edi
movl %r13d, %esi
movl $0xc, %edx
movq %r12, %rcx
callq 0xe7d0
movl %r14d, %ebx
cmpl %r15d, %ebx
jge 0xc856d
leaq 0x245c9b(%rip), %rax    # 0x30db68
movsd (%rax), %xmm0
movl %r15d, %r14d
movl %r13d, %r15d
leaq 0x274342(%rip), %r13    # 0x33c220
leaq 0x671d8(%rip), %rsi     # 0x12f0bd
movq %r13, %rdi
movb $0x1, %al
callq 0x9060
leal 0x1(%rbx), %r12d
movl %ebx, %edi
movl %r15d, %esi
movl $0xf, %edx
movq %r13, %rcx
callq 0xe7d0
movl %r14d, -0x2c(%rbp)
cmpl %r14d, %r12d
jge 0xc8565
leaq 0x245c5f(%rip), %rax    # 0x30db78
movsd (%rax), %xmm0
leaq 0x2742fc(%rip), %r14    # 0x33c220
leaq 0x671b0(%rip), %rsi     # 0x12f0db
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x2(%rbx), %r13d
movl %r12d, %edi
movl %r15d, %esi
movl $0xf, %edx
movq %r14, %rcx
callq 0xe7d0
cmpl -0x2c(%rbp), %r13d
jge 0xc856a
leaq 0x245c23(%rip), %rax    # 0x30db80
movsd (%rax), %xmm0
leaq 0x2742b8(%rip), %r14    # 0x33c220
leaq 0x6718a(%rip), %rsi     # 0x12f0f9
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x3(%rbx), %r12d
movl %r13d, %edi
movl %r15d, %esi
movl $0xf, %edx
movq %r14, %rcx
callq 0xe7d0
cmpl -0x2c(%rbp), %r12d
jge 0xc8565
leaq 0x245be7(%rip), %rax    # 0x30db88
movsd (%rax), %xmm0
leaq 0x274274(%rip), %r14    # 0x33c220
leaq 0x67164(%rip), %rsi     # 0x12f117
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x4(%rbx), %r13d
movl %r12d, %edi
movl %r15d, %esi
movl $0xf, %edx
movq %r14, %rcx
callq 0xe7d0
cmpl -0x2c(%rbp), %r13d
jge 0xc856a
leaq 0x245bab(%rip), %rax    # 0x30db90
movsd (%rax), %xmm0
leaq 0x274230(%rip), %r14    # 0x33c220
leaq 0x6713e(%rip), %rsi     # 0x12f135
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x5(%rbx), %r12d
movl %r13d, %edi
movl %r15d, %esi
movl $0xf, %edx
movq %r14, %rcx
callq 0xe7d0
cmpl -0x2c(%rbp), %r12d
jge 0xc8565
leaq 0x245b6f(%rip), %rax    # 0x30db98
movsd (%rax), %xmm0
leaq 0x2741ec(%rip), %r14    # 0x33c220
leaq 0x67119(%rip), %rsi     # 0x12f154
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x6(%rbx), %r13d
movl %r12d, %edi
movl %r15d, %esi
movl $0xf, %edx
movq %r14, %rcx
callq 0xe7d0
cmpl -0x2c(%rbp), %r13d
jge 0xc856a
leaq 0x245b33(%rip), %rax    # 0x30dba0
movsd (%rax), %xmm0
leaq 0x2741a8(%rip), %r14    # 0x33c220
leaq 0x670f4(%rip), %rsi     # 0x12f173
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x7(%rbx), %r12d
movl %r13d, %edi
movl %r15d, %esi
movl $0xf, %edx
movq %r14, %rcx
callq 0xe7d0
cmpl -0x2c(%rbp), %r12d
jge 0xc8565
leaq 0x245abf(%rip), %rax    # 0x30db70
movsd (%rax), %xmm0
leaq 0x274164(%rip), %r14    # 0x33c220
leaq 0x670cc(%rip), %rsi     # 0x12f18f
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x8(%rbx), %r13d
movl %r12d, %edi
movl %r15d, %esi
movl $0xf, %edx
movq %r14, %rcx
callq 0xe7d0
cmpl -0x2c(%rbp), %r13d
jge 0xc856a
leaq 0x245adb(%rip), %rax    # 0x30dbd0
movsd (%rax), %xmm0
leaq 0x274120(%rip), %r14    # 0x33c220
leaq 0x670a4(%rip), %rsi     # 0x12f1ab
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x9(%rbx), %r12d
movl %r13d, %edi
movl %r15d, %esi
movl $0xf, %edx
movq %r14, %rcx
callq 0xe7d0
cmpl -0x2c(%rbp), %r12d
jge 0xc8565
leaq 0x245a9f(%rip), %rax    # 0x30dbd8
movl (%rax), %edx
leaq 0x2740de(%rip), %r14    # 0x33c220
leaq 0x67080(%rip), %rsi     # 0x12f1c9
movq %r14, %rdi
xorl %eax, %eax
callq 0x9060
leal 0xa(%rbx), %r13d
movl %r12d, %edi
movl %r15d, %esi
movl $0xf, %edx
movq %r14, %rcx
callq 0xe7d0
cmpl -0x2c(%rbp), %r13d
jge 0xc856a
leaq 0x245a4d(%rip), %rax    # 0x30dbc8
movl (%rax), %edx
leaq 0x27409c(%rip), %r14    # 0x33c220
leaq 0x6705b(%rip), %rsi     # 0x12f1e6
movq %r14, %rdi
xorl %eax, %eax
callq 0x9060
leal 0xb(%rbx), %r12d
movl %r13d, %edi
movl %r15d, %esi
movl $0xf, %edx
movq %r14, %rcx
callq 0xe7d0
cmpl -0x2c(%rbp), %r12d
jge 0xc8565
leaq 0x2459eb(%rip), %rax    # 0x30dba8
movl (%rax), %edx
leaq 0x27405a(%rip), %r14    # 0x33c220
leaq 0x67036(%rip), %rsi     # 0x12f203
movq %r14, %rdi
xorl %eax, %eax
callq 0x9060
leal 0xc(%rbx), %r13d
movl %r12d, %edi
movl %r15d, %esi
movl $0xf, %edx
movq %r14, %rcx
callq 0xe7d0
cmpl -0x2c(%rbp), %r13d
jge 0xc856a
leaq 0x2459ad(%rip), %rax    # 0x30dbac
movl (%rax), %edx
leaq 0x274018(%rip), %r14    # 0x33c220
leaq 0x6700d(%rip), %rsi     # 0x12f21c
movq %r14, %rdi
xorl %eax, %eax
callq 0x9060
leal 0xd(%rbx), %r12d
movl %r13d, %edi
movl %r15d, %esi
movl $0xf, %edx
movq %r14, %rcx
callq 0xe7d0
cmpl -0x2c(%rbp), %r12d
jge 0xc8565
leaq 0x24599f(%rip), %rax    # 0x30dbe0
movl (%rax), %edx
leaq 0x273fd6(%rip), %r14    # 0x33c220
leaq 0x66fe4(%rip), %rsi     # 0x12f235
movq %r14, %rdi
xorl %eax, %eax
callq 0x9060
leal 0xe(%rbx), %r13d
movl %r12d, %edi
movl %r15d, -0x30(%rbp)
movl %r15d, %esi
movl $0xf, %edx
movq %r14, %rcx
callq 0xe7d0
movl -0x2c(%rbp), %eax
cmpl %eax, %r13d
jge 0xc856a
movl %eax, %r15d
leaq 0x245940(%rip), %rax    # 0x30dbcc
movl (%rax), %edx
leaq 0x273f8b(%rip), %r14    # 0x33c220
leaq 0x66fb2(%rip), %rsi     # 0x12f24e
movq %r14, %rdi
xorl %eax, %eax
callq 0x9060
leal 0xf(%rbx), %r12d
movl %r13d, %edi
movl -0x30(%rbp), %esi
movl $0xf, %edx
movq %r14, %rcx
callq 0xe7d0
cmpl %r15d, %r12d
jge 0xc8565
leaq 0x2458e3(%rip), %rax    # 0x30dbb0
cvtsi2sdl (%rax), %xmm0
mulsd 0x43737(%rip), %xmm0    # 0x10ba10
leaq 0x273f40(%rip), %r14    # 0x33c220
leaq 0x66f83(%rip), %rsi     # 0x12f26a
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x10(%rbx), %r13d
movl %r12d, %edi
movl -0x30(%rbp), %esi
movl $0xf, %edx
movq %r14, %rcx
callq 0xe7d0
cmpl %r15d, %r13d
jge 0xc856a
leaq 0x24589c(%rip), %rax    # 0x30dbb4
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
mulsd 0x436e9(%rip), %xmm0    # 0x10ba10
divsd 0x40d09(%rip), %xmm0    # 0x109038
leaq 0x273eea(%rip), %r14    # 0x33c220
leaq 0x66f4b(%rip), %rsi     # 0x12f288
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x11(%rbx), %r12d
movl %r13d, %edi
movl -0x30(%rbp), %esi
movl $0xf, %edx
movq %r14, %rcx
callq 0xe7d0
cmpl %r15d, %r12d
jge 0xc8565
leaq 0x24584a(%rip), %rax    # 0x30dbb8
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
mulsd 0x40dcb(%rip), %xmm0    # 0x109148
mulsd 0x40dcb(%rip), %xmm0    # 0x109150
leaq 0x273e94(%rip), %r14    # 0x33c220
leaq 0x66f13(%rip), %rsi     # 0x12f2a6
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x12(%rbx), %r13d
movl %r12d, %edi
movl -0x30(%rbp), %esi
movl $0xf, %edx
movq %r14, %rcx
callq 0xe7d0
cmpl %r15d, %r13d
jge 0xc856a
leaq 0x2457f8(%rip), %rax    # 0x30dbbc
movl (%rax), %edx
leaq 0x273e53(%rip), %r14    # 0x33c220
leaq 0x66eef(%rip), %rsi     # 0x12f2c3
movq %r14, %rdi
xorl %eax, %eax
callq 0x9060
leal 0x13(%rbx), %r12d
movl %r13d, %edi
movl -0x30(%rbp), %esi
movl $0xf, %edx
movq %r14, %rcx
callq 0xe7d0
cmpl %r15d, %r12d
jge 0xc8565
leaq 0x2457bb(%rip), %rax    # 0x30dbc0
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
mulsd 0x435fc(%rip), %xmm0    # 0x10ba10
leaq 0x273e05(%rip), %r14    # 0x33c220
leaq 0x66eba(%rip), %rsi     # 0x12f2dc
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x14(%rbx), %r13d
movl %r12d, %edi
movl -0x30(%rbp), %esi
movl $0xf, %edx
movq %r14, %rcx
callq 0xe7d0
cmpl %r15d, %r13d
jge 0xc856a
leaq 0x245771(%rip), %rax    # 0x30dbc4
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
mulsd 0x435ae(%rip), %xmm0    # 0x10ba10
leaq 0x273db7(%rip), %r14    # 0x33c220
leaq 0x66e8a(%rip), %rsi     # 0x12f2fa
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x15(%rbx), %r12d
movl %r13d, %edi
movl -0x30(%rbp), %esi
movl $0xf, %edx
movq %r14, %rcx
callq 0xe7d0
cmpl %r15d, %r12d
jge 0xc8565
leaq 0x24573b(%rip), %rax    # 0x30dbdc
movl (%rax), %edx
leaq 0x273d76(%rip), %r14    # 0x33c220
leaq 0x66e67(%rip), %rsi     # 0x12f318
movq %r14, %rdi
xorl %eax, %eax
callq 0x9060
leal 0x16(%rbx), %r13d
movl %r12d, %edi
movl -0x30(%rbp), %esi
movl $0xf, %edx
movq %r14, %rcx
callq 0xe7d0
cmpl %r15d, %r13d
jge 0xc856a
leaq 0x245736(%rip), %rax    # 0x30dc18
movsd (%rax), %xmm0
mulsd 0x40c62(%rip), %xmm0    # 0x109150
leaq 0x273d2b(%rip), %r14    # 0x33c220
leaq 0x66e35(%rip), %rsi     # 0x12f331
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x17(%rbx), %r12d
movl %r13d, %edi
movl -0x30(%rbp), %esi
movl $0xf, %edx
movq %r14, %rcx
callq 0xe7d0
cmpl %r15d, %r12d
jge 0xc8565
leaq 0x2456f7(%rip), %rax    # 0x30dc20
movsd (%rax), %xmm0
mulsd 0x40c1b(%rip), %xmm0    # 0x109150
leaq 0x273ce4(%rip), %r14    # 0x33c220
leaq 0x66e0d(%rip), %rsi     # 0x12f350
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
addl $0x18, %ebx
movl %r12d, %edi
movl -0x30(%rbp), %esi
movl $0xf, %edx
movq %r14, %rcx
callq 0xe7d0
jmp 0xc856d
movl %r12d, %ebx
jmp 0xc856d
movl %r13d, %ebx
leaq 0x1502e7(%rip), %rax    # 0x21885b
movb $0x0, (%rax)
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq