// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathgps.cpp
// Function: parse_sirf_nav_params()
void parse_sirf_nav_params()
{
int sub_id;
u08 tsm;
u08 snm;

   log_packet_id("sirf_nav_params");

   sub_id = tsip_byte();

   tsip_byte();  // rsvd
   tsip_byte();
   tsip_byte();

   tsip_byte();  // alt hold mode
   tsip_byte();  // alt hold source
   tsip_word();  // alt source input

   tsip_byte();  // degraded mode
   tsip_byte();  // degraded timeout
   tsip_byte();  // DR timeout
   tsm = tsip_byte();  // track smooth mode
   snm = tsip_byte();  // static navigation
   tsip_byte();  // 3SV least squares
   tsip_dword(); // rsvd
   tsip_byte();  // DOP mask mode

   el_mask = ((float) (s16) tsip_word()) / 10.0F;
   have_el_mask = 1;

   amu_mask = (float) tsip_byte();  // power mask
   have_amu = 1;

   tsip_dword(); // rsvd
   // ... gggg lots more info follows

//sprintf(debug_text2, "tsm:%02X  snm:%02X", tsm,snm);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x8e001(%rip), %rdi     # 0x1247c5
callq 0x58e77
callq 0x587d1
cmpl $0x100, %eax            # imm = 0x100
jb 0x967df
leaq 0x1a8794(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x587d1
cmpl $0x100, %eax            # imm = 0x100
jb 0x967f5
leaq 0x1a877e(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x587d1
cmpl $0x100, %eax            # imm = 0x100
jb 0x9680b
leaq 0x1a8768(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x587d1
cmpl $0x100, %eax            # imm = 0x100
jb 0x96821
leaq 0x1a8752(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x587d1
cmpl $0x100, %eax            # imm = 0x100
jb 0x96837
leaq 0x1a873c(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x587d1
cmpl $0x100, %eax            # imm = 0x100
jb 0x9684d
leaq 0x1a8726(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x588f0
callq 0x587d1
cmpl $0x100, %eax            # imm = 0x100
jb 0x96868
leaq 0x1a870b(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x587d1
cmpl $0x100, %eax            # imm = 0x100
jb 0x9687e
leaq 0x1a86f5(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x587d1
cmpl $0x100, %eax            # imm = 0x100
jb 0x96894
leaq 0x1a86df(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x587d1
cmpl $0x100, %eax            # imm = 0x100
jb 0x968aa
leaq 0x1a86c9(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x587d1
cmpl $0x100, %eax            # imm = 0x100
jb 0x968c0
leaq 0x1a86b3(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x587d1
cmpl $0x100, %eax            # imm = 0x100
jb 0x968d6
leaq 0x1a869d(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x589b0
callq 0x587d1
cmpl $0x100, %eax            # imm = 0x100
jb 0x968f1
leaq 0x1a8682(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x588f0
cwtl
cvtsi2ss %eax, %xmm0
divss 0x766dd(%rip), %xmm0    # 0x10cfe0
leaq 0x2767aa(%rip), %rax    # 0x30d0b4
movss %xmm0, (%rax)
leaq 0x276ae7(%rip), %rax    # 0x30d3fc
movl $0x1, (%rax)
callq 0x587d1
cmpl $0x100, %eax            # imm = 0x100
jb 0x96931
leaq 0x1a8642(%rip), %rcx    # 0x23ef70
orb $0x8, (%rcx)
movzbl %al, %eax
xorps %xmm0, %xmm0
cvtsi2ss %eax, %xmm0
leaq 0x276776(%rip), %rax    # 0x30d0b8
movss %xmm0, (%rax)
leaq 0x276aab(%rip), %rax    # 0x30d3f8
movl $0x1, (%rax)
popq %rbp
jmp 0x589b0