// File: /workspace/github_cpp_makefile_star2_O3/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 0x8dfc8(%rip), %rdi     # 0x1248a5
callq 0x58dc2
callq 0x587be
cmpl $0x100, %eax            # imm = 0x100
jb 0x968f8
leaq 0x1a867b(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x587be
cmpl $0x100, %eax            # imm = 0x100
jb 0x9690e
leaq 0x1a8665(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x587be
cmpl $0x100, %eax            # imm = 0x100
jb 0x96924
leaq 0x1a864f(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x587be
cmpl $0x100, %eax            # imm = 0x100
jb 0x9693a
leaq 0x1a8639(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x587be
cmpl $0x100, %eax            # imm = 0x100
jb 0x96950
leaq 0x1a8623(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x587be
cmpl $0x100, %eax            # imm = 0x100
jb 0x96966
leaq 0x1a860d(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x588d2
callq 0x587be
cmpl $0x100, %eax            # imm = 0x100
jb 0x96981
leaq 0x1a85f2(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x587be
cmpl $0x100, %eax            # imm = 0x100
jb 0x96997
leaq 0x1a85dc(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x587be
cmpl $0x100, %eax            # imm = 0x100
jb 0x969ad
leaq 0x1a85c6(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x587be
cmpl $0x100, %eax            # imm = 0x100
jb 0x969c3
leaq 0x1a85b0(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x587be
cmpl $0x100, %eax            # imm = 0x100
jb 0x969d9
leaq 0x1a859a(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x587be
cmpl $0x100, %eax            # imm = 0x100
jb 0x969ef
leaq 0x1a8584(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x58964
callq 0x587be
cmpl $0x100, %eax            # imm = 0x100
jb 0x96a0a
leaq 0x1a8569(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x588d2
cwtl
cvtsi2ss %eax, %xmm0
divss 0x76634(%rip), %xmm0    # 0x10d050
leaq 0x276691(%rip), %rax    # 0x30d0b4
movss %xmm0, (%rax)
leaq 0x2769ce(%rip), %rax    # 0x30d3fc
movl $0x1, (%rax)
callq 0x587be
cmpl $0x100, %eax            # imm = 0x100
jb 0x96a4a
leaq 0x1a8529(%rip), %rcx    # 0x23ef70
orb $0x8, (%rcx)
movzbl %al, %eax
xorps %xmm0, %xmm0
cvtsi2ss %eax, %xmm0
leaq 0x27665d(%rip), %rax    # 0x30d0b8
movss %xmm0, (%rax)
leaq 0x276992(%rip), %rax    # 0x30d3f8
movl $0x1, (%rax)
popq %rbp
jmp 0x58964