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: ┃ S T ┃
Length: 3070 (0xbfe) Types: TextFile Names: »SYSTEM_IMPLEMENTATION_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 "SYSTEM_IMPLEMENTATION" .include "^standard_assembler_include_file" .include "runtime_definitions" comp_unit runtime_compunit .sect predefined_code,relocatable,code,readonly,alignment:=2 .gbl.a __system.unsigned_add .gbl.a __system.unsigned_subtract .gbl.a __system.unsigned_lt .gbl.a __system.unsigned_le .gbl.a __system.unsigned_gt .gbl.a __system.unsigned_ge $left'offset equ 4 $right'offset equ 8 ; ; function "+" (Left, Right : Address) return Address; ; subprogram sp_rt,sp.internal,linkage.simple __system.unsigned_add: move.l ($left'offset,sp),d0 add.l ($right'offset,sp),d0 rtd #8 ; ; function "-" (Left, Right : Address) return Address; ; subprogram sp_rt,sp.internal,linkage.simple __system.unsigned_subtract: move.l ($left'offset,sp),d0 sub.l ($right'offset,sp),d0 rtd #8 ; ; function "<" (Left, Right : Address) return Boolean; ; subprogram sp_rt,sp.internal,linkage.simple __system.unsigned_lt: moveq.l #0,d0 move.l ($left'offset,sp),d1 cmp.l ($right'offset,sp),d1 slo.b d0 neg.b d0 rtd #8 ; ; function "<=" (Left, Right : Address) return Boolean; ; subprogram sp_rt,sp.internal,linkage.simple __system.unsigned_le: moveq.l #0,d0 move.l ($left'offset,sp),d1 cmp.l ($right'offset,sp),d1 sls.b d0 neg.b d0 rtd #8 ; ; function ">" (Left, Right : Address) return Boolean; ; subprogram sp_rt,sp.internal,linkage.simple __system.unsigned_gt: moveq.l #0,d0 move.l ($left'offset,sp),d1 cmp.l ($right'offset,sp),d1 shi.b d0 neg.b d0 rtd #8 ; ; function ">=" (Left, Right : Address) return Boolean; ; subprogram sp_rt,sp.internal,linkage.simple __system.unsigned_ge: moveq.l #0,d0 move.l ($left'offset,sp),d1 cmp.l ($right'offset,sp),d1 shs.b d0 neg.b d0 rtd #8 end_subprograms .end