|
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: »bblenvgen«
└─⟦2c55ea56f⟧ Bits:30001844 SW-save af projekt 1000, Alarm-system └─⟦6b41451d2⟧ └─⟦this⟧ »bblenvgen«
bblenv = set 1 mini if ok.no finis p1 = set 1 p2 = set 1 p2 = edit platonenv l./system_vector =/, r/!/xxxxxxxxxx/, f p1 = edit p2 l t, g b/? <*//, l t, g b/*>//, l t, g b/!//, f p1=edit p1 l./system_vector =/, r/xxxxxxxxxx/!/, f if ok.no finis bblenv = edit p1 l./message_header = record/, l./end;/, l1, s1, d./message_header = record/, i/ ext_message_header = record /, g8/^ message_header/addr/, l-8, g8/^ semaphore/addr/, l./incarnation_descriptor = record/, l./end;/, l1, s1, d./incarnation_descriptor = record/, i/ ext_incarnation_descriptor = record /, l./processref/, r/^ process_descriptor/addr/, l./semchain/, r/^ semaphore/addr/, l1, r/^ reference/addr/, l1, r/^ shadow/addr/, l1, r/^ message_header/addr/, l./exit_semaphore/, r/semaphore;/addr; delaychain : addr;/, l./exitref/, r/reference;/addr; statistic : addr;/, l./secret_pointer/, r/^ secret_vector/addr/, l./(* end of standard environment *)/, i/ (* now follows type definitions used in runtime processes and routines *) const fpabuffersize = 768; (* defines size of fpainputbuffer in boot *) ptrbuffersize = 32; (* defines size of ptr inputbuffer in boot *) break_appetite = 14; create_appetite = 28; initpool_appetite = 21; link_appetite = 13; remove_appetite = 16; reservech_appetite= 13; start_appetite = 11; stop_appetite = 10; unlink_appetite = 14; type switch_type = packed record kind : 0..15; module: 0..15; address : byte end; regbase = integer; mem_map_type = packed array (0..15) of bit; descriptor_segment = record descriptor_length : integer; no_of_pages : integer; pagesize : integer; last_page_length : integer; kind : integer; name : alfa; entry_point : addr; exception_point : addr; exit_point : addr; default_appetite : integer; last_param_offset : integer; no_of_params : integer end; range_descriptor = record lower_limit : integer; upper_limit : integer end; dope_vector = record r : range_descriptor; elem_size : integer end; pat32 = set of 0..31; pat16 = set of 0..15; corearray = array(1..fpabuffersize) of byte; (* now the routines used by the runtime processes are declared as externals *) function addrptr(p : ^niltype) : addr; external; function addr_of(var a : addr) : addr; external; function addr_of_core(var a : corearray) : addr; external; function addr_of_proc(var pr : process_descriptor) : addr; external; procedure asgnaddrpref(var a : addr; p : ^ process_descriptor); external; procedure asgnaddrref(var a : addr; var r : reference); external; procedure asgnaddrsec(var a : addr; p : ^ secret_vector); external; procedure asgnrefaddr(var r : reference; a : addr); external; procedure asgnsemp(var p : ^ semaphore; q : ^ semaphore); external; procedure asgnsempaddr(var p : ^ semaphore; var address : addr); external; procedure assign2(var map : mem_map_type; mask : integer); external; procedure balloc; external; procedure bcheck; external; procedure bownertest; external; procedure excptcall(excode : integer); external; procedure checkstack(appetite : integer); external; procedure clearlevel; external; procedure copywords(destination , source : addr; count : integer); external; procedure counttime(level : integer); external; procedure defineptr(var pointer : addr; start : addr; index : integer; var dope : dope_vector); external; function equalref(var a , b : reference) : boolean; external; procedure getbyte(var result: byte; pointer : addr); external; procedure getinteger(var result : integer; pointer : addr); external; procedure getlfgf(var lf , gf : addr); external; procedure initextref(var r : reference ; var msg_header : ext_message_header); external; procedure initref(var r : reference; var msg_header : message_header); external; procedure initscrtref(var secretref : ^ secret_vector; address : addr); external; procedure jumpto(address : addr); external; procedure linkmessage(var r : reference); external; procedure nextrefp(var p : ^ reference); external; function ptraddr(a : addr) : ^niltype; external; procedure putaddr(pointer , walue : addr); external; procedure readram(var result : byte; index : integer); external; function refpool(var p : pool 1) : ^ pool 1; external; function refshadow(var sh : shadow) : ^shadow; external; procedure selectlevel(level : integer); external; procedure setregister(walue,index : integer); external; procedure startdriver(var p : ext_incarnation_descriptor); external; function uadd (i,j: integer): integer; external; function udiv (i,j: integer): integer; external; function ult (i,j: integer): boolean; external; function umod (i,j: integer): integer; external; function umul (i,j: integer): integer; external; function usub (i,j: integer): integer; external; procedure writeram(index , walue : integer); external; procedure writeramclr(index, walue : integer); external; procedure exchange(var r: reference; var p: ^message_header); external; /, f if ok.no finis ▶EOF◀