DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ M T

⟦6024a9e90⟧ TextFile

    Length: 4631 (0x1217)
    Types: TextFile
    Names: »MODULE_HEADER_ASM«

Derivation

└─⟦afbc8121e⟧ Bits:30000532 8mm tape, Rational 1000, MC68020_OS2000 7_2_2
    └─ ⟦77aa8350c⟧ »DATA« 
        └─⟦f794ecd1d⟧ 
            └─⟦24d1ddd49⟧ 
                └─⟦this⟧ 

TextFile

;    The use of this system is subject to the software license terms and
;    conditions agreed upon between Rational and the Customer.
;
;                Copyright 1988 by Rational.
;
;                          RESTRICTED RIGHTS LEGEND
;
;    Use, duplication, or disclosure by the Government is subject to
;    restrictions as set forth in subdivision (b)(3)(ii) of the Rights in
;    Technical Data and Computer Software clause at 52.227-7013.
;
;
;                Rational
;                3320 Scott Boulevard
;                Santa Clara, California 95054-3197
;
;   PROPRIETARY AND CONFIDENTIAL INFORMATION OF RATIONAL;
;   USE OR COPYING WITHOUT EXPRESS WRITTEN AUTHORIZATION
;   IS STRICTLY PROHIBITED.  THIS MATERIAL IS PROTECTED AS
;   AN UNPUBLISHED WORK UNDER THE U.S. COPYRIGHT ACT OF
;   1976.  CREATED 1988.  ALL RIGHTS RESERVED.
;
;

        .module "OS2000_MODULE"
        .include "^^standard_assembler_include_file"
        .include "^^common.runtime_definitions"

        comp_unit  runtime_compunit

        .gbl.l  __module_begin
        .gbl.l  __runtime_machine_id
        .gbl.l  __runtime_object_id
        .gbl.l  __runtime_entry_table

        .sect   os2000_module_header,relocatable,code,readonly,alignment:=4
        .local

$module_revision        equ 6
$module_edition         equ 0

$sync_bytes     equ     16#4AFC#
$system_rev     equ     1
$group_id       equ     5
$user_id        equ     0
$access_rights  equ     2#0000_0101_0101_0101#  ; public/group/owner = er
$program_type   equ     1
$object_code    equ     1
$shared_module  equ     2#1000_0000#
$not_shared     equ     2#0000_0000#

;
;
__Module_Begin:
$m_id:          .dc.w   $sync_bytes
$m_sysrev:      .dc.w   $system_rev
$m_size:        .dc.l   $end - $m_id + 1
$m_owner:
$m_owner.grp:   .dc.w   $group_id
$m_owner.usr:   .dc.w   $user_id
$m_name:        .dc.l   $usage_comments - $m_id
$m_accs:        .dc.w   $access_rights
$m_type:        .dc.b   $program_type
$m_lang:        .dc.b   $object_code
$m_attr:        .dc.b   $shared_module
$m_revs:        .dc.b   $module_revision
$m_edit:        .dc.w   $module_edition
$m_usage:       .dc.l   $usage_comments
$m_symbol:      .dc.l   0
$m_reserved:    .dc.w   0,0,0,0,0,0,0
$m_parity:      .dc.w   0
$m_exec:        .dc.l   0                  ; modified during conversion process
$m_excpt:       .dc.l   $m_id
$m_mem:         .dc.l   0
$m_stack:       .dc.l   128
$m_idata:       .dc.l   $init_data
$m_irefs:       .dc.l   $init_refs
;
;       thats the end of the real header
;

;
; The following MUST resolve to locations $48 through $4F as the object
; converter manipulates these blindly.  Locations $48 and $4C will be
; overwritten with the 32 bit machine id and object id respectively of
; the <EXE> file.  NOTE: LOCATION $50 IS NOT RESERVED TO CONTAIN THE
; SIZE OF HEAP IN THE SHARED R/T AND IF YOU USE THE OBJECT CONVERTER TO
; OVERWRITE THIS VALUE, IT WILL DESTROY THE SHARED R/T!
;
__runtime_machine_id:   .dc.l   16#0505_0505#   ; Altered during conversion
__runtime_object_id:    .dc.l   16#A0A0_A0A0#   ; Altered during conversion

;
;   This module defines the table of entry points
;   to the shared runtime.  It MUST follow the three entries above which
;   occur at offset $48, $4c, and $50.
;
;   Each ADA program will have a pointer to this table
;   in __Runtime_Entry_Pointer.  The values in the table
;   are word offsets relative to the base of the table.
;   Calls to the services are generally performed by
;
;       movea.l (__runtime_entry_pointer,a5),a1
;       move.w  #rt.operation,d0
;       move.w  (a0,d0.w),d0 
;       jmp     (a0,d0.w)
;

;
;   Word before beginning to the entry point table
;   is offset to the beginning of the module.  Used
;   by the debugger.
;
        .dc.l   __module_begin - $base
__runtime_entry_table:
$base:

        .macro  build
        .ext.a  %1
        .dc.w   (%1-$base)/2

        .endmacro

        .include "^^common.entry_table_definitions"

;
                .align 4
$init_data:     .dc.l   0,0
$init_refs:     .dc.l   0,0

                .align 4
$usage_comments:.asciz  "ADA_RUNTIME"

;
;       Define the bytes which will be filled with
;       the module crc during the conversion process
;
        .sect   os2000_module_crc,code,relocatable,alignment:=2

        .dc.b   0   ; to ensure odd alignment for the CRC 
        .dc.b   0   ; must always be 0

        .dc.b   0   ; updated during conversion process to valid CRC value
        .dc.b   0   ; updated during conversion process to valid CRC value 

$end:   .dc.b   0   ; updated during conversion process to valid CRC value 

        .end