mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-01 12:20:26 +02:00
92 lines
1.3 KiB
ArmAsm
92 lines
1.3 KiB
ArmAsm
/*
|
|
* QuickThreads -- Threads-building toolkit.
|
|
* Copyright (c) 1993 by David Keppel
|
|
*
|
|
* Permission to use, copy, modify and distribute this software and
|
|
* its documentation for any purpose and without fee is hereby
|
|
* granted, provided that the above copyright notice and this notice
|
|
* appear in all copies. This software is provided as a
|
|
* proof-of-concept and for demonstration purposes; there is no
|
|
* representation about the suitability of this software for any
|
|
* purpose.
|
|
*/
|
|
|
|
.text
|
|
.globl _b_call_reg
|
|
.globl _b_call_imm
|
|
.globl _b_add
|
|
.globl _b_load
|
|
|
|
_b_null:
|
|
.word 0x0
|
|
ret
|
|
|
|
_b_call_reg:
|
|
.word 0x0
|
|
movl 4(ap),r0
|
|
moval _b_null,r1
|
|
L0:
|
|
calls $0,(r1)
|
|
calls $0,(r1)
|
|
calls $0,(r1)
|
|
calls $0,(r1)
|
|
calls $0,(r1)
|
|
|
|
subl2 $5,r0
|
|
bgtr L0
|
|
ret
|
|
|
|
|
|
_b_call_imm:
|
|
.word 0x0
|
|
movl 4(ap),r0
|
|
L1:
|
|
calls $0,_b_null
|
|
calls $0,_b_null
|
|
calls $0,_b_null
|
|
calls $0,_b_null
|
|
calls $0,_b_null
|
|
|
|
subl2 $5,r0
|
|
bgtr L1
|
|
ret
|
|
|
|
|
|
_b_add:
|
|
.word 0x0
|
|
movl 4(ap),r0
|
|
L2:
|
|
subl2 $1,r0
|
|
subl2 $1,r0
|
|
subl2 $1,r0
|
|
subl2 $1,r0
|
|
subl2 $1,r0
|
|
|
|
subl2 $1,r0
|
|
subl2 $1,r0
|
|
subl2 $1,r0
|
|
subl2 $1,r0
|
|
subl2 $1,r0
|
|
|
|
bgtr L2
|
|
ret
|
|
|
|
|
|
_b_load:
|
|
.word 0x0
|
|
movl 4(ap),r0
|
|
L3:
|
|
movl 0(sp),r1
|
|
movl 4(sp),r1
|
|
movl 8(sp),r1
|
|
movl 12(sp),r1
|
|
movl 16(sp),r1
|
|
movl 20(sp),r1
|
|
movl 24(sp),r1
|
|
movl 28(sp),r1
|
|
movl 32(sp),r1
|
|
movl 36(sp),r1
|
|
|
|
subl2 $1,r0
|
|
bgtr L3
|
|
ret
|