|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 5376 (0x1500) Types: TextFile Names: »z80envir«
└─⟦2c55ea56f⟧ Bits:30001844 SW-save af projekt 1000, Alarm-system └─⟦6b41451d2⟧ └─⟦this⟧ »z80envir«
standard_z80_environment; (* date : 81.01.05 , ep *) (*$3 4 0*) (* call pass4z80 after platonpass3 *) const alfalength = 12; maxint = 32767; minint = -32768; type (* basic types *) bit = 0..1; byte = 0..255; addr = integer; boolean = (false,true); char =( (* 0 1 2 3 4 5 6 7 8 9 *) (* 0 *) nul, soh, stx, etx, eot, enq, ack, bel, bs, ht, (* 10 *) nl, vt, ff, cr, so, si, dle, dc1, dc2, dc3, (* 20 *) dc4, nak, syn, etb, can, em, sub, esc, fs, gs, (* 30 *) rs, us, sp, ?, ?, ?, ?, ?, ?, ?, (* 40 *) ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, (* 50 *) ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, (* 60 *) ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, (* 70 *) ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, (* 80 *) ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, (* 90 *) ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, (* 100 *) ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, (* 110 *) ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, (* 120 *) ?, ?, ?, ?, ?, ?, ?, del ); alfa = array ( 1..alfalength ) of char; semaphore = record ? <* semstate *> : byte; ? <* chain *> : addr; (* message_headers or incarnation_descriptors *) end; sempointer = ^ semaphore; message_kind = (datamsg, channelmsg); message = record ? <* chain *> : ^ message; ? <* owner *> : sempointer; ? <* answer *> : sempointer; ? <* stackchain *> : ^ message; ? <* datastart *> : addr; size : ! integer; kind : ! message_kind; u1, u2, u3, u4 : byte end; reference = ^ message; shadow = addr; activation = ( a_interrupt, a_semaphore, a_delay ); link_status_type = (not_bound, internal, external_bound); process_descriptor = record (* the "type" of a process name *) ? <* link_statue *> : link_status_type; ? <* prog_descr *> : addr; (* addr of program descriptor *) ? <* param_descr *> : addr; (* addr of formal parameters *) ? <* name *> : alfa; end; processrec = record (* used by create *) ? <* size_of_param *> : integer; ? <* firstparam *> : addr; ? <* processref *> : ^ process_descriptor; end; (* now the standard routines are defined as externals *) function abs(x : niltype) : niltype; external; procedure alloc(var r : reference; var p : pool 100 ; var sem : semaphore); external; procedure break(var sh : shadow; excode : integer); external; function chr(int : 0..127) : char; external; function create(proces : processrec; var sh : shadow; storage : integer) : integer; external; function empty(var r : reference) : boolean; external; procedure exception(excode : integer); external; procedure trace(c : integer); external; procedure link(external_name : alfa; var proces : process_descriptor); external; function locked(var sem : semaphore) : boolean; external; function nil(var r : ^ niltype) : boolean; external; function open(var sem : semaphore) : boolean; external; function openpool(var p : pool 1) : boolean; external; function ord(x : niltype) : integer; external; function ownertest(var p : pool 1; var r : reference) : boolean; external; function passive(var sem : semaphore) : boolean; external; procedure pop(var r1, r2 : reference); external; function pred(x : niltype) : niltype; external; procedure push(var r1, r2 : reference); external; function ref(var sem : semaphore) : sempointer; external; procedure release(var r : reference); external; procedure remove(var sh : shadow); external; procedure reservech(var ch_msg : reference; ch : integer); external; procedure return(var r : reference); external; procedure sensesem(var r : reference; var sem : semaphore); external; procedure signal(var r : reference; var sem : semaphore); external; procedure start(var sh : shadow; priority : 1..254); external; procedure stop(var sh : shadow); external; function succ(x : niltype) : niltype; external; procedure unlink(var proces : process_descriptor); external; procedure wait(var r : reference; var sem : semaphore); external; procedure waiti; external; procedure waits(var r: reference; var s: semaphore); external; procedure waitd(delay: byte); external; function waitis(var r: reference; var s: semaphore): activation; external; function waitid(delay: byte): activation; external; function waitsd(var r: reference; var s: semaphore; delay: byte): activation; external; function waitisd(var r: reference; var s: semaphore; delay: byte): activation; external; function inbyte(inport: byte): byte; external; procedure inbyteblock(var r: reference; first, last: integer; inport: byte); external; procedure outbyte(outport, date: byte); external; procedure outbyteblock(var r: reference; first, last: integer; outport: byte); external; procedure zenable; external; procedure zreti; external; function remdelay: byte; external; procedure interrupt(c: integer); external; . (* end of z80 standard enviroment *) ▶EOF◀