// File: /workspace/github_c_makefile_star2_O3/AK6DN[P]dec-utilities-for-pdp/palbart/palbart.c
// Function: inputDubl
void inputDubl()
{
  WORD32 dublvalue;
  BOOL   scanning_line;

  scanning_line = TRUE;
  do
  {
    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] == '-' )
          {
            dublvalue = getDublExprs();
            punchOutObject( clc, (WORD16)(( dublvalue >> 12 ) & 07777 ));
            incrementClc();
            punchOutObject( clc, (WORD16)( dublvalue & 07777 ));
            incrementClc();
          }
          else
          {
            return;             /* Non-numeric input, back to assembly.       */
          }
          break;
        } /* end switch                                                       */
      } /* end if                                                             */

      if( error_in_line )
      {
        return;                 /* Error occurred, exit DUBL input mode.      */
      }
    } /* end while( scanning_line )                                           */
    readLine();
    nextLexeme();
    scanning_line = TRUE;
  }
  while( TRUE );
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movb $0x1, %al
leaq 0x7bf5(%rip), %rbx      # 0xd790
movl $0xfff, %r12d           # imm = 0xFFF
movl $0x7000, %r13d          # imm = 0x7000
testb %al, %al
jne 0x5bb9
callq 0x3ac7
callq 0x3be8
movb $0x1, %al
jmp 0x5ba7
movslq 0x7c54(%rip), %rax      # 0xd814
movzbl (%rax,%rbx), %ebp
xorl %eax, %eax
testl %ebp, %ebp
je 0x5d12
cmpl $0xa, %ebp
je 0x5d12
movsbl %bpl, %eax
addl $-0x2b, %eax
je 0x5bfd
rorl %eax
cmpl $0x2, %eax
je 0x5bf6
cmpl $0x8, %eax
jne 0x5c1d
callq 0x3be8
jmp 0x5d10
xorl %eax, %eax
jmp 0x5d12
movslq 0x7c18(%rip), %rax      # 0xd81c
movb (%rax,%rbx), %al
movb %al, 0x7c13(%rip)       # 0xd820
callq 0x44ee
movslq 0x7bfb(%rip), %rax      # 0xd814
movb (%rax,%rbx), %bpl
callq 0x21c0
cmpb $0x2d, %bpl
je 0x5c3e
movq (%rax), %rax
movsbq %bpl, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x800, %eax            # imm = 0x800
je 0x5d1f
callq 0x5d2e
movq %rax, %r14
movswl 0x7b13(%rip), %ebp      # 0xd760
movl %r14d, %r15d
shrl $0xc, %r15d
movzwl 0x7b07(%rip), %eax      # 0xd762
orw %bp, %ax
addw 0x7b01(%rip), %ax       # 0xd766
andl %r12d, %r15d
movswl %ax, %esi
movq %rbx, %rdi
movl %r15d, %edx
movl $0x2, %ecx
callq 0x4119
movl %ebp, %edi
movl %r15d, %esi
callq 0x69eb
movswl 0x7ad4(%rip), %edi      # 0xd760
callq 0x672b
movzwl 0x7ac8(%rip), %ebp      # 0xd760
movl %ebp, %eax
andl %r13d, %eax
incl %ebp
andl %r12d, %ebp
movw %bp, 0x7abb(%rip)       # 0xd764
orl %eax, %ebp
movw %bp, 0x7aae(%rip)       # 0xd760
movzwl 0x7aa9(%rip), %eax      # 0xd762
orw %bp, %ax
addw 0x7aa3(%rip), %ax       # 0xd766
movswl %ax, %esi
andl %r12d, %r14d
movq %rbx, %rdi
movl %r14d, %edx
movl $0x2, %ecx
callq 0x4119
movl %ebp, %edi
movl %r14d, %esi
callq 0x69eb
movswl 0x7a76(%rip), %edi      # 0xd760
callq 0x672b
movzwl 0x7a6a(%rip), %eax      # 0xd760
movl %eax, %ecx
andl %r13d, %ecx
incl %eax
andl %r12d, %eax
movw %ax, 0x7a5d(%rip)       # 0xd764
orl %ecx, %eax
movw %ax, 0x7a50(%rip)       # 0xd760
movb $0x1, %al
cmpb $0x0, 0x7aff(%rip)      # 0xd818
je 0x5ba7
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq