|
|
DataMuseum.dkPresents historical artifacts from the history of: RegneCentralen RC3600/RC7000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RegneCentralen RC3600/RC7000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 3072 (0xc00)
Types: TextFile
Names: »PHMAC«
└─⟦45bd0f8dd⟧ Bits:30000464 DOMUS disk image
└─⟦this⟧ »/PHMAC«
; $Id: ZMAC,v 1.4 2005/02/17 15:59:24 phk Exp $
;
; Poul-Hennings working version of MCPAR
.MACRO Z.ZON
.PUSH .NOLOC
.NOLOC 1
.IFE ^3
*** ; ILLEGAL NO OF BUFFERS ; ***
.GOTO FIN
.ENDC
.PUSH .TXTM
.TXTM 1
.PUSH .TXTN
.TXTN 0
.PUSH .RDX
.RDX 8
.IFL .ARGCT-9.
.PUSH 0
.ENDC ENDE
.PUSH ^9
ÆENDEÅ
.DO '^5'=='U'
.PUSH 0
.GOTO NEXT
.ENDC
.DO '^5'=='UB'
.PUSH 1
.GOTO NEXT
.ENDC
.DO '^5'=='F'
.PUSH 2
.GOTO NEXT
.ENDC
.DO '^5'=='FB'
.PUSH 3
.GOTO NEXT
.ENDC
.DO '^5'=='V'
.PUSH 4
.GOTO NEXT
.ENDC
.DO '^5'=='VB'
.PUSH 5
.GOTO NEXT
.ENDC
*** ; ILLEGAL RECORD FORMAT ; ***
.GOTO FIN
ÆNEXTÅ
.IFL .ARGCT-8.
.PUSH 0
.ENDC ENDE
.PUSH ^8
ÆENDEÅ
.IFL .ARGCT-7.
.PUSH 177777
.ENDC ENDE
.PUSH ^7
ÆENDEÅ
.PUSH .
.TXT '^1' ; ZNAME
.IFN .-.POP-3
*** ; ILLEGAL NAME LENGTH ; ***
.ENDC
Z ; SIZE
0 ; ZMODE
^2 ; ZKIND
.POP ; ZMASK
^6 ; ZGIVE
1 ; ZFILE
1 ; ZBLOCK
.POP*2 ; ZCONV
.+Z-ZBUFF ; ZBUFF
^4/2+SSIZE ; ZSIZE
.POP ; ZFORM
.POP ; ZLENGTH
.+Z+SSIZE-ZFIRS*2 ; ZFIRST
.+Z+SSIZE-ZTOP*2 ; ZTOP
.+Z-ZUSED ; ZUSED
^4 ; ZSHAREL
0 ; ZREM
.BLK ZAUX ; Z0
.PUSH .
.PUSH 1
.DO ^3
.NOLOC 0
.NOLOC 1
0 ; SOPER
0 ; SCOUNT
0 ; SADDR
0 ; SSPEC
.IFN ^3-.TOP
.+SSIZE+(^4/2)-SNEXT ; SNEXT
.ENDC ENDE
.NOLOC .POP ; DUMMY
.POP ; SNEXT
.PUSH ^3-1
ÆENDEÅ
0 ; SSTAT
.+1*2 ; SFIRS
.BLK ^4/2 ; BUFFER
.PUSH .POP+1
.ENDC
.NOLOC .POP ; DUMMY
.RDX .POP
.TXTN .POP
.TXTM .POP
ÆFINÅ
.NOLOC .POP
%
.MACRO Z.PCD
.PUSH .NOLOC
.NOLOC 1
.PUSH .TXTM
.TXTM 1
.PUSH .TXTN
.TXTN 0
.+0 ; NEXT
.-1 ; PREV
0 ; CHAIN
0 ; CARRY
.PUSH .
.TXT '^1' ; NAME
.IFN .-.POP-3
*** ; ILLEGAL NAME LENGTH ; ***
.ENDC
.+0 ; EVENT
.-1 ; EVENT
^2 ; BUFFER
^3 ; PROGRAM
1B0 ; STATE
0 ; TIMER
^4 ; PRIORITY
^5 ; BREAK
0 ; AC0
0 ; AC1
.-AC2 ; AC2
0 ; AC3
^6*2 ; PSW
0 ; SAVE
.TXTN .POP
.TXTM .POP
.NOLOC .POP
%
.MACRO Z.MBF
.PUSH .NOLOC
; MESSAGE BUFFERS
.NOLOC 1
.PUSH .RDX
.RDX 10
.PUSH 1
.DO ^2-1
.IFE .TOP-(.TOP/4*4)-1
.IFN .TOP-1
.EJEC
.ENDC
.ENDC
.NOLOC 0
.NOLOC 1
.+0 ; NEXT
.-1 ; PREV
.+BSIZE-CHAIN ; CHAIN
BSIZE ; SIZE
^1 ; SENDER
0 ; RECEIVER
0 ; MESS0
0 ; MESS1
0 ; MESS2
0 ; MESS3
.PUSH .POP+1
.ENDC
.+0 ; NEXT
.-1 ; PREV
0 ; CHAIN
BSIZE ; SIZE
^1 ; SENDER
0 ; RECEIVER
0 ; MESS0
0 ; MESS1
0 ; MESS2
0 ; MESS3
.NOLOC .POP
.RDX .POP
.NOLOC .POP
%
«nul»