X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;ds=sidebyside;f=mim%2Fdevelopment%2Fmim%2F20%2Fdefault.oc;fp=mim%2Fdevelopment%2Fmim%2F20%2Fdefault.oc;h=38db26997f2dcfa4c38a91d8c5c270db4f1763dd;hb=d73ace3f3292e320b461b8fcd2e9f5dc5d9684d7;hp=0000000000000000000000000000000000000000;hpb=d530283ea60fb0ddcc28e9c5bd072456afe06e07;p=pdp10-muddle.git diff --git a/mim/development/mim/20/default.oc b/mim/development/mim/20/default.oc new file mode 100644 index 0000000..38db269 --- /dev/null +++ b/mim/development/mim/20/default.oc @@ -0,0 +1,724 @@ + +Open coding: X$DEF-GET-MODE + CHANNEL ANY) CHANNEL4 OPER5> + + PUSH TP* #REF [0] + PUSH TP* #REF [0] + PUSH TP* #REF [0] + PUSH TP* #REF [0] + + + DMOVE A1* 0 CHANNEL4 (F*) + DMOVE B1* 8 (A2*) + + + DMOVE B1* 0 (B2*) + + ANDI B2* 262143 + + + MOVE A1* B2* + GTSTS O* O* + JUMP TP* #REF [JS9] + MOVSI A1* 64 + JRST #REF [JS10] + JS9 : MOVEI A1* 131072 + GETER O* O* + HRRZ B2* A2* + MOVSI B1* 64 + MOVEI C1* 0 + JSP T* @ 170 + HRLI A1* 321 + JS10 : + + JUMPL A2* #REF [PHRASE16] + + DMOVE A1* 4 (M*) + JRST @ 148 + PHRASE16 : + TLNN A2* 32768 + JRST #REF [PHRASE19] + + + + AND A2* #REF [2147483648] + + + JUMPN A2* #REF [PHRASE24] + + + DMOVE A1* 6 (M*) + JRST @ 148 + PHRASE24 : + DMOVE A1* 8 (M*) + JRST @ 148 + PHRASE19 : + AND A2* #REF [17179869184] + + + JUMPN A2* #REF [TAG29] + + +> MOVSI A1* 321 + MOVEI A2* 0 + JRST @ 148 + TAG29 : + DMOVE A1* 10 (M*) + JRST @ 148 + +2 flushed temporaries. + +Open coding: X$DEF-GET-BYTE-SIZE + + + PUSH TP* #REF [0] + PUSH TP* #REF [0] + PUSH TP* #REF [0] + PUSH TP* #REF [0] + + + DMOVE A1* 0 CHANNEL4 (F*) + DMOVE B1* 8 (A2*) + + + DMOVE B1* 0 (B2*) + + MOVE A1* B2* + RFBSZ O* O* + JUMP TP* #REF [JS15] + MOVSI A1* 64 + JRST #REF [JS16] + JS15 : MOVEI A1* 131072 + GETER O* O* + HRRZ B2* A2* + MOVSI B1* 64 + MOVEI C1* 0 + JSP T* @ 170 + HRLI A1* 321 + JS16 : + DMOVE B1* A1* + + LDB O* #REF [19595788291] + DMOVEM A1* 0 DATA6 (F*) + DMOVEM B1* 0 TEMP11 (F*) + CAIN O* 321 + JRST #REF [PHRASE16] + + CAMN A1* #REF [16777216] + CAME A2* #REF [7] + JRST #REF [PHRASE13] + + DMOVE A1* 12 (M*) + JRST @ 148 + PHRASE13 : + CAMN A1* #REF [16777216] + CAME A2* #REF [8] + JRST #REF [PHRASE14] + + DMOVE A1* 14 (M*) + JRST @ 148 + PHRASE14 : + CAMN A1* #REF [16777216] + CAME A2* #REF [36] + JRST #REF [PHRASE15] + + DMOVE A1* 16 (M*) + JRST @ 148 + PHRASE15 : + + DMOVEM A1* 0 TEMP11 (F*) + PHRASE16 : + DMOVE A1* 0 TEMP11 (F*) + JRST @ 148 + + +Open coding: X$DEF-SHORT-NAME + CHANNEL ANY) CHANNEL4 OPER5> + + PUSH TP* #REF [0] + PUSH TP* #REF [0] + + + DMOVE A1* 0 CHANNEL4 (F*) + DMOVE B1* 8 (A2*) + + + PUSH TP* #REF [16777216] + #GFRM ?FRM17!-LB T + + PUSH TP* 0 (B2*) + PUSH TP* 1 (B2*) + + + PUSH TP* #REF [16777216] + PUSH TP* #REF [153092097] + + #GCAL I$DO-JFNS T %<> + ?FRM17 : + JRST @ 148 + + +1 flushed temporaries. + +Open coding: X$DEF-NM1 + CHANNEL ANY) CHANNEL4 OPER5> + + PUSH TP* #REF [0] + PUSH TP* #REF [0] + + + DMOVE A1* 0 CHANNEL4 (F*) + DMOVE B1* 8 (A2*) + + + PUSH TP* #REF [16777216] + #GFRM ?FRM22!-LB T + + PUSH TP* 0 (B2*) + PUSH TP* 1 (B2*) + + + PUSH TP* #REF [16777216] + PUSH TP* #REF [134217728] + + #GCAL I$DO-JFNS T %<> + ?FRM22 : + JRST @ 148 + + +1 flushed temporaries. + +Open coding: X$DEF-NM2 + CHANNEL ANY) CHANNEL4 OPER5> + + PUSH TP* #REF [0] + PUSH TP* #REF [0] + + + DMOVE A1* 0 CHANNEL4 (F*) + DMOVE B1* 8 (A2*) + + + PUSH TP* #REF [16777216] + #GFRM ?FRM27!-LB T + + PUSH TP* 0 (B2*) + PUSH TP* 1 (B2*) + + + PUSH TP* #REF [16777216] + PUSH TP* #REF [16777216] + + #GCAL I$DO-JFNS T %<> + ?FRM27 : + JRST @ 148 + + +1 flushed temporaries. + +Open coding: X$DEF-DEV + CHANNEL ANY) CHANNEL4 OPER5> + + PUSH TP* #REF [0] + PUSH TP* #REF [0] + + + DMOVE A1* 0 CHANNEL4 (F*) + DMOVE B1* 8 (A2*) + + + PUSH TP* #REF [16777216] + #GFRM ?FRM32!-LB T + + PUSH TP* 0 (B2*) + PUSH TP* 1 (B2*) + + + PUSH TP* #REF [16777216] + PUSH TP* #REF [8589934592] + + #GCAL I$DO-JFNS T %<> + ?FRM32 : + JRST @ 148 + + +1 flushed temporaries. + +Open coding: X$DEF-SNM + + + PUSH TP* #REF [0] + PUSH TP* #REF [0] + PUSH TP* #REF [0] + PUSH TP* #REF [0] + PUSH TP* #REF [0] + PUSH TP* #REF [0] + + + DMOVE A1* 0 CHANNEL4 (F*) + DMOVE B1* 8 (A2*) + + + PUSH TP* #REF [16777216] + #GFRM ?FRM37!-LB T + + PUSH TP* 0 (B2*) + PUSH TP* 1 (B2*) + + PUSH TP* #REF [16777216] + PUSH TP* #REF [1073741824] + + DMOVEM B1* 0 DATA7 (F*) + #GCAL I$DO-JFNS T %<> + ?FRM37 : + DMOVE B1* @ 1 DATA7 (F*) + + LDB B2* #REF [19629342724] + + DMOVEM A1* 0 STR6 (F*) + JUMPN B2* #REF [BOOL12] + + + JSP T* @ 144 + + DMOVE A1* 0 DATA7 (F*) + PUSH TP* 0 (A2*) + PUSH TP* 1 (A2*) + + + MOVE O1* 19 (M*) + MOVEI O2* 1 + JSP T* @ 145 + + CAMN A1* #REF [16777216] + CAME A2* #REF [0] + JRST #REF [PHRASE10] + + BOOL12 : + LDB O* #REF [(STR6 19599196160)] + CAIN O* 321 + JRST #REF [BOOL17] + + HRRZ O* 0 STR6 (F*) + JUMPN O* #REF [PHRASE10] + BOOL17 : + JSP T* @ 144 + + MOVE O1* 21 (M*) + MOVEI O2* 0 + JSP T* @ 145 + + JRST @ 148 + + PHRASE10 : + DMOVE A1* 0 STR6 (F*) + JRST @ 148 + + +1 flushed temporaries. + +Open coding: X$DEF-NAME + CHANNEL ANY "OPTIONAL" ANY) +CHANNEL6 OPER7 BITS8> ADDI O2* 157 (R*) + JRST @ (O2*) + DISPATCH OPT4 + DISPATCH OPT5 + OPT4 : + PUSH TP* #REF [16777216] + PUSH TP* #REF [31] + OPT5 : + + PUSH TP* #REF [16777216] + PUSH TP* #REF [1] + PUSH TP* #REF [0] + PUSH TP* #REF [0] + PUSH TP* #REF [0] + PUSH TP* #REF [0] + + + DMOVE A1* 0 CHANNEL6 (F*) + DMOVE B1* 8 (A2*) + + + DMOVE A1* 0 BITS8 (F*) + TRNN A2* 16 + JRST #REF [PHRASE12] + + + + + DMOVE C1* 0 ARGBITS10 (F*) + TLO C2* 32768 + MOVEM C2* 1 ARGBITS10 (F*) + PHRASE12 : + TRNN A2* 8 + JRST #REF [PHRASE17] + + + + + DMOVE C1* 0 ARGBITS10 (F*) + TLO C2* 4096 + MOVEM C2* 1 ARGBITS10 (F*) + PHRASE17 : + TRNN A2* 4 + JRST #REF [PHRASE21] + + + + + DMOVE C1* 0 ARGBITS10 (F*) + TLO C2* 512 + MOVEM C2* 1 ARGBITS10 (F*) + PHRASE21 : + TRNN A2* 2 + JRST #REF [PHRASE25] + + + + + DMOVE C1* 0 ARGBITS10 (F*) + TLO C2* 64 + MOVEM C2* 1 ARGBITS10 (F*) + PHRASE25 : + ANDI A2* 1 + + + JUMPE A2* #REF [PHRASE29] + + + + DMOVE A1* 0 ARGBITS10 (F*) + TLO A2* 8 + MOVEM A2* 1 ARGBITS10 (F*) + PHRASE29 : + PUSH TP* #REF [16777216] + #GFRM ?FRM46!-LB T + + PUSH TP* 0 (B2*) + PUSH TP* 1 (B2*) + + + PUSH TP* 0 ARGBITS10 (F*) + PUSH TP* 1 ARGBITS10 (F*) + + + #GCAL I$DO-JFNS T %<> + ?FRM46 : + JRST @ 148 + + +2 flushed temporaries. + +Open coding: I$DO-JFNS + FIX FIX) JFN4 BITS5> + + PUSH TP* #REF [0] + PUSH TP* #REF [0] + PUSH TP* #REF [0] + PUSH TP* #REF [0] + PUSH TP* #REF [0] + PUSH TP* #REF [0] + PUSH TP* #REF [0] + PUSH TP* #REF [0] + PUSH TP* #REF [0] + PUSH TP* #REF [0] + + + DMOVE A1* @ 23 (M*) + + HRRZS B2* 1 JFN4 (TP*) + + CAIN B2* 65 + JRST #REF [BOOL11] + + CAIE B2* 64 + JRST #REF [PHRASE10] + BOOL11 : + DMOVE C1* 0 BITS5 (TP*) + TLNE C2* 32768 + JRST #REF [PHRASE13] + + + + DMOVE A1* 24 (M*) + MOVE O* (TP*) <- 2 ,WINNING-VICTIM +> + SUBI TP* ,WINNING-VICTIM + JRST @ O* + PHRASE13 : + ANDI C2* 1 + + + JUMPN C2* #REF [PHRASE17] + + + DMOVE A1* 26 (M*) + MOVE O* (TP*) <- 2 ,WINNING-VICTIM +> + SUBI TP* ,WINNING-VICTIM + JRST @ O* + PHRASE17 : + DMOVE A1* 28 (M*) + MOVE O* (TP*) <- 2 ,WINNING-VICTIM +> + SUBI TP* ,WINNING-VICTIM + JRST @ O* + PHRASE10 : + DMOVEM A1* 0 STR7 (TP*) + MOVE A1* A2* + MOVE A2* B2* + MOVE B1* 1 BITS5 (TP*) + MOVEI B2* 0 + HRRZ C1* A1* + PUSHJ P* @ 202 + + + DMOVE B1* A1* + + LDB O* #REF [19595788291] + DMOVEM A1* 0 CT6 (TP*) + DMOVEM B1* 0 TEMP14 (TP*) + CAIN O* 321 + JRST #REF [PHRASE22] + + MOVEI O1* 453 + MOVE O2* A2* + PUSHJ P* @ 214 + + DMOVE B1* 0 STR7 (TP*) + + + DMOVE C1* A1* + + DMOVEM A1* 0 CT6 (TP*) + DMOVEM B1* 0 TEMP14 (TP*) + MAP24 : + + HRRZ O* 0 TEMP14 (TP*) + JUMPE O* #REF [MAPAP27] + + TRNN C1* 262143 + JRST #REF [MAPAP27] + + DMOVE B1* 0 TEMP14 (TP*) + + DMOVE A1* C1* + + ILDB B2* B2* + + DMOVEM A1* 0 NEW35 (TP*) + IDPB B2* A2* + + + SOS O* 0 TEMP14 (TP*) + IBP O* 1 TEMP14 (TP*) + + SUBI C1* 1 + IBP O* C2* + + JRST #REF [MAP24] + MAPAP27 : + DMOVE A1* 0 CT6 (TP*) + + DMOVEM A1* 0 TEMP14 (TP*) + PHRASE22 : + DMOVE A1* 0 TEMP14 (TP*) + MOVE O* (TP*) <- 2 ,WINNING-VICTIM +> + SUBI TP* ,WINNING-VICTIM + JRST @ O* + + +Open coding: X$DEF-FLUSH + + + PUSH TP* #REF [0] + PUSH TP* #REF [0] + + + DMOVE A1* 0 CHANNEL4 (F*) + DMOVE B1* 8 (A2*) + + + DMOVE B1* 0 (B2*) + + ANDI B2* 262143 + + TLO B2* 2048 + + MOVE A1* B2* + CLOSF O* O* + JUMP TP* #REF [JS64] + MOVE A2* 1 + MOVSI A1* 64 + JRST #REF [JS65] + JS64 : MOVEI A1* 131072 + GETER O* O* + HRRZ B2* A2* + MOVSI B1* 64 + MOVEI C1* 0 + JSP T* @ 170 + HRLI A1* 321 + JS65 : + LDB O* #REF [19595788289] + CAIN O* 321 + JRST #REF [PHRASE9] + + JRST @ 148 + + PHRASE9 : + JRST @ 148 + + +1 flushed temporaries. + +Open coding: X$DEF-HACK-DATE + CHANNEL ATOM "OPTIONAL" FIX) +CHANNEL6 OPR7 NEW8> ADDI O2* 292 (R*) + JRST @ (O2*) + DISPATCH OPT4 + DISPATCH OPT5 + OPT4 : + PUSH TP* #REF [0] + PUSH TP* #REF [0] + OPT5 : + + PUSH TP* #REF [16777216] + PUSH TP* #REF [0] + PUSH TP* #REF [0] + PUSH TP* #REF [0] + PUSH TP* #REF [0] + PUSH TP* #REF [0] + + + DMOVE A1* 0 CHANNEL6 (F*) + DMOVE B1* 8 (A2*) + + + DMOVE B1* 0 (B2*) + + ANDI B2* 262143 + + + + MOVE T* 1 30 (M*) + MOVEM B2* 1 JFN11 (F*) + SKIPN A2* 0 (T*) + JRST #REF [TAG15] + + + TAG15!-LB> + DMOVE A1* (A2*) + + LDB O* #REF [19595788289] + JUMPN O* #REF [PHRASE14] + + TAG15 : + MOVEI O1* 1990 + MOVEI O2* 3 + PUSHJ P* @ 214 + + DMOVE B1* A1* + + ISTR17 : + TRNN B1* 262143 + JRST #REF [ISTRE18] + + SETZM 0 (B2*) + + ADDI B2* 1 + SUBI B1* 1 + + JRST #REF [ISTR17] + ISTRE18 : + DMOVEM A1* @ 33 (M*) + + PHRASE14 : + DMOVE A1* @ 33 (M*) + + LDB O* #REF [(NEW8 19599196160)] + DMOVEM A1* 0 TEMP16 (F*) + JUMPN O* #REF [PHRASE20] + + MOVE A1* 1 JFN11 (F*) + MOVE A2* 1 TEMP16 (F*) + MOVEI B1* 3 + PUSHJ P* @ 224 + + + LDB O* #REF [19595788289] + DMOVEM A1* 0 DATA9 (F*) + CAIN O* 321 + JRST #REF [PHRASE29] + + DMOVE B1* 0 OPR7 (F*) + CAME B2* 35 (M*) + JRST #REF [PHRASE24] + + + DMOVE B1* 0 TEMP16 (F*) + MOVE A2* 2 (B2*) + + + *TRQ*MOVSI A1* 64 + JRST @ 148 + + PHRASE24 : + MOVE A2* @ 1 TEMP16 (F*) + + + *TRQ*MOVSI A1* 64 + JRST @ 148 + + PHRASE20 : + SETOM 0 (A2*) + + SETOM 1 (A2*) + + SETOM 2 (A2*) + + DMOVE B1* 0 OPR7 (F*) + CAME B2* 35 (M*) + JRST #REF [PHRASE27] + + + DMOVE B1* 0 NEW8 (F*) + MOVEM B2* 2 (A2*) + + JRST #REF [COND26] + PHRASE27 : + DMOVE B1* 0 NEW8 (F*) + MOVEM B2* 0 (A2*) + COND26 : + MOVE A1* 1 JFN11 (F*) + MOVEI B1* 3 + SFTAD O* O* + JUMP TP* #REF [JS72] + MOVE A2* 1 + MOVSI A1* 64 + JRST #REF [JS73] + JS72 : MOVEI A1* 131072 + GETER O* O* + HRRZ B2* A2* + MOVSI B1* 64 + MOVEI C1* 0 + JSP T* @ 170 + HRLI A1* 321 + JS73 : + + LDB O* #REF [19595788289] + DMOVEM A1* 0 DATA9 (F*) + CAIN O* 321 + JRST #REF [PHRASE29] + + DMOVE B1* 0 NEW8 (F*) + + DMOVEM B1* 0 DATA9 (F*) + PHRASE29 : + DMOVE A1* 0 DATA9 (F*) + JRST @ 148 + + +Fixing Up CALLs +Writing MSUBR + [Code: 414 / Vector: 36] \ No newline at end of file