|
|
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: L T
Length: 58297 (0xe3b9)
Types: TextFile
Names: »LEXICAL_COMPARE_LIST«
└─⟦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 "lexical_compare"
.include "^^standard_assembler_include_file"
00000000 .push_list
00000000 .pop_list
00000000 .list macro_expansion = none
.include "^^common.runtime_definitions"
;
; This number is used to check the compatibility
; of the program and the loaded shared runtime.
; The value must be incremented whenever an execution
; incompatible change is made in the runtime.
;
; Version Incompatible changes in this version
; ------- ------------------------------------
; 0 Initial release of shared runtime
;
; 1 Changed Os2000_Process_Defs to use
; special Ada work area rather than
; user accounting area.
;
; 2 Added 12 long words of spare storage
; in Runtime_Data; this will permit
; some addition of data in the shared
; runtime to be compatible.
;
; 3 1.) Rev 6 compiler
; 2.) Runtime entry point table now 16-bit
; offset from table to entry in words.
; 3.) Deleted some unnecessary shared data items.
; 4.) General cleanup
compatibility_version equ 3
;
; Amount of stack space reserved for the runtime in bytes
;
runtime$stack$cushion equ 1024
;
; Values for certain runtime error messages and warnings.
;
error$code equ 16#8000#
warning$code equ 16#8100#
elaboration$ferror equ 1
finalization$ferror equ 2
unhandled$main$trap$ferror equ 3
lib$exception$ferror equ 5
main$exception$ferror equ 6
init$trap$handler$ferror equ 37
insufficient$stack$ferror equ 44
no$runtime$ferror equ 45
rt$incompatible$ferror equ 46
task$exception$warning equ 1
heap$create$warning equ 2
stack$request$warning equ 4
;
; Values used in exit system call
;
No$Error equ 0
Some$Error equ 1
;
; Comp Unit id for all runtime units except predefined exceptions
;
runtime_compunit equ 17
;
; Comp Unit id for predefined exception
;
exception_compunit equ 1
;
; Subprogram kind for runtime suprograms
;
sp_rt equ 1
;
; Special statement numbers
;
stmt.end_prolog equ 1
stmt.begin_epilog equ 16#7FFF#
;
; Subprogram ids for debug directives within runtime
; entry points.
;
sp.internal equ 16#0_00#
sp.enum_image equ 16#1_00#
sp.enum_pos equ 16#1_01#
sp.enum_pred equ 16#1_02#
sp.enum_succ equ 16#1_03#
sp.enum_value equ 16#1_04#
sp.enum_width equ 16#1_05#
sp.int_image equ 16#1_06#
sp.int_value equ 16#1_07#
sp.int_width equ 16#1_08#
sp.allocate_collection equ 16#2_00#
sp.allocate_fixed_cell equ 16#2_01#
sp.deallocate_collection equ 16#2_02#
sp.deallocate_fixed_cell equ 16#2_03#
sp.collection_size equ 16#2_04#
sp.initialize_master equ 16#3_00#
sp.create_task equ 16#3_01#
sp.activate_offspring equ 16#3_02#
sp.notify_parent equ 16#3_03#
sp.task_end equ 16#3_04#
sp.await_dependents equ 16#3_05#
sp.task_completion equ 16#3_06#
sp.terminate_allocated_offspring equ 16#3_07#
sp.terminate_dependent_offspring equ 16#3_08#
sp.entry_call equ 16#3_09#
sp.conditional_entry_call equ 16#3_0A#
sp.timed_entry_call equ 16#3_0B#
sp.begin_accept equ 16#3_0C#
sp.end_accept equ 16#3_0D#
sp.quick_accept equ 16#3_0E#
sp.close_alternatives equ 16#3_0F#
sp.open_delay equ 16#3_10#
sp.open_entry equ 16#3_11#
sp.open_terminate equ 16#3_12#
sp.select_rendezvous equ 16#3_13#
sp.abort_multiple_tasks equ 16#3_14#
sp.check_return_task equ 16#3_15#
sp.delay_statement equ 16#3_16#
sp.entry_count equ 16#3_17#
sp.task_callable equ 16#3_18#
sp.task_stack_size equ 16#3_19#
sp.task_terminated equ 16#3_1A#
sp.raise_exception equ 16#4_00#
sp.raise_constraint_error equ 16#4_01#
sp.propagate_exception equ 16#4_02#
sp.stack_check equ 16#4_03#
sp.mantissa equ 16#5_00#
sp.large equ 16#5_01#
sp.fixed_multiply equ 16#5_02#
sp.compare_8_bit_unsigned equ 16#5_03#
sp.compare_8_bit_signed equ 16#5_04#
sp.compare_16_bit_unsigned equ 16#5_05#
sp.compare_16_bit_signed equ 16#5_06#
sp.compare_32_bit_unsigned equ 16#5_07#
sp.compare_32_bit_signed equ 16#5_08#
;
; Linkage mechanisms used in assembly routines.
;
; Identification of the mechanism in a .subprogram directive
; and information provided in .statement directives enable
; the debugger to find the return pc.
;
linkage.frame equ 16#00_00_00_00# ; return pc may be found at
; offset from frame pointer
linkage.simple equ 16#10_00_00_00# ; return pc may be found at
; offset from stack pointer
linkage.none equ 16#50_00_00_00# ; no return pc exists,
; in bottom routine
linkage.trap equ 16#60_00_00_00# ; in trap handling code
;
; Definitions for locking primitives
;
.offset 0 ; type Q_Element is
; record
00000008 element'size: ; end record;
;
; Ada task control block (TCB) definitions
;
.offset 0
00000050 tcb'size:
b.action_state.exception_pending equ 3
comp_unit runtime_compunit
.sect ada_runtime_code,code,relocatable,alignment:=2
.gbl.a __compare_8_bit_signed
.gbl.a __compare_8_bit_unsigned
.gbl.a __compare_16_bit_signed
.gbl.a __compare_16_bit_unsigned
.gbl.a __compare_32_bit_signed
.gbl.a __compare_32_bit_unsigned
;
; function Compare_8_Bit_Signed (A : Address;
; B : Address;
; A_Length : Integer;
; B_Length : Integer) return Integer;
;
;
subprogram sp_rt,sp.compare_8_bit_signed,2#00100000_00000000#
00000000 __compare_8_bit_signed:
.local
$a'offset equ 12
$b'offset equ 16
$a_len'offset equ 20
$b_len'offset equ 24
00000000 487A0000 pea ($epilog:16,pc)
00000004 4E560000 link.w a6,#0 ; establish frame
00000008 2F02 move.l d2,-(sp)
statement stmt.end_prolog,0,0
;
; if a'length > b'length then
; d0 := 1;
; d1 := b'length
; elsif a'length < b'length then
; d0 := -1;
; d1 := a'length
; else
; d0 := 0;
; d1 := a'length
; end if;
;
0000000A 4280 clr.l d0 ; assume lengths are equal
0000000C 222E0014 move.l ($a_len'offset,a6),d1 ; d1 := a'length
00000010 242E0018 move.l ($b_len'offset,a6),d2 ; d2 := b'length
00000014 206E000C movea.l ($a'offset,a6),a0 ; a0 := a'address
00000018 226E0010 movea.l ($b'offset,a6),a1 ; a1 := b'address
0000001C B282 cmp.l d2,d1 ; compare a'length to b'length
0000001E 6700 beq.s $do_comparison ; lengths are equal
00000020 6D00 blt.s $a_is_short
00000022 $b_is_short:
00000022 5480 addq.l #2,d0 ; remember that A'Length > B'Length
00000024 2202 move.l d2,d1 ; use B'Length
00000026 $a_is_short:
00000026 5380 subq.l #1,d0 ; remember that A'Length < B'Length
;
; if a > b then
; d0 := d0 + 2;
; elsif a < b then
; d0 := d0 - 2;
; end if;
;
00000028 $do_comparison:
00000028 5381 subq.l #1,d1 ; adjust for DBcc
0000002A 6D00 blt.s $epilog ; check for null strings
0000002C 2401 move.l d1,d2 ; d2 := count
0000002E 4842 swap.w d2 ; d2 := high bits of count
00000030 B308 $loop: cmpm.b (a0)+,(a1)+ ; compare two elements
00000032 56C9FFFC dbne.w d1,$loop ; compare the two vectors
00000036 56CAFFF8 dbne.w d2,$loop
0000003A $check_comparison_result:
0000003A 6700 beq.s $epilog
0000003C 6E00 bgt.s $b_gt_a
0000003E 5880 addq.l #4,d0
00000040 5580 $b_gt_a:subq.l #2,d0
statement stmt.begin_epilog,0,0
00000042 242EFFFC $epilog:move.l (-4,a6),d2 ; restore d2
00000046 4E5E unlk a6 ; pop frame
00000048 588F addq.l #4,sp ; pop handler address
0000004A 4E740010 rtd #16 ; return with result in d0
;
; function Compare_8_Bit_Unsigned (A : Address;
; B : Address;
; A_Length : Integer;
; B_Length : Integer) return Integer;
;
;
subprogram sp_rt,sp.compare_8_bit_unsigned,2#00100000_00000000#
0000004E __compare_8_bit_unsigned:
.local
$a'offset equ 12
$b'offset equ 16
$a_len'offset equ 20
$b_len'offset equ 24
0000004E 487A0000 pea ($epilog:16,pc)
00000052 4E560000 link.w a6,#0 ; establish frame
00000056 2F02 move.l d2,-(sp)
statement stmt.end_prolog,0,0
;
; if a'length > b'length then
; d0 := 1;
; d1 := b'length
; elsif a'length < b'length then
; d0 := -1;
; d1 := a'length
; else
; d0 := 0;
; d1 := a'length
; end if;
;
00000058 4280 clr.l d0 ; assume lengths are equal
0000005A 222E0014 move.l ($a_len'offset,a6),d1 ; d1 := a'length
0000005E 242E0018 move.l ($b_len'offset,a6),d2 ; d2 := b'length
00000062 206E000C movea.l ($a'offset,a6),a0 ; a0 := a'address
00000066 226E0010 movea.l ($b'offset,a6),a1 ; a1 := b'address
0000006A B282 cmp.l d2,d1 ; compare a'length to b'length
0000006C 6700 beq.s $do_comparison ; lengths are equal
0000006E 6D00 blt.s $a_is_short
00000070 $b_is_short:
00000070 5480 addq.l #2,d0 ; remember that A'Length > B'Length
00000072 2202 move.l d2,d1 ; use B'Length
00000074 $a_is_short:
00000074 5380 subq.l #1,d0 ; remember that A'Length < B'Length
;
; if a > b then
; d0 := d0 + 2;
; elsif a < b then
; d0 := d0 - 2;
; end if;
;
00000076 $do_comparison:
00000076 5381 subq.l #1,d1 ; adjust for DBcc
00000078 6D00 blt.s $epilog ; check for null strings
0000007A 2401 move.l d1,d2 ; d2 := count
0000007C 4842 swap.w d2 ; d2 := high bits of count
0000007E B308 $loop: cmpm.b (a0)+,(a1)+ ; compare two elements
00000080 56C9FFFC dbne.w d1,$loop ; compare the two vectors
00000084 56CAFFF8 dbne.w d2,$loop
00000088 $check_comparison_result:
00000088 6700 beq.s $epilog
0000008A 6200 bhi.s $b_gt_a
0000008C 5880 addq.l #4,d0
0000008E 5580 $b_gt_a:subq.l #2,d0
statement stmt.begin_epilog,0,0
00000090 242EFFFC $epilog:move.l (-4,a6),d2 ; restore d2
00000094 4E5E unlk a6 ; pop frame
00000096 588F addq.l #4,sp ; pop handler address
00000098 4E740010 rtd #16 ; return with result in d0
;
; function compare_16_Bit_Signed (A : Address;
; B : Address;
; A_Length : Integer;
; B_Length : Integer) return Integer;
;
;
subprogram sp_rt,sp.compare_16_bit_signed,2#00100000_00000000#
0000009C __compare_16_bit_signed:
.local
$a'offset equ 12
$b'offset equ 16
$a_len'offset equ 20
$b_len'offset equ 24
0000009C 487A0000 pea ($epilog:16,pc)
000000A0 4E560000 link.w a6,#0 ; establish frame
000000A4 2F02 move.l d2,-(sp)
statement stmt.end_prolog,0,0
;
; if a'length > b'length then
; d0 := 1;
; d1 := b'length
; elsif a'length < b'length then
; d0 := -1;
; d1 := a'length
; else
; d0 := 0;
; d1 := a'length
; end if;
;
000000A6 4280 clr.l d0 ; assume lengths are equal
000000A8 222E0014 move.l ($a_len'offset,a6),d1 ; d1 := a'length
000000AC 242E0018 move.l ($b_len'offset,a6),d2 ; d2 := b'length
000000B0 206E000C movea.l ($a'offset,a6),a0 ; a0 := a'address
000000B4 226E0010 movea.l ($b'offset,a6),a1 ; a1 := b'address
000000B8 B282 cmp.l d2,d1 ; compare a'length to b'length
000000BA 6700 beq.s $do_comparison ; lengths are equal
000000BC 6D00 blt.s $a_is_short
000000BE $b_is_short:
000000BE 5480 addq.l #2,d0 ; remember that A'Length > B'Length
000000C0 2202 move.l d2,d1 ; use B'Length
000000C2 $a_is_short:
000000C2 5380 subq.l #1,d0 ; remember that A'Length < B'Length
;
; if a > b then
; d0 := d0 + 2;
; elsif a < b then
; d0 := d0 - 2;
; end if;
;
000000C4 $do_comparison:
000000C4 E289 lsr.l #1,d1 ; convert storage units to word count
000000C6 5381 subq.l #1,d1 ; adjust for DBcc
000000C8 6D00 blt.s $epilog ; check for null strings
000000CA 2401 move.l d1,d2 ; d2 := count
000000CC 4842 swap.w d2 ; d2 := high bits of count
000000CE B348 $loop: cmpm.w (a0)+,(a1)+ ; compare two elements
000000D0 56C9FFFC dbne.w d1,$loop ; compare the two vectors
000000D4 56CAFFF8 dbne.w d2,$loop
000000D8 $check_comparison_result:
000000D8 6700 beq.s $epilog
000000DA 6E00 bgt.s $b_gt_a
000000DC 5880 addq.l #4,d0
000000DE 5580 $b_gt_a:subq.l #2,d0
statement stmt.begin_epilog,0,0
000000E0 242EFFFC $epilog:move.l (-4,a6),d2 ; restore d2
000000E4 4E5E unlk a6 ; pop frame
000000E6 588F addq.l #4,sp ; pop handler address
000000E8 4E740010 rtd #16 ; return with result in d0
;
; function Compare_16_Bit_Unsigned (A : Address;
; B : Address;
; A_Length : Integer;
; B_Length : Integer) return Integer;
;
;
subprogram sp_rt,sp.compare_16_bit_unsigned,2#00100000_00000000#
000000EC __compare_16_bit_unsigned:
.local
$a'offset equ 12
$b'offset equ 16
$a_len'offset equ 20
$b_len'offset equ 24
000000EC 487A0000 pea ($epilog:16,pc)
000000F0 4E560000 link.w a6,#0 ; establish frame
000000F4 2F02 move.l d2,-(sp)
statement stmt.end_prolog,0,0
;
; if a'length > b'length then
; d0 := 1;
; d1 := b'length
; elsif a'length < b'length then
; d0 := -1;
; d1 := a'length
; else
; d0 := 0;
; d1 := a'length
; end if;
;
000000F6 4280 clr.l d0 ; assume lengths are equal
000000F8 222E0014 move.l ($a_len'offset,a6),d1 ; d1 := a'length
000000FC 242E0018 move.l ($b_len'offset,a6),d2 ; d2 := b'length
00000100 206E000C movea.l ($a'offset,a6),a0 ; a0 := a'address
00000104 226E0010 movea.l ($b'offset,a6),a1 ; a1 := b'address
00000108 B282 cmp.l d2,d1 ; compare a'length to b'length
0000010A 6700 beq.s $do_comparison ; lengths are equal
0000010C 6D00 blt.s $a_is_short
0000010E $b_is_short:
0000010E 5480 addq.l #2,d0 ; remember that A'Length > B'Length
00000110 2202 move.l d2,d1 ; use B'Length
00000112 $a_is_short:
00000112 5380 subq.l #1,d0 ; remember that A'Length < B'Length
;
; if a > b then
; d0 := d0 + 2;
; elsif a < b then
; d0 := d0 - 2;
; end if;
;
00000114 $do_comparison:
00000114 E289 lsr.l #1,d1 ; convert storage units to word count
00000116 5381 subq.l #1,d1 ; adjust for DBcc
00000118 6D00 blt.s $epilog ; check for null strings
0000011A 2401 move.l d1,d2 ; d2 := count
0000011C 4842 swap.w d2 ; d2 := high bits of count
0000011E B348 $loop: cmpm.w (a0)+,(a1)+ ; compare two elements
00000120 56C9FFFC dbne.w d1,$loop ; compare the two vectors
00000124 56CAFFF8 dbne.w d2,$loop
00000128 $check_comparison_result:
00000128 6700 beq.s $epilog
0000012A 6200 bhi.s $b_gt_a
0000012C 5880 addq.l #4,d0
0000012E 5580 $b_gt_a:subq.l #2,d0
statement stmt.begin_epilog,0,0
00000130 242EFFFC $epilog:move.l (-4,a6),d2 ; restore d2
00000134 4E5E unlk a6 ; pop frame
00000136 588F addq.l #4,sp ; pop handler address
00000138 4E740010 rtd #16 ; return with result in d0
;
; function Compare_32_Bit_Signed (A : Address;
; B : Address;
; A_Length : Integer;
; B_Length : Integer) return Integer;
;
;
subprogram sp_rt,sp.compare_32_bit_signed,2#00100000_00000000#
0000013C __compare_32_bit_signed:
.local
$a'offset equ 12
$b'offset equ 16
$a_len'offset equ 20
$b_len'offset equ 24
0000013C 487A0000 pea ($epilog:16,pc)
00000140 4E560000 link.w a6,#0 ; establish frame
00000144 2F02 move.l d2,-(sp)
statement stmt.end_prolog,0,0
;
; if a'length > b'length then
; d0 := 1;
; d1 := b'length
; elsif a'length < b'length then
; d0 := -1;
; d1 := a'length
; else
; d0 := 0;
; d1 := a'length
; end if;
;
00000146 4280 clr.l d0 ; assume lengths are equal
00000148 222E0014 move.l ($a_len'offset,a6),d1 ; d1 := a'length
0000014C 242E0018 move.l ($b_len'offset,a6),d2 ; d2 := b'length
00000150 206E000C movea.l ($a'offset,a6),a0 ; a0 := a'address
00000154 226E0010 movea.l ($b'offset,a6),a1 ; a1 := b'address
00000158 B282 cmp.l d2,d1 ; compare a'length to b'length
0000015A 6700 beq.s $do_comparison ; lengths are equal
0000015C 6D00 blt.s $a_is_short
0000015E $b_is_short:
0000015E 5480 addq.l #2,d0 ; remember that A'Length > B'Length
00000160 2202 move.l d2,d1 ; use B'Length
00000162 $a_is_short:
00000162 5380 subq.l #1,d0 ; remember that A'Length < B'Length
;
; if a > b then
; d0 := d0 + 2;
; elsif a < b then
; d0 := d0 - 2;
; end if;
;
00000164 $do_comparison:
00000164 E489 lsr.l #2,d1 ; convert storage units to long count
00000166 5381 subq.l #1,d1 ; adjust for DBcc
00000168 6D00 blt.s $epilog ; check for null strings
0000016A 2401 move.l d1,d2 ; d2 := count
0000016C 4842 swap.w d2 ; d2 := high bits of count
0000016E B388 $loop: cmpm.l (a0)+,(a1)+ ; compare two elements
00000170 56C9FFFC dbne.w d1,$loop ; compare the two vectors
00000174 56CAFFF8 dbne.w d2,$loop
00000178 $check_comparison_result:
00000178 6700 beq.s $epilog
0000017A 6E00 bgt.s $b_gt_a
0000017C 5880 addq.l #4,d0
0000017E 5580 $b_gt_a:subq.l #2,d0
statement stmt.begin_epilog,0,0
00000180 242EFFFC $epilog:move.l (-4,a6),d2 ; restore d2
00000184 4E5E unlk a6 ; pop frame
00000186 588F addq.l #4,sp ; pop handler address
00000188 4E740010 rtd #16 ; return with result in d0
;
; function Compare_32_Bit_Unsigned (A : Address;
; B : Address;
; A_Length : Integer;
; B_Length : Integer) return Integer;
;
;
subprogram sp_rt,sp.compare_32_bit_unsigned,2#00100000_00000000#
0000018C __compare_32_bit_unsigned:
.local
$a'offset equ 12
$b'offset equ 16
$a_len'offset equ 20
$b_len'offset equ 24
0000018C 487A0000 pea ($epilog:16,pc)
00000190 4E560000 link.w a6,#0 ; establish frame
00000194 2F02 move.l d2,-(sp)
statement stmt.end_prolog,0,0
;
; if a'length > b'length then
; d0 := 1;
; d1 := b'length
; elsif a'length < b'length then
; d0 := -1;
; d1 := a'length
; else
; d0 := 0;
; d1 := a'length
; end if;
;
00000196 4280 clr.l d0 ; assume lengths are equal
00000198 222E0014 move.l ($a_len'offset,a6),d1 ; d1 := a'length
0000019C 242E0018 move.l ($b_len'offset,a6),d2 ; d2 := b'length
000001A0 206E000C movea.l ($a'offset,a6),a0 ; a0 := a'address
000001A4 226E0010 movea.l ($b'offset,a6),a1 ; a1 := b'address
000001A8 B282 cmp.l d2,d1 ; compare a'length to b'length
000001AA 6700 beq.s $do_comparison ; lengths are equal
000001AC 6D00 blt.s $a_is_short
000001AE $b_is_short:
000001AE 5480 addq.l #2,d0 ; remember that A'Length > B'Length
000001B0 2202 move.l d2,d1 ; use B'Length
000001B2 $a_is_short:
000001B2 5380 subq.l #1,d0 ; remember that A'Length < B'Length
;
; if a > b then
; d0 := d0 + 2;
; elsif a < b then
; d0 := d0 - 2;
; end if;
;
000001B4 $do_comparison:
000001B4 E489 lsr.l #2,d1 ; convert storage units to long count
000001B6 5381 subq.l #1,d1 ; adjust for DBcc
000001B8 6D00 blt.s $epilog ; check for null strings
000001BA 2401 move.l d1,d2 ; d2 := count
000001BC 4842 swap.w d2 ; d2 := high bits of count
000001BE B388 $loop: cmpm.l (a0)+,(a1)+ ; compare two elements
000001C0 56C9FFFC dbne.w d1,$loop ; compare the two vectors
000001C4 56CAFFF8 dbne.w d2,$loop
000001C8 $check_comparison_result:
000001C8 6700 beq.s $epilog
000001CA 6200 bhi.s $b_gt_a
000001CC 5880 addq.l #4,d0
000001CE 5580 $b_gt_a:subq.l #2,d0
statement stmt.begin_epilog,0,0
000001D0 242EFFFC $epilog:move.l (-4,a6),d2 ; restore d2
000001D4 4E5E unlk a6 ; pop frame
000001D6 588F addq.l #4,sp ; pop handler address
000001D8 4E740010 rtd #16 ; return with result in d0
end_subprograms
.end
Program Section Name Kind Length Patches Fixups
-------------------------------- ---- ---------- ------- -------
ADA_RUNTIME_CODE Rel 476 36 6
DEBUG_BODY Rel 210 24 6
DEBUG_HDR_CU Rel 31 2 0
Standard include file: <none>
Object module version: 11
Assembled 3296 lines in 27.103 elapsed, 20.985 CPU.
7297 lines per elapsed minute.
9424 lines per CPU minute.
30 disk waits for this job.
908538 bytes of heap used by this job.