
  TYPE
    ost$stack_frame_save_area = record
      minimum_save_area: ost$minimum_save_area,
      undefined: 0 .. 0ffff(16),
      a3: ^cell,
      user_condition_register: ost$user_conditions,
      a4: ^cell,
      monitor_condition_register: ost$monitor_conditions,
      a5: ^cell,
      a_registers: array[6 .. 0f(16)] OF record
        undefined: 0 .. 0ffff(16),
        a_register: ^cell,
      recend,
      x_registers: array [ost$register_number] OF ost$x_register,
    recend;

  TYPE
    ost$frame_descriptor = packed record
      critical_frame_flag: boolean,
      on_condition_flag: boolean,
      undefined: 0 .. 3(16),
      x_starting: ost$register_number,
      a_terminating: ost$register_number,
      x_terminating: ost$register_number,
    recend;

  TYPE
    ost$minimum_save_area = packed record
      p_register: ost$p_register,
      vmid: ost$virtual_machine_identifier,
      undefined: 0 .. 0fff(16),
      a0_dynamic_space_pointer: ^cell,
      frame_descriptor: ost$frame_descriptor,
      a1_current_stack_frame: ^cell,
      user_mask: ost$user_conditions,
      a2_previous_save_area: ^ost$stack_frame_save_area,
    recend;

*copyc OSD$REGISTERS
*copyc OSD$CONDITIONS
*copyc OST$VIRTUAL_MACHINE_IDENTIFIER
