From 98cab31fc3659e33aef260efca55bf9f1753164c Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 11 Feb 2019 11:49:19 +0100 Subject: Add source files from Michael --- devel/misc/unknown/src/PRIVS.ELA | 485 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 485 insertions(+) create mode 100644 devel/misc/unknown/src/PRIVS.ELA (limited to 'devel/misc/unknown/src/PRIVS.ELA') diff --git a/devel/misc/unknown/src/PRIVS.ELA b/devel/misc/unknown/src/PRIVS.ELA new file mode 100644 index 0000000..dfed695 --- /dev/null +++ b/devel/misc/unknown/src/PRIVS.ELA @@ -0,0 +1,485 @@ +PACKET privs DEFINES pcb, + pages, + internal pause, + set error stop, + sld, + next active task index, + create process, + sysgen off, + (* cdb int , + cdb text , *) + block, + unblock, + sys op, + set clock, + fixpoint, + save system, + internal shutup, + collect garbage blocks, + send, + define collector, + erase process, + halt process , + + return false , + return true , + term , + char read , + begin char read , + char write , + end char write , + get char , + find non blank , + div rem 256 , + add mul 256 , + is digit , + is lowercase or digit , + is lowercase , + is uppercase , + gen addr , + gen code addr , + is short address, + sysgen , + get tables , + put tables , + erase tables , + exec , + (* pproc , + pcall , *) + case , + move , + address , + alias , + IMULT , + arith 15 , + arith 16 , + put word , + get word : + + +PROC pcb (TASK CONST id, INT CONST field, value) : + + EXTERNAL 105 + +ENDPROC pcb ; + + +PROC pages (DATASPACE CONST ds, TASK CONST id) : + + EXTERNAL 88 + +ENDPROC pages ; + + +PROC internal pause (INT CONST time limit) : + + EXTERNAL 66 + +ENDPROC internal pause ; + + +PROC set error stop (INT CONST code) : + + EXTERNAL 77 + +ENDPROC set error stop ; + + +PROC sld (INT CONST in, REAL VAR real, INT VAR out) : + + EXTERNAL 96 + +ENDPROC sld ; + + +PROC next active task index (TASK VAR id) : + + EXTERNAL 118 + +ENDPROC next active task index ; + + +PROC create process (TASK CONST id, PROC start) : + + create (id, PROC start) + +ENDPROC create process ; + + +PROC create (TASK CONST id, PROC start) : + + EXTERNAL 111 + +ENDPROC create ; + + +PROC sysgen off : + + INT VAR x := 0 ; + elan (3, x,x,x,x,x,x,x,x,x,x,x) + +ENDPROC sysgen off ; + + +PROC elan (INT CONST mode, INT VAR a,b,c,d,e,f,g,h,i,j,k) : + + EXTERNAL 256 + +ENDPROC elan ; + + +INT PROC cdbint (INT CONST adr) : + + EXTERNAL 116 + +ENDPROC cdbint ; + + +TEXT PROC cdbtext (INT CONST adr) : + + EXTERNAL 117 + +ENDPROC cdbtext ; + + +PROC block (TASK CONST id) : + + EXTERNAL 109 + +ENDPROC block ; + + +PROC unblock (TASK CONST id) : + + EXTERNAL 108 + +ENDPROC unblock ; + + +PROC sys op (INT CONST function) : + + EXTERNAL 90 + +ENDPROC sys op ; + + +PROC set clock (TASK CONST id, REAL CONST value) : + + EXTERNAL 82 + +ENDPROC set clock ; + + +PROC set clock (REAL CONST value) : + + EXTERNAL 103 + +ENDPROC set clock ; + + +PROC fixpoint : + + sys op (2) + +ENDPROC fixpoint ; + + +PROC collect garbage blocks : + + sys op (1) + +ENDPROC collect garbage blocks ; + + +PROC internal shutup : + + sys op (4) + +ENDPROC internal shutup ; + + +PROC save system : + + sys op (12) + +ENDPROC save system ; + + +PROC send (TASK CONST from, to, INT CONST order, DATASPACE VAR ds, + INT VAR receipt) : + + EXTERNAL 127 + +ENDPROC send ; + + +PROC define collector (TASK CONST task) : + + EXTERNAL 128 + +ENDPROC define collector ; + + +PROC erase process (TASK CONST id) : + + EXTERNAL 112 + +ENDPROC erase process ; + + +PROC halt process (TASK CONST id) : + + EXTERNAL 110 + +ENDPROC halt process ; + + +(****************************** undokumentiert **************************) + + +BOOL PROC return false : + + EXTERNAL 1 + +ENDPROC return false ; + + +BOOL PROC return true : + + EXTERNAL 2 + +ENDPROC return true ; + + +PROC term : + + EXTERNAL 4 + +ENDPROC term ; + + +PROC char read (INT CONST pos) : + + EXTERNAL 8 + +ENDPROC char read ; + + +INT PROC begin char read (INT VAR pos) : + + EXTERNAL 9 + +ENDPROC begin char read ; + + +PROC char write (INT VAR next, INT CONST char, int) : + + EXTERNAL 10 + +ENDPROC char write ; + + +PROC end char write (INT VAR a, b, INT CONST char) : + + EXTERNAL 11 + +ENDPROC end char write ; + + +PROC ctt (INT CONST adr, INT VAR result) : + + EXTERNAL 12 + +ENDPROC ctt ; + + +BOOL PROC get char (TEXT CONST text, INT VAR pos, char) : + + EXTERNAL 13 + +ENDPROC get char ; + + +BOOL PROC find non blank (INT VAR non blank char, TEXT CONST string, + INT VAR pos) : + + EXTERNAL 14 + +ENDPROC find non blank ; + + +PROC divrem 256 (INT VAR a, b) : + + EXTERNAL 15 + +ENDPROC divrem 256 ; + + +PROC addmul 256 (INT VAR a, b) : + + EXTERNAL 16 + +ENDPROC addmul 256 ; + + +BOOL PROC is digit (INT CONST char) : + + EXTERNAL 18 + +ENDPROC is digit ; + + +BOOL PROC is lowercase or digit (INT CONST char) : + + EXTERNAL 19 + +ENDPROC is lowercase or digit ; + + +BOOL PROC is lowercase (INT CONST char) : + + EXTERNAL 20 + +ENDPROC is lowercase ; + + +BOOL PROC is uppercase (INT CONST char) : + + EXTERNAL 21 + +ENDPROC is uppercase ; + + +PROC gen addr (INT CONST word1, word2, INT VAR result) : + + EXTERNAL 22 + +ENDPROC gen addr ; + + +BOOL PROC gen code addr (INT CONST word1, word2, INT VAR result) : + + EXTERNAL 23 + +ENDPROC gen code addr ; + + +BOOL PROC is short address (INT CONST address) : + + EXTERNAL 24 + +ENDPROC is short address ; + + +PROC sysgen : + + EXTERNAL 25 + +ENDPROC sysgen ; + + +PROC get tables : + + EXTERNAL 26 + +ENDPROC get tables ; + + +PROC put tables : + + EXTERNAL 27 + +ENDPROC put tables ; + + +PROC erase tables : + + EXTERNAL 28 + +ENDPROC erase tables ; + + +PROC exec (INT CONST module number) : + + EXTERNAL 29 + +ENDPROC exec ; + +(* +PROC pproc (PROC proc) : + + EXTERNAL 30 + +ENDPROC pproc ; + + +PROC pcall (PROC proc) : + + EXTERNAL 31 + +ENDPROC pcall ; +*) + +BOOL PROC case (INT CONST switch, limit) : + + EXTERNAL 32 + +ENDPROC case ; + + +PROC move (PROC len, INT VAR from area, to area) : + + EXTERNAL 33 + +ENDPROC move ; + + +INT PROC alias (DATASPACE CONST ds, INT VAR result) : + + EXTERNAL 34 + +ENDPROC alias ; + + +INT PROC address (INT CONST object) : + + EXTERNAL 35 + +ENDPROC address ; + + +INT OP IMULT (INT CONST a, b) : + + EXTERNAL 40 + +ENDOP IMULT ; + + +PROC arith 15 : + + EXTERNAL 91 + +ENDPROC arith 15 ; + + +PROC arith 16 : + + EXTERNAL 92 + +ENDPROC arith 16 ; + + +PROC put word (INT CONST segment, address, word) : + + EXTERNAL 119 + +ENDPROC put word ; + + +INT PROC get word (INT CONST segment, address) : + + EXTERNAL 120 + +ENDPROC get word + +ENDPACKET privs -- cgit v1.2.3