
PROC dum$display_segment_table_ent, display_segment_table_ent, disseg (
  segment_number, sn: integer 0 .. 4095 = $required
  output, o: file = $output
  status)

  crev s k=status
  IF $file($value(output) open_position) = '$BOI' THEN
    rewind_file $value(output) status=s
    output_file = $string($value(output)) // '.$asis'
  ELSE
    output_file = $string($value(output))
  IFEND

 "!!! replace with xcb_offset = $process_register(bc) when supported in ANAD"
  jps = $maintenance_register(jps)
  xcb_offset = $mod(jps 2048)
  WHILE $rma(300000000(16)+xcb_offset) <> jps
    xcb_offset = xcb_offset + 2048
  WHILEND

  crev field_len integer
  crev field_off integer
"Constants:
  ost$execution_control_block field=sdt_offset offset=field_off length=field_len
  sdt_offset= field_off/8
  ost$execution_control_block field=sdtx_offset offset=field_off length=field_len
  xcb = 300000000(16)+xcb_offset
  sdtx_offset= field_off/8
  sdtx_length= $mem($sa(mmv$sdtx_entry_size) 8)
  sdt = 300000000(16)+$mem(xcb+sdt_offset 4)
  sdtx = 300000000(16)+$mem(xcb+sdtx_offset 4)

  dism sn*8+sdt 8 o=$fname(output_file)
  dism sn*sdtx_length+sdtx sdtx_length o=$fname(output_file)
  mmt$segment_descriptor_extended sn*sdtx_length+sdtx o=$fname(output_file)

PROCEND dum$display_segment_table_ent
