|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: M T
Length: 4631 (0x1217)
Types: TextFile
Names: »MODULE_HEADER_ASM«
└─⟦afbc8121e⟧ Bits:30000532 8mm tape, Rational 1000, MC68020_OS2000 7_2_2
└─⟦77aa8350c⟧ »DATA«
└─⟦f794ecd1d⟧
└─⟦24d1ddd49⟧
└─⟦this⟧
; 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