// File: /workspace/github_c_makefile_star2_O0/AK6DN[P]dec-utilities-for-pdp/palbart/palbart.c
// Function: readLine
void readLine()
{
  WORD16  ix;
  WORD16  iy;
  char   inpline[LINELEN];

  listLine();                   /* List previous line if needed.              */
  lineno++;                     /* Count lines read.                          */
  indirect_generated = FALSE;   /* Mark no indirect address generated.        */
  listed = FALSE;               /* Mark as not listed.                        */
  cc = 0;                       /* Initialize column counter.                 */
  lexstartprev = 0;

  error_in_line = FALSE;
  if(( fgets( inpline, LINELEN - 1, infile )) == NULL )
  {
    inpline[0] = '$';
    inpline[1] = '\n';
    inpline[2] = '\0';
    if (!dollar_not_required) {
       error_in_line = TRUE;
    }
  }

  /* Remove any tabs from the input line by inserting the required number     */
  /* of spaces to simulate N character tab stops, where N defaults to 8 and   */
  /* is set by the command line option -t. (RK 20071029)                      */
  /* Ignore \r if there is one.  (DPI 20150501)                               */
  for( ix = 0, iy = 0; inpline[ix] != '\0' && iy < (LINELEN - 2); ix++ )
  {
    switch( inpline[ix] )
    {
    case '\t':
      do
      {
        line[iy] = ' ';
        iy++;
      }
      while(( iy % tabstops ) != 0 && iy < (LINELEN - 2));
      break;

    case '\r':        /* dont copy the carriage return */
       break;

    default:
      line[iy] = inpline[ix];
      iy++;
      break;
    }
  }
  if (iy >= (LINELEN - 2)) {
  	line [iy] = '\n';
  	iy++;
  } 
  line[iy] = '\0';

  maxcc = iy;                   /* Save the current line length.              */
  /* Save the first line for possible use as the listing title.               */
  if( lineno == 1 )
  {
    strcpy( list_title, line );
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
callq 0x7f20
movl 0xb686(%rip), %eax      # 0xf7cc
addl $0x1, %eax
movl %eax, 0xb67d(%rip)      # 0xf7cc
movb $0x0, 0xb732(%rip)      # 0xf888
movb $0x0, 0xb66b(%rip)      # 0xf7c8
movl $0x0, 0xb725(%rip)      # 0xf88c
movl $0x0, 0xb713(%rip)      # 0xf884
movb $0x0, 0xb700(%rip)      # 0xf878
leaq -0x90(%rbp), %rdi
movq 0x92fa(%rip), %rdx      # 0xd480
movl $0x83, %esi
callq 0x20f0
cmpq $0x0, %rax
jne 0x41bd
movb $0x24, -0x90(%rbp)
movb $0xa, -0x8f(%rbp)
movb $0x0, -0x8e(%rbp)
cmpb $0x0, 0x91fc(%rip)      # 0xd3ae
jne 0x41bb
movb $0x1, 0xb6bd(%rip)      # 0xf878
jmp 0x41bd
movw $0x0, -0x2(%rbp)
movw $0x0, -0x4(%rbp)
movswq -0x2(%rbp), %rax
movsbl -0x90(%rbp,%rax), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x91(%rbp)
je 0x41f5
movswl -0x4(%rbp), %eax
cmpl $0x82, %eax
setl %al
movb %al, -0x91(%rbp)
movb -0x91(%rbp), %al
testb $0x1, %al
jne 0x4204
jmp 0x42bb
movswq -0x2(%rbp), %rax
movsbl -0x90(%rbp,%rax), %eax
movl %eax, -0x98(%rbp)
subl $0x9, %eax
je 0x422b
jmp 0x421e
movl -0x98(%rbp), %eax
subl $0xd, %eax
je 0x427f
jmp 0x4281
jmp 0x422d
movswq -0x4(%rbp), %rcx
leaq 0xb5b7(%rip), %rax      # 0xf7f0
movb $0x20, (%rax,%rcx)
movw -0x4(%rbp), %ax
addw $0x1, %ax
movw %ax, -0x4(%rbp)
movswl -0x4(%rbp), %eax
cltd
idivl 0x9368(%rip)            # 0xd5bc
xorl %eax, %eax
cmpl $0x0, %edx
movb %al, -0x99(%rbp)
je 0x4273
movswl -0x4(%rbp), %eax
cmpl $0x82, %eax
setl %al
movb %al, -0x99(%rbp)
movb -0x99(%rbp), %al
testb $0x1, %al
jne 0x422d
jmp 0x42a8
jmp 0x42a8
movswq -0x2(%rbp), %rax
movb -0x90(%rbp,%rax), %dl
movswq -0x4(%rbp), %rcx
leaq 0xb557(%rip), %rax      # 0xf7f0
movb %dl, (%rax,%rcx)
movw -0x4(%rbp), %ax
addw $0x1, %ax
movw %ax, -0x4(%rbp)
jmp 0x42aa
movw -0x2(%rbp), %ax
addw $0x1, %ax
movw %ax, -0x2(%rbp)
jmp 0x41c9
movswl -0x4(%rbp), %eax
cmpl $0x82, %eax
jl 0x42e2
movswq -0x4(%rbp), %rcx
leaq 0xb51e(%rip), %rax      # 0xf7f0
movb $0xa, (%rax,%rcx)
movw -0x4(%rbp), %ax
addw $0x1, %ax
movw %ax, -0x4(%rbp)
movswq -0x4(%rbp), %rcx
leaq 0xb502(%rip), %rax      # 0xf7f0
movb $0x0, (%rax,%rcx)
movswl -0x4(%rbp), %eax
movl %eax, 0xb594(%rip)      # 0xf890
cmpl $0x1, 0xb4c9(%rip)      # 0xf7cc
jne 0x4318
leaq 0xb5a4(%rip), %rdi      # 0xf8b0
leaq 0xb4dd(%rip), %rsi      # 0xf7f0
callq 0x2060
addq $0xa0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)