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: ┃ R T ┃
Length: 3689 (0xe69) Types: TextFile Names: »RAISING_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 "RAISING" ; ; ; .include "^^standard_assembler_include_file" .include "^^common.runtime_definitions" .include "^^common.os2000_definitions" comp_unit runtime_compunit .sect ada_runtime_code,code,relocatable,alignment:=2 .gbl.l __raising_elab .gbl.l __raise_exception .gbl.l __propagate_exception .gbl.l __raise_constraint_error .gbl.l __raise_storage_error .gbl.l __unelaborated_subprogram .ext.l __propagate_exception_branch .ext.l __get_exception_indirect .ext.l __set_exception_indirect .ext.l __trace_exception .ext.l __error_path .ext.l __constraint_error .ext.l __storage_error .ext.l __program_error .ext.l __tasking_error .ext.l __numeric_error .ext.l __tasking_error_var subprogram sp_rt,sp.internal,linkage.simple __raise_storage_error: lea (__storage_error:16,a5),A0 bra.b $move_exception_and_raise subprogram sp_rt,sp.internal,linkage.simple __unelaborated_subprogram: __raise_program_error: lea (__program_error:16,a5),a0 bra.b $move_exception_and_raise subprogram sp_rt,sp.internal,linkage.simple __raise_constraint_error: lea (__constraint_error:16,a5),a0 $move_exception_and_raise: move.l a0,D0 bra.w __raise_exception subprogram sp_rt,sp.internal,linkage.simple __raise_exception: move.l (a7),-(a7) ; Save copy of raise pc statement 0,0,1 move.l d0,-(a7) ; push exception id statement 0,0,2 move.l d0,-(a7) ; push exception id statement 0,0,3 jsr ([__set_exception_indirect,a5]) ; call set Exception_Id statement 0,0,2 bsr.l __trace_exception ; go to tracing routine statement 0,0,1 propagate: jmp ([__propagate_exception_branch,a5]) ; return to user code ; ; procedure Propagate_Exception; ; subprogram sp_rt,sp.internal,linkage.simple __propagate_exception: jsr ([__get_exception_indirect,a5]) ; get Exception_Id tst.l d0 ; is is abortion? beq.b propagate ; if so don't trace move.l d0,-(sp) statement 0,0,1 bsr.l __trace_exception ; go to tracing routine statement 0,0,0 bra.s propagate ; ; Elaboration ; subprogram sp_rt,sp.internal,linkage.simple __raising_elab: lea (__tasking_error:16,a5),a0 move.l a0,(__tasking_error_var:16,a5) rts end_subprograms .end