// File: /workspace/github_c_makefile_star2_O2/AK6DN[P]dec-utilities-for-pdp/palbart/palbart.c
// Function: inputFltg
void inputFltg()
{
  FLTG_T *fltg;
  BOOL    scanning_line;

  fltg_input = TRUE;            /* Set lexeme scanner for floating point.     */
  scanning_line = TRUE;
  while( TRUE )
  {
    while( scanning_line )
    {
      if( isend( line[lexstart] ))
      {
        scanning_line = FALSE;
      }
      else
      {
        switch( line[lexstart] )
        {
        case '/':
          scanning_line = FALSE;
          break;

        case ';':
          nextLexeme();
          break;

        case '+':
          delimiter = line[lexterm];
          nextLexBlank();
        case '-':
        default:
          if( isdigit( line[lexstart] ) || line[lexstart] == '-' )
          {
            fltg = getFltgExprs();
            punchOutObject( clc, ( fltg->exponent & 07777 ));
            incrementClc();
            punchOutObject( clc, (WORD16)(( fltg->mantissa >> 12 ) & 07777 ));
            incrementClc();
            punchOutObject( clc, (WORD16)( fltg->mantissa & 07777 ));
            incrementClc();
          }
          else
          {
            fltg_input = FALSE; /* Reset lexeme scanner.                      */
            return;             /* Non-numeric input, back to assembly.       */
          }
          break;
        } /* end switch                                                       */
      } /* end if                                                             */

      if( error_in_line )
      {
        fltg_input = FALSE;     /* Reset lexeme scanner.                      */
        return;                 /* Error occurred, exit FLTG input mode.      */
      }
    } /* end while( scanning_line )                                           */
    readLine();
    nextLexeme();
    scanning_line = TRUE;
  }
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movb $0x1, 0x5c68(%rip)      # 0xb339
movb $0x1, %al
leaq 0x80a6(%rip), %r14      # 0xd780
movl $0xfff, %ebp            # imm = 0xFFF
testb %al, %al
jne 0x56f1
callq 0x37fd
callq 0x3907
movb $0x1, %al
jmp 0x56df
movslq 0x810c(%rip), %rax      # 0xd804
movzbl (%rax,%r14), %ebx
xorl %eax, %eax
testl %ebx, %ebx
je 0x57c1
cmpl $0xa, %ebx
je 0x57c1
movsbl %bl, %eax
addl $-0x2b, %eax
je 0x5735
rorl %eax
cmpl $0x2, %eax
je 0x572e
cmpl $0x8, %eax
jne 0x5756
callq 0x3907
jmp 0x57bf
xorl %eax, %eax
jmp 0x57c1
movslq 0x80d0(%rip), %rax      # 0xd80c
movb (%rax,%r14), %al
movb %al, 0x80ca(%rip)       # 0xd810
callq 0x415b
movslq 0x80b2(%rip), %rax      # 0xd804
movb (%rax,%r14), %bl
callq 0x21a0
cmpb $0x2d, %bl
je 0x5772
movq (%rax), %rax
movsbq %bl, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x800, %eax            # imm = 0x800
je 0x57ce
callq 0x57da
movq %rax, %rbx
movswl 0x7fcf(%rip), %edi      # 0xd750
movzwl (%rax), %esi
andl %ebp, %esi
callq 0x4ed1
callq 0x4f0c
movswl 0x7fb9(%rip), %edi      # 0xd750
movl 0x8(%rbx), %esi
shrl $0xc, %esi
andl %ebp, %esi
callq 0x4ed1
callq 0x4f0c
movswl 0x7fa0(%rip), %edi      # 0xd750
movl 0x8(%rbx), %esi
andl %ebp, %esi
callq 0x4ed1
callq 0x4f0c
movb $0x1, %al
cmpb $0x0, 0x8040(%rip)      # 0xd808
je 0x56df
movb $0x0, 0x5b64(%rip)      # 0xb339
popq %rbx
popq %r14
popq %rbp
retq