X-Git-Url: https://jxself.org/git/?p=pdp10-muddle.git;a=blobdiff_plain;f=mim%2Fdevelopment%2Fmim%2Fvaxc%2Ftoplev.mud;fp=mim%2Fdevelopment%2Fmim%2Fvaxc%2Ftoplev.mud;h=3c6f6963c9d9dae3264f024f980c21cab5cbc680;hp=0000000000000000000000000000000000000000;hb=d73ace3f3292e320b461b8fcd2e9f5dc5d9684d7;hpb=d530283ea60fb0ddcc28e9c5bd072456afe06e07 diff --git a/mim/development/mim/vaxc/toplev.mud b/mim/development/mim/vaxc/toplev.mud new file mode 100644 index 0000000..3c6f696 --- /dev/null +++ b/mim/development/mim/vaxc/toplev.mud @@ -0,0 +1,688 @@ +> + +]> (RESET-ALL) BOOLEAN + (CODPTR) ) + + + ) + (FROB? <>) (FIRST? T) (PROTECT? <>) TF) + > + + > + ,MAX-SPACE > + + > + ) ()>)> + + + ) + ( + >> + > FIX>>> + )> + + + >) + (T + >)> + > + + >> + )) + #DECL ((OUTST) VECTOR) + + .LAB> + + ) + (>)>)>> + .OUTST>>>) + ()> + + )> + > + ) + (>)> + > + >) + ( + > + TEMP!-MIMOP> + )>)> + + >>) + (ELSE + .NUM + .PROTECT?>> + >)> + + <==? <1 .CODITEM> MAKTUP!-MIMOP> + <==? <1 .CODITEM> OPT-DISPATCH!-MIMOP>> + > + TEMP!-MIMOP> + )>)> + >) + ( + )> + >) + ( + + ) + ()> + )>> + + T> + +) "AUX" (N ,FLUSH-NEXT)) + #DECL ((CODPTR) LIST (N) FIX) + + + > 0> >> + DEAD!-MIMOP> + + + + )>)>> + >) + ()>)>) + ()>> + .CODPTR>> + +> + +]>) + + + >> + ,PASS-OPS>> + ) ITEM ARG TTYP) + )> + > => + <1 .PTR > + > + > + ) + (> <1 .PTR .ITEM>) + ( + PROCESS-ARGS>)>) + ( + > + > + <1 .PTR .ARG>)>) + ( + <==? 2> + <==? <1 .ITEM> TYPE> + <==? <1 .X> CHTYPE!-MIMOP>> + >> + <1 .PTR
> + >)>) + ( + <==? 2> + > QUOTE> + <==? .TTYP TYPE-CODE>> + ATOM>> + > + + > + > + <1 .PTR .ITEM>)> + >>) + (<==? <1 .X> TEMP!-MIMOP> + ) + >> + + )) + #DECL ((L) LIST) + + ADECL> + <1 .X >>>) + (T + <1 .X >>)>) + ( <1 .L >>) + (T <1 .L >)>> + >) + ( MAKTUP!-MIMOP> + <==? <1 .X> OPT-DISPATCH!-MIMOP>> + )>)>> + .L>> + .VAL> + +> + )> + > RES-IND> + > + > + + + > + ) + (<==? .ITEM STACK>) + ( + )>) + ( + )> + >) + ( + <==? 2> + <==? <1 .ITEM> TYPE> + <==? .NUM ,CHTYPE!-MIMOP>> + >)> + <>>)> + > + 50>>> + ,ARGVEC>>)> + + > + >> + <- .CNT 1>>> + >> + +> + +> + + + + + + + + )> + + + + + + + + + > + +)) + #DECL ((DCLS) LIST (VARS) ) + + "VALUE"> + >)> + + + )> + > + > STRING> + > + >)> + >> + + + ) + (ELSE + + >)> + > + > + >> + + > + + NORMAL> + + + .FIRST-PROCESS?>)) + #DECL ((TEMPS) ]>) + + > + > + >)> + + ) + ( ) + ( + > ADECL> + T .NOT-YET?>> + >) + (ELSE >)> + + > FORM> + <==? 2> + <==? <1 .TC> QUOTE> + ATOM>> + >)> + )>) + ( + T .NOT-YET?>> + >) + ()>> + .TEMPS> + NORMAL> + +) + .DCL>) + (> ATOM> > .DCL)>> + + + + + UNCONDITIONAL-BRANCH> + +>> + > + + NORMAL> + +) (USE? T)) + #DECL ((VAR) VARTBL) + > + ) + (ELSE )>> + + (DEST) ) + + + >) + ( )>> + )>> + +) + "AUX" DCL RADDR ADDR1 LVAR) + #DECL ((VAL) ANY (TEADDR) (CEADDR) ) + >) + ()> + + + > + > + > + > + >> + + >>>> + .RADDR LONG> + + >>) + (> + + > + + .RADDR LONG> + > + ) + (ELSE + + + .TEADDR + WORD>)>) + (ELSE + .RADDR LONG> + + >>)>) + ()>) + ( + > .RADDR LONG> + >>>) + (ELSE + >> + + >)>> + +)) + #DECL ((CNS) ANY (VALUE-AC TYPE-AC) (GEN-PREF) ATOM) + >> + + >> + > + >) + (ELSE + > + + + > + LONG> + >) + (ELSE + + + LONG> + >)> + ) + (ELSE + > + )>)> + .VAC> + + >) + (ELSE )> + > + ) + ( > + .ADDR>) + ( > + > .ADDR>) + ( > + .ADDR>) + ( > + .ADDR>) + ( > + .ADDR>) + ( > + .ADDR>) + ( + + .ADDR>) + (ELSE + >> + .ADDR>)>) + (ELSE .ADDR>)>> + +)) + #DECL ((AC) AC (DEST) (DCL) ATOM + (STATUS?) ) + ) + ( + + > + + + )>)>> + +)) + #DECL ((VAC CAC) AC (DEST) (DCL) ATOM + (STATUS?) ) + + + ) + ( + + > + + > + + )>)>> + +)) + #DECL ((CAC VAC) AC (DEST) (STATUS?) ) + + + >> + 1> > + DOUBLE>) + (ELSE + LONG> + LONG>)> + ) + ( + + > + > + + )>)>> + +) LVAR) + #DECL ((VAC TAC) AC (DEST) (STATUS?) + (LVAR) LINKVAR) + + WORD> + + LONG> + ) + ( + + > + > + > + + + )>)>> + + LONG> + LONG>> + + WORD> + WORD> + LONG>> + + ) ()> + NORMAL> + +> + + .TAC .RES>> + +> + + > + >> + +) "AUX" (CNT ,OP-COUNT) ANAME) + #DECL ((NAME) STRING) + + )> + + >> + ) + (.CNT)>> + >> + + + + '[OFFSET RECORD UVECTOR STRING LIST VECTOR ATOM]>) + (T)>> + +> + + + '[OFFSET STRING VECTOR RECORD UVECTOR TUPLE BYTES]>>> + +> FORM> + <==? 2> + <==? <1 .HTYP> QUOTE>> + >)> + + + >> + >>> + .VAL) + (<2 .HINT>)>)>> + +>> + +>> + +) + + > + + LONG> + ) + ()>) + ( ) + (ELSE + > + + LONG> + ) + ()>)>> + + + +) SZ DADDR) + #DECL ((VAL) FIX (DEST) AC) + > + ) + (<==? .VAL 1> ) + (<==? .VAL -1> ) + ( > + .ACADDR>) + ( > + > .ACADDR>) + (ELSE .ACADDR>)>> + +) (SNAME .NAME)) + #DECL ((DCL) ATOM) + 2> + <==? <2 .NAME> !\$> + <==? <1 .NAME> !\T> + >> + >> + .NAME) + ( .DCL) + (>) + (.DCL)>> + + ,MIMOP-OBLIST> + > + >> + > + .ITEM)>> + + + + + )> + + + + + + + + + + " .OUTCHAN>> + > + + FIX>> + +)) + #DECL ((OUTCHAN) CHANNEL) + + + + + )> + + ) + (ELSE )> + + + + + + " .OUTCHAN>> + > + + + 4>)) + #DECL ((OUTCHAN) CHANNEL (PTR MAXPTR) FIX) + > + >) + (>)> + + + + > + 256>> + > + .MAXPTR> + >>) + (ELSE )> + .MAXPTR> + >>) + (ELSE )> + .MAXPTR> + >>) + (ELSE )> + > + > .MAXPTR> )>> + + ,MSUBR-PTR>> + + FIX>>>> + FIX>>>>> + + + > + + )> + <1 .S .BYTE> + > + >>