diff --git a/1965_Weizenbaum_MAD-SLIP/Slip/CTSS/SLIP-core/newtop.mad b/1965_Weizenbaum_MAD-SLIP/Slip/CTSS/SLIP-core/newtop.mad index f588f14..bd5b4e3 100644 --- a/1965_Weizenbaum_MAD-SLIP/Slip/CTSS/SLIP-core/newtop.mad +++ b/1965_Weizenbaum_MAD-SLIP/Slip/CTSS/SLIP-core/newtop.mad @@ -12,7 +12,7 @@ START NEW=NUCELL.(NEW) EXECUTE SETIND.(0,LL, ADDR,NEW) 001890 W'R NAMTST.(OBJ) .NE. 0, TRANSFER TO NOT 001900 EXECUTE SETIND.(1,-1,-1,NEW) 001910 - EXECUTE SETIND.(1,-1,LCNTR.(OBJ)+1,OBJ+1) 001920 + EXECUTE SETIND.(-1,-1,LCNTR.(OBJ)+1,OBJ+1) 001920 NOT EXECUTE STRIND.(OBJ,NEW+1) 001930 FUNCTION RETURN NEW 001940 END OF FUNCTION 001950 diff --git a/1965_Weizenbaum_MAD-SLIP/Slip/CTSS/SLIP-fap/init.fap b/1965_Weizenbaum_MAD-SLIP/Slip/CTSS/SLIP-fap/init.fap index 84dab47..fc55213 100644 --- a/1965_Weizenbaum_MAD-SLIP/Slip/CTSS/SLIP-fap/init.fap +++ b/1965_Weizenbaum_MAD-SLIP/Slip/CTSS/SLIP-fap/init.fap @@ -1,11 +1,12 @@ - ENTRY INITAS 000020 - ENTRY MTLIST 000030 - ENTRY NUCELL 000040 - ENTRY RCELL 000050 -INITAS SXA FOUR,4 000060 - AXT 1000,4 000070 -ZERO STZ SPACE,4 000080 - TIX ZERO,4,1 000090 + ENTRY INITAS 000010 + ENTRY MTLIST 000020 + ENTRY NUCELL 000030 + ENTRY RCELL 000040 +INITAS SXA FOUR,4 000050 + AXT 1000,4 000060 +ZERO STZ SPACE,4 000070 + TIX ZERO,4,1 000080 + STZ SPACE,4 000090 CLA =998 000100 STO N 000110 MORE CLA ZERO 000120 diff --git a/1965_Weizenbaum_MAD-SLIP/Slip/CTSS/SLIP-fap/prinit.fap b/1965_Weizenbaum_MAD-SLIP/Slip/CTSS/SLIP-fap/prinit.fap index 0026536..503ac2f 100644 --- a/1965_Weizenbaum_MAD-SLIP/Slip/CTSS/SLIP-fap/prinit.fap +++ b/1965_Weizenbaum_MAD-SLIP/Slip/CTSS/SLIP-fap/prinit.fap @@ -19,7 +19,7 @@ ID CAL* 1,4 ANA =O700000 000200 ARS 15 000210 TRA 2,4 000220 -STRIND CLA* 1,4 000230 +STRIND CLA* 2,4 000230 STA *+2 000240 CLA* 1,4 000250 STO ** 000260 diff --git a/1965_Weizenbaum_MAD-SLIP/Slip/CTSS/SLIP-tests/testba.mad b/1965_Weizenbaum_MAD-SLIP/Slip/CTSS/SLIP-tests/testba.mad new file mode 100644 index 0000000..bb3b0ac --- /dev/null +++ b/1965_Weizenbaum_MAD-SLIP/Slip/CTSS/SLIP-tests/testba.mad @@ -0,0 +1,46 @@ + R Test of SLIP basic functionality + R INITAS - LIST - MANY - LISTMT - NEW|POP| TOP|BOT + R + NORMAL MODE IS INTEGER + PRINT COMMENT $TESTING BASIC LISTS$ + INITAS.(0) + R Create a new list and add several items + LIST.(TEST) + MANY.(TEST, 22, 23, 24) + R Confirm top and bottom are correct + WHENEVER TOP.(TEST) .NE. 22 + PRINT COMMENT $TOP NOT 22$ + END OF CONDITIONAL + WHENEVER BOT.(TEST) .NE. 24 + PRINT COMMENT $BOT NOT 24$ + END OF CONDITIONAL + R Add a new bottom and confirm + NEWBOT.(25, TEST) + WHENEVER BOT.(TEST) .NE. 25 + PRINT COMMENT $BOT NOT 25$ + END OF CONDITIONAL + R Add a new top and confirm + NEWTOP.(21, TEST) + WHENEVER TOP.(TEST) .NE. 21 + PRINT COMMENT $TOP NOT 21$ + END OF CONDITIONAL + R Add a new top + NEWTOP.(20, TEST) + R Test POPBOT + WHENEVER POPBOT.(TEST) .NE. 25 + PRINT COMMENT $POPBOT NOT 25$ + END OF CONDITIONAL + R TEST Is now (20, 21, 22, 23, 24) + R Pop the head off the list and sum until list is empty + SUM = 0 +START WHENEVER LISTMT.(TEST) .E. 0, TRANSFER TO END + SUM = SUM + POPTOP.(TEST) + T'O START +END WHENEVER SUM .NE. 110 + PRINT COMMENT $SUM WRONG$ + END OF CONDITIONAL + R The below will allow the next program in the runcom + R chain to execute. Remove if you want it to remain + R in core for analysis. + CHNCOM.(0) + END OF PROGRAM diff --git a/1965_Weizenbaum_MAD-SLIP/Slip/CTSS/SLIP-tests/testlt.mad b/1965_Weizenbaum_MAD-SLIP/Slip/CTSS/SLIP-tests/testlt.mad index 0be92de..b560c66 100644 --- a/1965_Weizenbaum_MAD-SLIP/Slip/CTSS/SLIP-tests/testlt.mad +++ b/1965_Weizenbaum_MAD-SLIP/Slip/CTSS/SLIP-tests/testlt.mad @@ -39,4 +39,8 @@ WHENEVER LETTER.($(XXX00$) .NE. 120404041414K PRINT COMMENT $LETTER.((XXX00) FAILED$ END OF CONDITIONAL + R The below will allow the next program in the runcom + R chain to execute. Remove if you want it to remain + R in core for analysis. + CHNCOM.(0) END OF PROGRAM