// File: /workspace/github_cpp_makefile_star2_O3/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 0x1503a6(%rip), %rax    # 0x218804
movl (%rax), %eax
cmpl $0x1e0, %eax            # imm = 0x1E0
jg 0xc8471
leaq 0x1503ed(%rip), %rcx    # 0x21885b
movb $0x1, (%rcx)
cmpl $0x3e6, %r15d           # imm = 0x3E6
jg 0xc84c9
xorl %ecx, %ecx
cmpl $0x1e1, %eax            # imm = 0x1E1
setl %cl
addl %ecx, %r15d
leal (%rcx,%rbx), %r14d
leal (%rcx,%rbx), %esi
incl %esi
leaq 0x15037d(%rip), %rax    # 0x218814
movl (%rax), %eax
leaq 0x1502f8(%rip), %rcx    # 0x218798
movl (%rcx), %edx
incl %edx
leaq 0x150365(%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 0xf298
movl %r14d, %ebx
jmp 0xc84ce
callq 0xeceb
leaq 0x24572f(%rip), %rax    # 0x30dc04
movl (%rax), %edx
testb $0x3, %dl
je 0xc850d
leaq 0x273d3d(%rip), %r12    # 0x33c220
leaq 0x66caa(%rip), %rsi     # 0x12f194
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 0xe787
movl %r14d, %ebx
cmpl %r15d, %ebx
jge 0xc8bbd
leaq 0x24564b(%rip), %rax    # 0x30db68
movsd (%rax), %xmm0
movl %r15d, %r14d
movl %r13d, %r15d
leaq 0x273cf2(%rip), %r13    # 0x33c220
leaq 0x66c78(%rip), %rsi     # 0x12f1ad
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 0xe787
movl %r14d, -0x2c(%rbp)
cmpl %r14d, %r12d
jge 0xc8bb5
leaq 0x24560f(%rip), %rax    # 0x30db78
movsd (%rax), %xmm0
leaq 0x273cac(%rip), %r14    # 0x33c220
leaq 0x66c50(%rip), %rsi     # 0x12f1cb
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 0xe787
cmpl -0x2c(%rbp), %r13d
jge 0xc8bba
leaq 0x2455d3(%rip), %rax    # 0x30db80
movsd (%rax), %xmm0
leaq 0x273c68(%rip), %r14    # 0x33c220
leaq 0x66c2a(%rip), %rsi     # 0x12f1e9
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 0xe787
cmpl -0x2c(%rbp), %r12d
jge 0xc8bb5
leaq 0x245597(%rip), %rax    # 0x30db88
movsd (%rax), %xmm0
leaq 0x273c24(%rip), %r14    # 0x33c220
leaq 0x66c04(%rip), %rsi     # 0x12f207
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 0xe787
cmpl -0x2c(%rbp), %r13d
jge 0xc8bba
leaq 0x24555b(%rip), %rax    # 0x30db90
movsd (%rax), %xmm0
leaq 0x273be0(%rip), %r14    # 0x33c220
leaq 0x66bde(%rip), %rsi     # 0x12f225
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 0xe787
cmpl -0x2c(%rbp), %r12d
jge 0xc8bb5
leaq 0x24551f(%rip), %rax    # 0x30db98
movsd (%rax), %xmm0
leaq 0x273b9c(%rip), %r14    # 0x33c220
leaq 0x66bb9(%rip), %rsi     # 0x12f244
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 0xe787
cmpl -0x2c(%rbp), %r13d
jge 0xc8bba
leaq 0x2454e3(%rip), %rax    # 0x30dba0
movsd (%rax), %xmm0
leaq 0x273b58(%rip), %r14    # 0x33c220
leaq 0x66b94(%rip), %rsi     # 0x12f263
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 0xe787
cmpl -0x2c(%rbp), %r12d
jge 0xc8bb5
leaq 0x24546f(%rip), %rax    # 0x30db70
movsd (%rax), %xmm0
leaq 0x273b14(%rip), %r14    # 0x33c220
leaq 0x66b6c(%rip), %rsi     # 0x12f27f
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 0xe787
cmpl -0x2c(%rbp), %r13d
jge 0xc8bba
leaq 0x24548b(%rip), %rax    # 0x30dbd0
movsd (%rax), %xmm0
leaq 0x273ad0(%rip), %r14    # 0x33c220
leaq 0x66b44(%rip), %rsi     # 0x12f29b
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 0xe787
cmpl -0x2c(%rbp), %r12d
jge 0xc8bb5
leaq 0x24544f(%rip), %rax    # 0x30dbd8
movl (%rax), %edx
leaq 0x273a8e(%rip), %r14    # 0x33c220
leaq 0x66b20(%rip), %rsi     # 0x12f2b9
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 0xe787
cmpl -0x2c(%rbp), %r13d
jge 0xc8bba
leaq 0x2453fd(%rip), %rax    # 0x30dbc8
movl (%rax), %edx
leaq 0x273a4c(%rip), %r14    # 0x33c220
leaq 0x66afb(%rip), %rsi     # 0x12f2d6
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 0xe787
cmpl -0x2c(%rbp), %r12d
jge 0xc8bb5
leaq 0x24539b(%rip), %rax    # 0x30dba8
movl (%rax), %edx
leaq 0x273a0a(%rip), %r14    # 0x33c220
leaq 0x66ad6(%rip), %rsi     # 0x12f2f3
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 0xe787
cmpl -0x2c(%rbp), %r13d
jge 0xc8bba
leaq 0x24535d(%rip), %rax    # 0x30dbac
movl (%rax), %edx
leaq 0x2739c8(%rip), %r14    # 0x33c220
leaq 0x66aad(%rip), %rsi     # 0x12f30c
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 0xe787
cmpl -0x2c(%rbp), %r12d
jge 0xc8bb5
leaq 0x24534f(%rip), %rax    # 0x30dbe0
movl (%rax), %edx
leaq 0x273986(%rip), %r14    # 0x33c220
leaq 0x66a84(%rip), %rsi     # 0x12f325
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 0xe787
movl -0x2c(%rbp), %eax
cmpl %eax, %r13d
jge 0xc8bba
movl %eax, %r15d
leaq 0x2452f0(%rip), %rax    # 0x30dbcc
movl (%rax), %edx
leaq 0x27393b(%rip), %r14    # 0x33c220
leaq 0x66a52(%rip), %rsi     # 0x12f33e
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 0xe787
cmpl %r15d, %r12d
jge 0xc8bb5
leaq 0x245293(%rip), %rax    # 0x30dbb0
cvtsi2sdl (%rax), %xmm0
mulsd 0x430e7(%rip), %xmm0    # 0x10ba10
leaq 0x2738f0(%rip), %r14    # 0x33c220
leaq 0x66a23(%rip), %rsi     # 0x12f35a
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 0xe787
cmpl %r15d, %r13d
jge 0xc8bba
leaq 0x24524c(%rip), %rax    # 0x30dbb4
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
mulsd 0x43099(%rip), %xmm0    # 0x10ba10
divsd 0x406b9(%rip), %xmm0    # 0x109038
leaq 0x27389a(%rip), %r14    # 0x33c220
leaq 0x669eb(%rip), %rsi     # 0x12f378
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 0xe787
cmpl %r15d, %r12d
jge 0xc8bb5
leaq 0x2451fa(%rip), %rax    # 0x30dbb8
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
mulsd 0x40783(%rip), %xmm0    # 0x109150
mulsd 0x40783(%rip), %xmm0    # 0x109158
leaq 0x273844(%rip), %r14    # 0x33c220
leaq 0x669b3(%rip), %rsi     # 0x12f396
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 0xe787
cmpl %r15d, %r13d
jge 0xc8bba
leaq 0x2451a8(%rip), %rax    # 0x30dbbc
movl (%rax), %edx
leaq 0x273803(%rip), %r14    # 0x33c220
leaq 0x6698f(%rip), %rsi     # 0x12f3b3
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 0xe787
cmpl %r15d, %r12d
jge 0xc8bb5
leaq 0x24516b(%rip), %rax    # 0x30dbc0
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
mulsd 0x42fac(%rip), %xmm0    # 0x10ba10
leaq 0x2737b5(%rip), %r14    # 0x33c220
leaq 0x6695a(%rip), %rsi     # 0x12f3cc
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 0xe787
cmpl %r15d, %r13d
jge 0xc8bba
leaq 0x245121(%rip), %rax    # 0x30dbc4
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
mulsd 0x42f5e(%rip), %xmm0    # 0x10ba10
leaq 0x273767(%rip), %r14    # 0x33c220
leaq 0x6692a(%rip), %rsi     # 0x12f3ea
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 0xe787
cmpl %r15d, %r12d
jge 0xc8bb5
leaq 0x2450eb(%rip), %rax    # 0x30dbdc
movl (%rax), %edx
leaq 0x273726(%rip), %r14    # 0x33c220
leaq 0x66907(%rip), %rsi     # 0x12f408
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 0xe787
cmpl %r15d, %r13d
jge 0xc8bba
leaq 0x2450e6(%rip), %rax    # 0x30dc18
movsd (%rax), %xmm0
mulsd 0x4061a(%rip), %xmm0    # 0x109158
leaq 0x2736db(%rip), %r14    # 0x33c220
leaq 0x668d5(%rip), %rsi     # 0x12f421
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 0xe787
cmpl %r15d, %r12d
jge 0xc8bb5
leaq 0x2450a7(%rip), %rax    # 0x30dc20
movsd (%rax), %xmm0
mulsd 0x405d3(%rip), %xmm0    # 0x109158
leaq 0x273694(%rip), %r14    # 0x33c220
leaq 0x668ad(%rip), %rsi     # 0x12f440
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 0xe787
jmp 0xc8bbd
movl %r12d, %ebx
jmp 0xc8bbd
movl %r13d, %ebx
leaq 0x14fc97(%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