|
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 - download
Length: 5120 (0x1400) Types: TextFile Notes: RCSL-43-GL-10380, RCSL-43-GL-10381 Names: »MCPAR«
└─⟦45bd0f8dd⟧ Bits:30000464 DOMUS disk image └─⟦this⟧ └─⟦6dbcc9c03⟧ Bits:30000463 DOMUS disk image └─⟦this⟧ └─⟦a1ade7893⟧ Bits:30000467 DOMUS disk image, Nakskov Gymnasium, RC-BASIC/COMAL └─⟦this⟧ └─⟦a2e222af0⟧ Bits:30001626 DOMUS disk image └─⟦this⟧ └─⟦d04eec1df⟧ Bits:30000466 DOMUS disk image (Nakskov Gymnasium) └─⟦this⟧ └─⟦d85593a46⟧ Bits:30000470 DOMUS disk image - User files └─⟦this⟧
; RCSL: 43-GL10381 ; AUTHOR: JHA ; EDITED: 80.06.27 ; MCPAR.00 ; KEYWORDS: RC3600,ASSEMBLER,DEFINITIONS,LISTING ; ABSTRACT: THIS FILE CONTAINS A NUMBER OF ; UTILITY MACRO DEFINITION STRINGS ; RCSL: 43-GL10380: ASCII SOURCE TAPE «ff» .TITLE MCPAR ; THE MACROS DEFINED IN THIS FILE ARE: ; M.ZON PRODUCES A ZONE WITH A SPECIFIED ; NUMBER OF SHARES AND BUFFERS ; M.OR PRODUCES THREE INSTRUCTIONS TO ; SIMULATE AN 'OR' INSTRUCTION ; M.PCD PRODUCES A STANDARD PROCESS ; DESCRIPTOR ; M.MBF PRODUCES A NUMBER OF MESSAGE BUFFERS «ff» ; M.ZON NAME,KIND,BUFS,SHAREL,FORM,GIVEUP(,MASK(,CONV(,RECLGT))) ; A CALL OF THIS MACRO WILL PRODUCE A ZONE WITH ; A NUMBER OF SHARES AND BUFFERS. ; PARAMETERS: ; NAME: ZONE NAME. MUST BE EXACT FIVE BYTES LONG. ; KIND: ZONE KIND. ; BUFS: NUMBER OF SHARES AND DATA BUFFERS. ; SHAREL: NUMBER OF BYTES IN EACH DATA BUFFER. ; MUST BE AN EVEN NUMBER. ; FORM: RECORD FORMAT (U,UB,F,FB,V OR VB). ; GIVEUP: ADDRESS OF GIVEUP PROCEDURE. ; MASK: GIVEUP MASK. DEFAULT 8'177777 (SEE BELOW). ; CONV: CONVERSION TABLE WORD ADDRESS. ; DEFAULT 0 (SE BELOW). ; RECLGT: LENGTH OF EACH RECORD. ; DEFAULT 0 (SEE BELOW) ; THE LAST, THE TWO LAST, OR THE THREE LAST PARAMETERS ; MAY BE OMITTED. IN THIS CASE THE DEFAULT VALUES ARE USED. ; EXAMPLE: ; .EJEC ; .RDX 8 ; ; DISC: ; DISC ZONE DESCRIPTION ; ; M.ZON DISC<0>,30.,1,512.,U,PGIVE,177776 «ff» ; M.OR ACS,ACD ; A CALL OF THIS MACRO WILL PRODUCE THREE INSTRUCTIONS ; TO SIMULATE AN 'OR' INSTRUCTION. ; NOTE: THE SOURCE ACCUMULATOR IS DESTROYED!! ; PARAMETERS: ; ACS: SOURCE ACCUMULATOR. ; ACD: DESTINATION ACCUMULATOR. ; EXAMPLE: ; M.OR 0,3 ; AC3 := AC0 OR AC3 «ff» ; M.PCD NAME,BUFFER,PROGRAM,PRIOR,BREAK,START ; A CALL OF THIS MACRO WILL PRODUCE A PROCESS DESCRIPTOR ; WITH ALL FIELDS DEFINED. NO OPTIONAL WORDS ARE INCLUDED. ; PARAMETERS: ; NAME: PROCESS NAME. MUST BE EXACT FIVE BYTES LONG. ; BUFFER: ADDRESS OF MESSAGE BUFFER CHAIN HEAD. ; PROGRAM: ADDRESS OF PROGRAM DESCRIPTOR. ; PRIOR: PRIORITY OF THE PROCESS. ; BREAK: PROGRAM BREAK ADDRESS. ; START: PROGRAM START ADDRESS. ; EXAMPLE: ; .EJEC ; PCD: ; PROCESS DESCRIPTOR ; ; M.PCD MAIN<0>,MBF,PGD,1B7,PBREA,PSTAR «ff» ; M.MBF PROCESS,NUMBER ; A CALL OF THIS MACRO WILL PRODUCE A NUMBER OF ; MESSAGE BUFFERS. ; PARAMETERS: ; PROCESS: ADDRESS OF PROCESS DESCRIPTOR ; NUMBER: NUMBER OF MESSAGE BUFFERS. ; EXAMPLE: ; .EJEC ; MBF: ; MESSAGE BUFFERS ; ; M.MBF PCD,10. «ff» .MACRO M.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Å «ff» .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Å «ff» .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 % «ff» .MACRO M.OR COM ^1,^1 AND ^1,^2 ADC ^1,^2 % «ff» .MACRO M.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 % «ff» .MACRO M.MBF .PUSH .NOLOC ; MESSAGE BUFFERS .NOLOC 1 .PUSH .RDX .RDX 10 .PUSH 1 .DO ^2 .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 .NOLOC .POP .RDX .POP .NOLOC .POP % .EOT «ff» «nul»