summaryrefslogtreecommitdiff
path: root/emu/Hp/asm-s800.s
diff options
context:
space:
mode:
Diffstat (limited to 'emu/Hp/asm-s800.s')
-rw-r--r--emu/Hp/asm-s800.s113
1 files changed, 0 insertions, 113 deletions
diff --git a/emu/Hp/asm-s800.s b/emu/Hp/asm-s800.s
deleted file mode 100644
index 865c0b2b..00000000
--- a/emu/Hp/asm-s800.s
+++ /dev/null
@@ -1,113 +0,0 @@
-;
-; /*
-; * To get lock routine, compile this into a .s, then SUBSTITUTE
-; * a LOAD AND CLEAR WORD instruction for the load and store of
-; * l->key.
-; *
-; */
-; typedef struct Lock {
-; int key;
-; int pid;
-; } Lock;
-;
-; int
-; mutexlock(Lock *l)
-; {
-; int key;
-;
-; key = l->key;
-; l->key = 0;
-; return key != 0;
-; }
-
- .LEVEL 1.1
-
- .SPACE $TEXT$,SORT=8
- .SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=0x2c,CODE_ONLY,SORT=24
-mutexlock
- .PROC
- .CALLINFO FRAME=0,ARGS_SAVED
- .ENTRY
-; SUBSTITUTED LDW 0(%r26),%r31
-; SUBSTITUTED STWS %r0,0(%r26)
- LDCWS 0(%r26),%r31 ; SUBSTITUTED
- COMICLR,= 0,%r31,%r28
- LDI 1,%r28
- .EXIT
- BV,N %r0(%r2)
- .PROCEND
-
-;
-; JIT help
-;
- .SPACE $TEXT$,SORT=8
- .SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=0x2c,CODE_ONLY,SORT=24
-calldata
- .PROC
- .CALLINFO CALLER,FRAME=16,SAVE_RP
- .ENTRY
- STW %r2,-20(%r30)
- LDO 64(%r30),%r30
- ADDIL LR'dataptr-$global$,%r27
- LDW RR'dataptr-$global$(%r1),%r31
- BLE 0(%sr5,%r31)
- COPY %r31,%r2
- LDW -84(%r30),%r2
- BV %r0(%r2)
- .EXIT
- LDO -64(%r30),%r30
- .PROCEND
-
- .SPACE $PRIVATE$
- .SUBSPA $SHORTBSS$
-dataptr .COMM 4
- .SUBSPA $SHORTDATA$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=24
-dyncall
- .WORD $$dyncall
- .EXPORT calldata
- .EXPORT dyncall
- .IMPORT $$dyncall,MILLICODE
-
- .SPACE $TEXT$
- .SUBSPA $CODE$
- .SPACE $PRIVATE$,SORT=16
- .SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=16
- .SPACE $TEXT$
- .SUBSPA $CODE$
- .EXPORT mutexlock,ENTRY,PRIV_LEV=3,ARGW0=GR,RTNVAL=GR
-
- .code
-; segflush(addr,len)
- .proc
- .callinfo
- .export segflush,entry
-segflush
- .enter
- ldsid (0,%arg0),%r1
- mtsp %r1,%sr0
- ldo -1(%arg1),%arg1
- copy %arg0,%arg2
- copy %arg1,%arg3
- fdc %arg1(0,%arg0)
-
-loop1
- addib,>,n -16,%arg1,loop1
- fdc %arg1(0,%arg0)
- fdc 0(0,%arg0)
- sync
- fic %arg3(%sr0,%arg2)
-loop2
- addib,>,n -16,%arg3,loop2
- fic %arg3(%sr0,%arg2)
- fic 0(%sr0,%arg2)
- sync
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- .leave
- .procend
- .end