DataMuseum.dk

Presents historical artifacts from the history of:

Bogika Butler

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Bogika Butler

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦443ac33a8⟧ TextFile

    Length: 8320 (0x2080)
    Types: TextFile
    Names: »MACEOSM.SA«

Derivation

└─⟦909f4eb2b⟧ Bits:30009789/_.ft.Ibm2.50006622.imd Mogens Pelles Zilog 80,000 / EOS projekt
    └─⟦this⟧ »MACEOSM.SA« 
└─⟦ddcd65152⟧ Bits:30009789/_.ft.Ibm2.50006617.imd Mogens Pelles Zilog 80,000 / EOS projekt
    └─⟦this⟧ »MACEOSM.SA« 

TextFile

*FILE:  MACEOS  INCLUDED
*CONTAINS VIR'S MACROES FOR KERNEL OPERATIONS
    NOLIST
 
FML EQU 0<<14
TMP EQU 1<<14
LOC EQU 2<<14
IN  EQU 1
OUT EQU 2
INOUT  EQU 3
*
* ENTRY DEFINITIONS FOR KERNEL OBJECTS
*
* ALLOC
NEW_OBJ      EQU 1
* SCHEDULER
NEW_PROC     EQU 1
NEW_SCHED    EQU 2
NEW_GATE     EQU 3
NEW_CHAN     EQU 4
* GATE
LOCK         EQU 1
OPEN         EQU 2
NEW_COND     EQU 3
RESIDENT     EQU 4     ;ONLY DRIVER GATES
* CONDITION
WAIT         EQU 1
SIGNAL       EQU 2
 
INT MACRO
                     MOVE.L Ø1,-(A7)
                     ENDM
SIZE MACRO
                     MOVE.W Ø2,-(A7)
                     MOVE.L Ø1,-(A7)
                     ENDM
ACTARG MACRO
  IFLE NARG-1   PRIVAT TYPE  OR  NO ACTUAL
    Ø1
    MEXIT
  ENDC
  IFEQ NARG-2   <IO,PTR>
    MOVE.L Ø2,-(A7)
    MOVE.W #Ø1,-(A7)
    CLR.L -(A7)
    CLR.L -(A7)
    MEXIT
  ENDC
  IFEQ NARG-3   <IO,PTR1,PTR2>
    MOVE.L Ø3,-(A7)
    MOVE.L Ø2,-2(A7)
    MOVE.W #Ø1,-(A7)
    CLR.L -(A7)
    CLR.L -(A7)
    MEXIT
  ENDC
  IFEQ NARG-4   <IO,PTR,FIR,LEN>
    MOVE.L Ø2,-(A7)
    MOVE.W #Ø1,-(A7)
    MOVE.L Ø3,-(A7)
    MOVE.L Ø4,-(A7)
    MEXIT
  ENDC
  IFEQ NARG-5   <IO,PTR1,PTR2,FIR,LEN>
    MOVE.L Ø3,-(A7)
    MOVE.L Ø2,-2(A7)
    MOVE.W #Ø1,-(A7)
    MOVE.L Ø4,-(A7)
    MOVE.L Ø5,-(A7)
    MEXIT
  ENDC
    FAIL 0
  ENDM
PTRARG MACRO
  IFEQ NARG-1
    MOVE.L Ø1,-(A7)
    MEXIT
  ENDC
  IFEQ NARG-2
    MOVE.L Ø2,-(A7)
    MOVE.L Ø1,-2(A7)
    MEXIT
  ENDC
    FAIL 0
  ENDM
ACTUALS MACRO
  IFLT NARG-1
    MEXIT
  ENDC
  ACTARG Ø1
  ACTARG Ø2
  ACTARG Ø3
  ACTARG Ø4
  ACTARG Ø5
  IFGT NARG-5
  FAIL 0
  ENDC
  ENDM
VALDATA MACRO
                     IFLT NARG-1
                     MEXIT
                     ENDC
                     SUBQ.L #2,A7
                     MOVE.L A7,D6
                     Ø1
                     SUB.L  A7,D6
                     MOVE.W D6,(A7,D6.W)
                     IFLT NARG-2
                     MEXIT
                     ENDC
                     SUBQ.L #2,A7
                     MOVE.L A7,D6
                     Ø2
                     SUB.L  A7,D6
                     MOVE.W D6,(A7,D6.W)
                     IFLT NARG-3
                     MEXIT
                     ENDC
                     SUBQ.L #2,A7
                     MOVE.L A7,D6
                     Ø3
                     SUB.L  A7,D6
                     MOVE.W D6,(A7,D6.W)
                     IFLT NARG-4
                     MEXIT
                     ENDC
                     SUBQ.L #2,A7
                     MOVE.L A7,D6
                     Ø4
                     SUB.L  A7,D6
                     MOVE.W D6,(A7,D6.W)
                     IFLT NARG-5
                     MEXIT
                     ENDC
                     SUBQ.L #2,A7
                     MOVE.L A7,D6
                     Ø5
                     SUB.L  A7,D6
                     MOVE.W D6,(A7,D6.W)
                     IFGT NARG-5
                     FAIL 0
                     ENDC
                     ENDM
VALSEGM MACRO     D6=TOP_ARG, D7=TOP_CALL, A5=FIRST OF STACK
                     IF.L D6 <NE> D7 THEN.S   DO NOT APPEAR IN LISTING???
                     MOVE.L #TMP+1,-(A7)
                     ELSE.S
                     CLR.L -(A7)
                     ENDI
                     MOVE.W #3,-(A7)
                     MOVE.L A5,-(A7)
                     SUB.L  D6,(A7)
                     NEG.L  (A7)
                     MOVE.L D7,-(A7)
                     SUB.L  D6,(A7)
                     ENDM
KNELFUNC MACRO     D6=TOP_ARG
                     MOVE.L A7,D4
                     MOVE.L D6,D2
                     SUB.L  D4,D2
                     MOVEQ.L #Ø1,D5
                     ENDM
KNELENTR MACRO     D6=TOP_ARG
                     KNELFUNC Ø1
                     MOVE.L D6,-(A7)
                     MOVE.L   (A7,D2.L),D6  TESTOUTPUT
                     MOVE.L -4(A7,D2.L),D7  TESTOUTPUT
                     TRAP #7
                     MOVE.L (A7),A7
                     ENDM
 
OBJ_CALL MACRO
*                    TESTOUT <OBJ_CALL>
                     MOVE.L A7,D7 D7:=TOP_CALL
                     VALDATA Ø4
                     MOVE.L A7,D6 D6:=LOW_VAL=TOP_ARG
                     PTRARG Ø1
                     PTRARG Ø2
                     VALSEGM
                     ACTUALS Ø3
                     KNELFUNC 0   D2=LENGTH
                     MOVE.L D7,-(A7)
                     MOVE.L   (A7,D2.L),D6  TESTOUTPUT
                     MOVE.L -4(A7,D2.L),D7  TESTOUTPUT
                     TRAP #7
                     MOVE.L (A7),A7
                     ENDM
DECL_PROC MACRO
*                    TESTOUT <DECL_PROC>
                     MOVE.L A7,D7 D7:=TOP_CALL
                     VALDATA Ø4
                     MOVE.L A7,D6 D6:=LOW_VAL=TOP_ARG
                     PTRARG Ø1
                     PTRARG Ø2
                     VALSEGM
                     ACTUALS Ø3
                     KNELFUNC 19   D2=LENGTH
                     MOVE.L D7,-(A7)
                     MOVE.L   (A7,D2.L),D6  TESTOUTPUT
                     MOVE.L -4(A7,D2.L),D7  TESTOUTPUT
                     TRAP #7
                     MOVE.L (A7),A7
                     ENDM
DEALLOC MACRO
*                    TESTOUT <DEALLOC>
                     MOVE.L A7,D7 D7:=TOP_CALL
                     VALDATA Ø4
                     MOVE.L A7,D6 D6:=LOW_VAL=TOP_ARG
                     PTRARG Ø1
                     PTRARG Ø2
                     VALSEGM
                     ACTUALS Ø3
                     KNELFUNC 7   D2=LENGTH
                     MOVE.L D7,-(A7)
                     MOVE.L   (A7,D2.L),D6  TESTOUTPUT
                     MOVE.L -4(A7,D2.L),D7  TESTOUTPUT
                     TRAP #7
                     MOVE.L (A7),A7
                     ENDM
 
OBJ_RETURN MACRO
*   TESTOUT <OBJ_RETURN>
    MOVEQ.L #1,D5
    TRAP #7
    ENDM
 
COPY MACRO
 *  TESTOUT <COPY>
    MOVE.L A7,D6
    PTRARG Ø1
    PTRARG Ø2
    KNELENTR 13
    ENDM
 
NEW_SEG MACRO
  * TESTOUT <NEW_SEG>
    MOVE.L A7,D6
    PTRARG Ø1
    PTRARG Ø2
    KNELENTR 5
    ENDM
 
SPEED_UP MACRO
  * TESTOUT <SPEED_UP>
    MOVE.L A7,D6
    PTRARG Ø1
    KNELENTR 22
    ENDM
 
PROPAGATE MACRO
*   TESTOUT <PROPAGATE>
    MOVE.L A7,D6
    PTRARG Ø1
    KNELENTR 23
    ENDM
 
DECL_ENV MACRO  OWNER,MANAGER,ENV,#LOCALS,TERMENTRY,DEALLOCSTACK,MAXSTACK
 *  TESTOUT <DECL_ENV>
    IFNE NARG-7
    FAIL 26
    MEXIT
    ENDC
    MOVE.L A7,D6
    PTRARG Ø1
    PTRARG Ø2
    PTRARG Ø3
    INT Ø4
    INT Ø5
    SIZE Ø6
    SIZE Ø7
    KNELENTR 26
    ENDM
 
DECL_SEG MACRO  OWNER,#BYTES
*   TESTOUT <DECL_SEG>
    IFNE NARG-2
    FAIL 5
    MEXIT
    ENDC
    MOVE.L A7,D6
    PTRARG Ø1
    INT Ø2
    KNELENTR 3
    ENDM
 
NEW_SEGM MACRO  OWNER,#BYTES
*   TESTOUT <NEW_SEGM>
    IFNE NARG-2
    FAIL 5
    MEXIT
    ENDC
    MOVE.L A7,D6
    PTRARG Ø1
    INT Ø2
    KNELENTR 5
    ENDM
 
MAP_SEGM MACRO  SEGMPTR,PREFADDR,MMU#
*   TESTOUT <MAP_SEGM>
    IFNE NARG-3
    FAIL 33
    MEXIT
    ENDC
    MOVE.L A7,D6
    PTRARG Ø1
    INT Ø2
    INT Ø3
    KNELENTR 33
* RETURN: A1= ACTUAL ADDRESS, D1/D3 = !
    ENDM
 
DECL_SUB MACRO  OWNER,SUBSEGMSPEC
*   TESTOUT <DECL_SUB>
    IFNE NARG-2
    FAIL 6
    MEXIT
    ENDC
    MOVE.L A7,D6
    PTRARG Ø1
    ACTARG Ø2    ;SAME AS SUBSEGMENT
    KNELENTR 6
    ENDM
 
IO_BEGIN MACRO  BUF, ÆVECT#Å
*   TESTOUT <IO_BEGIN>
    MOVE.L A7,D6
    PTRARG Ø1
    IFGT NARG-1
    INT Ø2
    ENDC
    KNELENTR 36
* RETURN: A1=ABSADDR
    ENDM
 
IO_END MACRO  BUF,ÆVECT#Å
*   TESTOUT <IO_END>
    MOVE.L A7,D6
    PTRARG Ø1
    IFGT NARG-1
    INT Ø2
    ENDC
    KNELENTR 37
    ENDM
 
ABS_ADDR MACRO  PTR,ÆVECT#Å
*   TESTOUT <ABS_ADDR>
    MOVE.L A7,D6
    PTRARG Ø1
    IFGT NARG-1
    INT Ø2
    ENDC
    KNELENTR 38
* RETURN: A1=ABSADDR
    ENDM
 
INT_SIGN MACRO  CONDITION,ÆVECT#Å
*   TESTOUT <INT_SIGN>
    MOVE.L A7,D6
    PTRARG Ø1
    IFGT NARG-1
    INT Ø2
    ENDC
    KNELENTR 39
    ENDM
 
    LIST
«eof»