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: ┃ O T

⟦1cddda3ae⟧ TextFile

    Length: 5644 (0x160c)
    Types: TextFile
    Names: »OS2000_MODULE_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"

        .gbl.a  __header_start
        .gbl.l  __data_area_size
        .gbl.a  __Ada_Init_Data_Begin
        .gbl.a  __Ada_Init_Values_Begin
        .gbl.a  __Ada_Init_Values_End
        .gbl.l  __Defined_Heap_Size

        .ext.l  _os2000_module$name     ; defined in the elaboration module
        .ext.l  __undefined_trap
        .ext.l  __main_stack_size       ; From the main prog elab code.
        .ext.l  __HEAP_SIZE             ; From the main prog elab code.

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

$module_rev     equ     0
$compiler_rev   equ     6
                
$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#

__header_start:
$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   _os2000_module$name - $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_rev
$m_edit:        .dc.w   $compiler_rev
$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   __undefined_trap
$m_mem:         .dc.l   __data_area_size
$m_stack:       .dc.l   __main_stack_size
$m_idata:       .dc.l   init_data
$m_irefs:       .dc.l   $init_refs
;
;       thats the end of the real header
;
                .align 4

;
; The following MUST resolve to locations $48 through $53 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.  Location $50 contains the 32 bit value of the size
; to be allocated for the initial heap (in bytes).  It is overwritten
; by the object converter only on request.
;
$loc_48:        .dc.l   0               ; Machine-id
$loc_4c:        .dc.l   0               ; Object-id
__defined_heap_size:
                .dc.l   __HEAP_SIZE     ; Heap size

;
$init_refs:     .dc.l   0,0             ; there are no reference tables

                .align 4
$usage_comments:
        .ascii  "<Rev0 Comment>"    ; Must be exactly these 14 characters.
        .dcb.b  129-14,0            ; Must fill out exactly 128 chars with
        .dc.b   0                   ; To fill out for alignment.
;
;       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 
;
;       The following are markers which, in conjunction with special
;       placement in the linker command file, denote the beginning
;       and end of the initial value area.  This area is block copied
;       to the initialized data area by the operating system when the
;       module is loaded.  Os2000 copies hunks of values where each
;       hunk starts with a 32-bit offset and a 32-bit size followed
;       by the values for that hunk.  Additional hunks are simply
;       placed one after the other.  The list of hunks is terminated
;       by a pair of 32-bit zeros (null offset, null size).
;
        .sect module$iv_begin,data,alignment:=4
        .local
init_data:        
$offset:.dc.l   $destination
$size:  .dc.l   $end - $begin
$begin:
        .sect module$iv_end,data,relocatable,alignment:=4
$end:
        .dc.l   0,0     ; Terminator

        .sect module$id_begin,data,relocatable,alignment:=4
$destination:

        .local
        .sect module$wd_begin,data,relocatable,alignment:=4
$begin:
        .sect module$wd_end,data,relocatable,alignment:=4
$end:
        __data_area_size equ $end - $begin

        .sect   ADA_INIT_VALUES_BEGIN,RELOCATABLE,DATA,READWRITE,ALIGNMENT:=4

__Ada_Init_Values_Begin:

        .sect   ADA_INIT_VALUES_END,RELOCATABLE,DATA,READWRITE,ALIGNMENT:=4

__Ada_Init_Values_End:

        .sect   ADA_INIT_DATA_BEGIN,RELOCATABLE,DATA,READWRITE,ALIGNMENT:=4

__Ada_Init_Data_Begin:

        .end