8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-26 08:03:03 +01:00
firebird-mirror/src/jrd/mmov.mar
2001-05-23 13:26:42 +00:00

70 lines
1.4 KiB
Plaintext

; The contents of this file are subject to the Interbase Public
; License Version 1.0 (the "License"); you may not use this file
; except in compliance with the License. You may obtain a copy
; of the License at http://www.Inprise.com/IPL.html
;
; Software distributed under the License is distributed on an
; "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
; or implied. See the License for the specific language governing
; rights and limitations under the License.
;
; The Original Code was created by Inprise Corporation
; and its predecessors. Portions created by Inprise Corporation are
; Copyright (C) Inprise Corporation.
;
; All Rights Reserved.
; Contributor(s): ______________________________________.
;
; PROGRAM: JRD Access Method
; MODULE:
; DESCRIPTION:
;
.title mmov Macro Mover
.global MOV_fast, MOV_faster
; .entry MOV_fast, ^m<r2,r3,r4,r5>
; movc3 12(ap), @4(ap), @8(ap)
; ret
.entry MOV_fast,^m<r2,r3>
brb MOV_faster + 2
.entry MOV_faster,^m<r2,r3>
movl 12(ap),r0
movl 4(ap),r2
movl 8(ap),r3
ashl #-5,r0,r1
beql 20$
bicl #^xffffffe0, r0
10$: movl (r2)+,(r3)+
movl (r2)+,(r3)+
movl (r2)+,(r3)+
movl (r2)+,(r3)+
movl (r2)+,(r3)+
movl (r2)+,(r3)+
movl (r2)+,(r3)+
movl (r2)+,(r3)+
sobgtr r1,10$
20$: ashl #-2,r0,r1
beql 40$
bicl #^xfffffffc, r0
30$: movl (r2)+,(r3)+
sobgtr r1, 30$
40$: tstl r0
beql 60$
50$: movb (r2)+,(r3)+
sobgtr r0, 50$
60$:
ret
.end