PROCEDURE dum$display_login_table, display_login_table, dislt (
  address, a: integer = $required
  output, o: file = $output
  address_mode, am: key pva, p, sva, s, keyend = sva
  status)

  IF $file($value(output) open_position) = '$BOI' THEN
    output_file = $string($value(output))//'.$asis'
  ELSE
    output_file = $string($value(output))
  IFEND
  create_variable output_line k=string
  create_variable entry_status k=string d=0..2
  entry_status(0) = 'dmc$lt_entry_available'
  entry_status(1) = 'dmc$lt_alloc_assigned_to_mf'
  entry_status(2) = 'dmc$lt_mf_logged_in'

  create_variable recovery_status k=string d=0..4
  recovery_status(0) = 'dmc$lt_normal_status'
  recovery_status(1) = 'dmc$lt_recovering'
  recovery_status(2) = 'dmc$lt_being_recovered'
  recovery_status(3) = 'dmc$lt_being_rec_log_complete'
  recovery_status(4) = 'dmc$lt_being_rec_alloc_complete'

  start = $value(address)
  display_memory start b=1000 am=$value(am) o=$fname(output_file) t=' LOGIN TABLE'
  header_length = 30
  lower = $mem(start+28, 1, j, 0, $value(am))
  upper = $mem(start+29, 1, j, 0, $value(am))
  length_of_entry = 70
  output_line = '  '

  putl '  ' o=$fname(output_file)
  putl ' SEQUENCE = '//$strrep($mem(start+24, 4, j, 0, $value(am)), 16)//'(16)' o=$fname(output_file)
  FOR index = lower TO upper DO
    entry_start = header_length + (index-1)* length_of_entry + start
    IF $mem(entry_start+0, 1, j, 0, $value(am)) <> 0 THEN
      putl '  ' o=$fname(output_file)
      putl '  ENTRY # '//$strrep(index) o=$fname(output_file)
      putl ' name: '//$memory_string(entry_start+14, 31, j, 0, $value(am)) o=$fname(output_file)
      putl ' entry status = '//entry_status($mem(entry_start+0, 1, j, 0, $value(am))) o=$fname(output_file)
      output_line = ' avt index: '//$strrep($mem(entry_start+7, 2, j, 0, $value(am)))
      output_line = output_line//'      mf assigned: '//..
$strrep($mem(entry_start+9, 5, j, 0, $value(am)), 16)//'(16)'
      putl output_line o=$fname(output_file)
      putl ' last last = '//$strrep($mem(entry_start+45, 8, j, 0, $value(am)), 16)//'(16)' ..
            o=$fname(output_file)
      putl '      last = '//$strrep($mem(entry_start+53, 8, j, 0, $value(am)), 16)//'(16)' ..
            o=$fname(output_file)
      putl '   current = '//$strrep($mem(entry_start+61, 8, j, 0, $value(am)), 16)//'(16)' ..
            o=$fname(output_file)
      putl ' recovery status = '//recovery_status($mem(entry_start+69, 1, j, 0, $value(am))) ..
            o=$fname(output_file)
    IFEND
  FOREND

PROCEND dum$display_login_table
