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 - 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