HED TEST THE MOVE BYTE INSTRUCTION MBT TST04 EQU * MBTT NOP JSB MOVE PUT "MBT" DEF MMBT IN MESSAGE STRING LDA A.MBT ADDR OF MBT TEST TABLE STA TP STORE ADDR IN TABLE POINTER MBT1 JSB NXTP NEXT TEST PARAM JMP MBT2 EXECUTE TEST JMP MBTT,I EXIT TEST JMP MBT4 EXECUTE MPT TEST JMP MBT5 EXECUTE INTP TEST MBT2 JSB MBTX SET UP PARAM LDA WRD1 ADDR OF SOURCE STRING LDB WRD2 ADDR OF DESTINATION STRING NOP DEBUG MBTA MBT WCP EXECUTE MOVE BYTE INSTR NOP DEBUG MBT3B JSB TPX GET COMPARE ADA A.WD STRING LDA A,I ADDR STA WRD1 STORE ADDR MBT3 JSB CKDS CHECK RESULT IN DATA STRING JMP MBT1 NEXT TEST CASE * * MEMORY PROTECT TEST * MBT4 JSB MEMPR CHECK IF MPT IS PRESENT JMP MBT4B MPT NOT PRESENT JSB MBTX SET UP PARAM LDA MBTMP INTP ADDR JSB MEMTN TURN ON MPT LOGIC LDA WRD1 ADDR OF SOURCE STRING LDB WRD2 ADDR OF DESTINATION STRING NOP DEBUG MBTB MBT WCP EXECUTE MBT INSTR NOP DEBUG JSB MTNOF TURN OFF MPT & REPORT ERR JMP MBT4N NEXT TEST-CASE * MBTX NOP LDA PATTN STORE PATTERN JSB STDS IN DESTINATION STRING JSB DSABR SET UP ADDR FOR SOURCE & DESTINATION JSB WCX GET WORD COUNT JMP MBTX,I EXIT * MBT3A LDA WDX,I STA WRD1 NOP DEBUG JMP MBT3 * MBT4B ISZ TP ADJUST TABLE POINTER ISZ TP FOR ISZ TP MBT4N ISZ TP NEXT TEST PARAM JMP MBT1 * * TEST MBT WITH INTERRUPT * MBT5 CLF INTP TURN OFF INTP SYST LDB JSB4 INTP ADDR JSB IIO TURN ON I-O JSB MBTX SET UP PARAM LDA WRD1 SOURCE STRING LDB WRD2 DESTINATION STRING NOP DEBUG STF INTP TURN ON INTP SYST II4 MBT WCP EXECUTE MBT INSTR CLF INTP TURN OFF INTP SYST JSB TOIO TURN OFF I-O DEVICE NOP DEBUG JMP MBT3B NEXT TEST-CASE * RT4 NOP CLF INTP TURN OFF INTP SYST JSB SABEO SAVE REGS LDA RT4 ADDR OF INTP ADDR LDB PTR4 EXP ADDR NOP DEBUG JMP RTX INTP ROUTINE * * * MBT TEST TABLE * MBTTB EQU * * * MEANING OF TABLE ENTRIES: * * FIRST: BYTE ADDR OF SOURCE STRING * SECOND: BYTE ADDR OF DESTINATION STRING * THIRD: NUMBER OF BYTES * FOUTH: ADDR OF COMPARE STRING * FIFTH: NUMBER OF CPU WORDS USED * DEC 17,18,8,36,4 DEC 22,19,4,37,3 * * MEMORY PROTECT * DEC -2,17,18,8,4 * * INTERRUPT PARAMETER * DEC -3,17,18,8,36,4 * * TERMINTOR * DEC -1 HED TEST THE COMPARE WORD INSTRUCTION CMW * TST05 EQU * CMWT NOP COMPARE WORD TEST JSB MOVE PUT "CMW" DEF MCMW IN MESSAGE STRING LDA A.CMW ADDR OF CMW TEST TABLE STA TP STORE ADDR IN TABLE POINTER CMW1 JSB NXTP NEXT TEST PARMA FROM TEST TABLE JMP CMW2 EXECUTE TEST JMP CMWT,I EXIT TEST JMP CMW4 EXECUTE INTP TEST CMW2 JSB DSABR SET UP STRING ADDR JSB WCX GET WORD COUNT LDA WRD1 A:=WORD 1 ADDR LDB WRD2 B:=WORD 2 ADDR NOP DEBUG CMWA CMW WCP EXECUTE CMW INSTR JSB CPSK0 RECORD JSB CPSK1 SKIP JSB CPSK2 RESULT CMW6 JSB CKSK CHECK SKIP RESULT JMP CMW1 NEXT TEST CASE * * TEST CMW WITH INTP * CMW4 CLF INTP TURN OFF INTP SYST LDB JSB5 INTP ADDR JSB IIO TURN ON I-O DEVICE JSB DSABR SET UP STRING ADDR JSB WCX GET WORD COUNT LDA WRD1 STRING 1 ADDR LDB WRD2 STRING 2 ADDR NOP DEBUG II5 CMW WCP EXECUTE CMW INSTR JSB CISK0,I RECORD JSB CISK1,I SKIP JSB CISK2,I RESULT CLF INTP TURN OFF INTP SYST JSB TOIO TURN OFF I-O DEVICE JMP CMW6 CHECK RESULT * RT5 NOP CLF INTP TURN OFF INTP SYST JSB SABEO SAVE REGS LDA RT5 ADDR OF INTP INSTR LDB PTR5 EXP ADDR NOP DEBUG JMP RTX INTP ROUTINE * * * * CMW TEST TABLE * CMWTB EQU * * * MEANING OF THE TABLE ENTRIES: * * FIRST: ADDR OF STRING 1 IN A-REG. * SECOND: ADDR OF STRING 2 IN B-REG. * THIRD: NUMBER OF WORDS IN STRING TO BE COMPARED. * FOURTH: SKIP RESULT. * * ARRAY 1 ARRAY 2 * CW1 DEC 0,1,4,0 ASCII STRING A1 = A2 DEC 0,2,4,1 ASCII STRING A1 < A2 DEC 0,3,4,2 ASCII STRING A1 > A2 DEC 23,24,1,2 +052777 +000001 A1 > A2 DEC 24,23,1,1 +000001 +052777 A1 < A2 DEC 24,25,1,2 +000001 -177777 A1 < A2 DEC 25,24,1,1 -177777 +000001 A1 < A2 DEC 26,23,1,1 -100000 +052777 A1 < A2 DEC 23,26,1,2 +052777 -100000 A1 > A2 DEC 26,27,1,1 -100000 -125000 A1 < A2 DEC 27,26,1,2 -125000 -100000 A1 > A2 DEC 28,23,1,1 +052525 +052777 A1 < A2 DEC 23,28,1,2 +052777 +052525 A1 > A2 DEC 25,29,1,0 -177777 -177777 A1 = A2 DEC 26,30,1,0 -100000 -100000 A1 = A2 DEC 24,31,1,0 +000001 +000001 A1 = A2 DEC 32,33,1,0 +077777 +077777 A1 = A2 DEC 20,34,1,0 +000000 +000000 A1 = A2 * * INTERRUPT PARAMETER * DEC -2,0,1,4,0 DEC -2,0,2,4,1 DEC -2,0,3,4,2 * * TERMINATOR * DEC -1 HED TEST THE MOVE WORD INSTRUCTION MVW TST06 EQU * MVWT NOP JSB MOVE PUT "MVW" DEF MMVW IN MESSAGE STRING LDA A.MVW ADDR OF MVW TEST TABLE STA TP STORE ADDR IN TABLE POINTER MVW1 JSB NXTP NEXT TEST PARAM FROM TEST TABLE JMP MVW2 EXECUTE TEST JMP MVWT,I EXIT TEST JMP MVW4 EXECUTE MPT TEST JMP MVW5 EXECUTE INTP TEST MVW2 JSB MBTX SET UP PARAM LDA WRD1 ADDR OF SOURCE STRING LDB WRD2 ADDR OF DESTINATION STRING NOP DEBUG MVWA MVW WCP EXECUTE MVW INSTR NOP DEBUG MVW3 JSB CKDS CHECK DATA STRING JMP MVW1 NEXT TEST CASE * * MEMORY PROTECT TEST * MVW4 JSB MEMPR CHECK IF MPT IS PRESENT JMP MVW4B MPT NOT PRESENT JSB MBTX SET UP PARAM LDA MVWMP INTP ADDR JSB MEMTN TURN ON MPT LOGIC LDA WRD1 ADDR OF SOURCE STRING LDB WRD2 ADDR OF DESTINATION STRING NOP DEBUG MVWB MVW WCP EXECUTE MVW INSTR NOP DEBUG JSB MTNOF MPT FAILED, REPORT ERR JMP MVW4N NEXT TEST-CASE * MVW4B ISZ TP ADJUST TABLE POINTER ISZ TP FOR ISZ TP MVW4N ISZ TP NEXT PARAM JMP MVW1 * MVW3A LDA WDX,I STA WRD1 NOP DEBUG JMP MVW3 * * TEST MVW WITH INTP * MVW5 CLF INTP TURN OFF INTP SYST LDB JSB6 INTP ADDR JSB IIO TURN ON I-O DEVICE JSB MBTX SET UP PARAM LDA WRD1 SOURCE ADDR LDB WRD2 DESTINATION ADDR NOP DEBUG STF INTP TURN ON INTP SYST II6 MVW WCP EXECUTE MVW INSTR CLF INTP TURN OFF INTP SYST JSB TOIO TURN OFF I-O DEVICE JMP MVW3 CHECK RESULT * RT6 NOP CLF INTP TURN OFF INTP SYST JSB SABEO SAVE REGS LDA RT6 ADDR OF INTP INSTR LDB PTR6 EXP ADDR NOP DEBUG JMP RTX INTP ROUTINE * * * MVW TEST TABLE * * MVWTB EQU * * * MEANING OF THE TABLE ENTRIES: * * FIRST: ADDR OF SOURCE IN A-REG. * SECOND: ADDR OF DESTINATION IN B-REG. * THIRD: NUMBER OF WORDS TO BE MOVED. * FOURTH: NUMBER OF WORDS TO BE CHECKED * DEC 4,5,4,4 * * MEMORY PROTECT * DEC -2,4,5,4,4 MEMORY PROTECT * * INTERRUPT PARAMETER * DEC -3,4,5,4,4 * * TERMINATOR * DEC -1 HED TEST THE TEST-BIT INSTRUCTION TBS TST07 EQU * TBST NOP JSB MOVE PUT "TBS" DEF MTBS IN MESSAGE STRING LDA A.TBS ADDR OF SBS TEST TABLE STA TP STORE ADDR IN TABLE POINTER TBS1 JSB NXTP NEXT TEST PARAM FROM TEST TABLE JMP TBS2 EXECUTE TEST JMP TBST,I EXIT TEST TBS2 JSB LBB 1ST PARAM IS STA WRD2 STORED IN TO WRD2 JSB LBB 2ND PARAM IS IN WRD1 NOP DEBUG TBS WRD1 WRD2 EXECUTE TBS INSTR JSB CPSK0 RECORD JSB CPSK1 SKIP JSB CPSK2 RESULT NOP DEBUG JSB CKSK CHECK SKIP RESULT JMP TBS1 NEXT TEST CASE * * * TBS TEST TABLE * TBSTB EQU * * * MEANING OF TABLE ENTRIES: * * FIRST: ADDR OF 16 BIT MASK * SECOND: ADDR OF BIT TO BE TESTED * THIRD: SKIP RESULT * DEC 6,6,0 DEC 6,7,1 * * TERMINATOR * DEC -1 HED TEST THE SET-BIT INSTRUCTION SBS TST08 EQU * SBST NOP JSB MOVE PUT "SBS" DEF MSBS IN MESSAGE STRING LDA A.SBS ADDR OF SBS TEST TABLE STA TP STORE ADDR IN TABLE POINTER SBS1 JSB NXTP NEXT TEST PARAM FROM TEST TABLE JMP SBS2 EXECUTE TEST JMP SBST,I EXIT TEST JMP SBS5 EXECUTE MPT TEST JMP SBS4 EXECUTE TEST WITH NON INDIRECT SBS2 JSB PATX LOAD PATTERN JSB LBB GET MASK FOR B-REG LDA A.DS ADDR OF DESTINATION STA WRD2 NOP DEBUG SBS WRD1,I WRD2,I EXECUTE SBS INSTR NOP DEBUG SBS3 JSB CKSB CHECK RESULT JMP SBS1 NEXT TEST CASE * SBS4 JSB PATX LOAD PATTERN JSB STDS IN DESTINATION STRING JSB LBB GET ADDR OF MASK LDA WRD1,I GET MASK STA WRD1 STORE MASK NOP DEBUG SBS WRD1 DS EXECUTE SBS INSTR NOP DEBUG JMP SBS3 NEXT TEST PARAM SPC 1 * * MEMORY PROTECT TEST * SBS5 JSB MEMPR CHECK IF MTP PRESENT JMP SBS5B MPT NOT PRESENT JSB PATX STORE PATTERN IN DATA STRING JSB LBB GET MASK FOR B-REGDATA STRING LDA A.DS ADDR OF DESTINATION STA WRD2 STORE ADDR LDA SBSMP INTP ADDR JSB MEMTN TURN ON MPT LOGIC NOP DEBUG SBS WRD1,I WRD2,I EXECUTE SBS INSTR NOP DEBUG JSB MTNOF MPT FAILED, REPORT ERR JMP SBS5N NEXT TEST-PARAM * SBS5B ISZ TP ADJUST TABLE POINTER ISZ TP FOR SBS5N ISZ TP NEXT PARAM JMP SBS1 * * * SBS TEST TABLE * * SBSTB EQU * * * MEANING OF TABLE ENTRIES: * * FIRST: PATTERN IN DATA STRING * SECOND: BIT(S) TO SET WITH MASK * THIRD: CHECK RESULT * * INDIRECT ADDRESSES * DEC 4,6,6 DEC 4,7,7 DEC 26,6,26 DEC 26,7,26 DEC 6,7,26 DEC 7,6,26 DEC 26,4,26 DEC 4,26,26 DEC 4,4,4 * * INDIRECT ADDR * DEC -3,4,6,6 DEC -3,4,7,7 DEC -3,26,7,26 * * MEMORY PROTECT * DEC -2,4,6,4 DEC -2,4,7,4 DEC -2,26,7,26 * * TERMINATOR * DEC -1 HED TEST THE CLEAR-BIT INSTRUCTION CBS TST09 EQU * CBST NOP JSB MOVE PUT "CBS" DEF MCBS IN MESSAGE STRING LDA A.CBS ADDR OF CBS TEST TABLE STA TP STORE ADDR IN TABLE POINTER CBS1 JSB NXTP NEXT TEST PARAM IN TEST TABLE JMP CBS2 EXECUTE TEST WITH INDIRECT ADDR JMP CBST,I EXIT TEST JMP CBS4 EXECUTE TEST WITH NON-INDIRECT ADDR JMP CBS5 EXECUTE MPT TEST CBS2 JSB PATX STORE PATTERN DATA STRING JSB LBB SET UP MASK FOR B-REG LDA A.DS DESTINATION ADDR STA WRD2 NOP DEBUG CBS WRD1,I WRD2,I EXECUTE CBS INSTR NOP DEBUG CBS3 JSB CKSB CHECK RESULT JMP CBS1 NEXT TEST CASE * CBS4 JSB PATX STORE PATTERN JSB STDS IN DESTINATION STRING JSB LBB GET ADDR OF MASK LDA WRD1,I GET MASK STA WRD1 STORE MASK NOP DEBUG CBS WRD1 DS EXECUTE CBS INSTR NOP DEBUG JMP CBS3 NEXT TEST PARAM * * MEMORY PROTECT TEST * CBS5 JSB MEMPR CHECK IF MPT IS PRESENT JMP CBS5B MPT NOT PRESENT JSB PATX STORE PATTERN IN DATA STRING JSB LBB GET MASK FOR B-REG LDA A.DS GET DESTINATION ADDR STA WRD2 LDA CBSMP INTP ADDR JSB MEMTN TURN ON MPT LOGIC NOP DEBUG CBS WRD1,I WRD2,I EXECUTE CBS INSTR NOP DEBUG JSB MTNOF MPT FAILED, REPORT ERR JMP CBS5N * CBS5B ISZ TP ADJUST TABLE ISZ TP POINTER CBS5N ISZ TP NO MPT !! JMP CBS1 NEXT TEST-CASE * * * CBS TEST TABLE * * CBSTB EQU * * * MEANING OF TABLE ENTRIES: * * FIRST: PATTERN IN DATA STRING * SECOND: BIT(S) TO BE CLEARED WITH CBS INSTR. * THIRD: CHECK RESULT * * INDIRECT ADDRESSES * DEC 26,6,7 DEC 26,7,6 DEC 26,26,4 DEC 26,4,26 DEC 4,4,4 DEC 4,26,4 * *INDIRECT ADDR * DEC -2,26,6,7 DEC -2,26,7,6 DEC -2,26,26,4 DEC -2,26,4,26 DEC -2,4,4,4 DEC -2,4,26,4 * * MEMORY PROTECT * DEC -3,26,6,26 * * TERMINATOR * DEC -1 HED DATA CONSTANTS * WD EQU * DEF STG1 DEF STG2 DEF STG3 DEF STG4 DEF MWR1 DEF DS DBL STG1 DBL STG2 DBR STG1 DBR STG3 DBR STG4 DBR LSTG DBL LSTG DEF OP1 DEF OP2 DBL LSTG+8 DBL LSTG+17 DBL MSTG DBL DS DBR DS DEF LBA4 DEF LBA10 DBR MST1 DEF LBA2 DEF LBA10 DEF LBA26 DEF LBA25 DEF LBA5 DEF LBA7 DEF .M1 DEF SW15 DEF .+1 DEF LBA44 DEF LBA45 DEF OT9 DEF LBA46 DEF MSTG DEF MST2 * WD1 EQU * STG1 ASC 04,12345670 STG2 ASC 04,12345670 STG3 ASC 04,12347670 STG4 ASC 04,12345570 MWR1 ASC 04,Z0Y1XIW3 LSTG ASC 17,ABCDEFGHIJKLMNOPQRSTUVWXYZ12345670 OP1 ASC 01,0Q OP2 ASC 01,0/ MSTG ASC 04,A1B2C3D7 MST1 OCT 052501 PATTN + A ASC 1,BC OCT 042125 D + PATTN MST2 OCT 125101 ASC 1,BC OCT 042252 SPC 3 LB EQU * DBL LBA0 DBR LBA0 DBL LBA1 DBR LBA1 DBL LBA2 DBR LBA2 DBL LBA3 DBR LBA3 DBL LBA4 DBR LBA4 DBL DS DBR DS SPC 3 LBX EQU * LBA0 OCT 125377 LBA1 OCT 177652 LBA2 OCT 052777 LBA3 OCT 177525 LBA4 OCT 0 LBA5 OCT 125000 LBA6 OCT 125252 LBA7 OCT 052525 LBA8 OCT 052652 LBA9 OCT 125125 LBA10 OCT 1 OCT 2 OCT 4 OCT 10 OCT 20 OCT 40 OCT 100 OCT 200 OCT 400 OCT 1000 OCT 2000 OCT 4000 OCT 10000 OCT 20000 OCT 40000 LBA25 OCT 100000 LBA26 OCT 177777 OCT 177776 OCT 177775 OCT 177773 OCT 177767 OCT 177757 OCT 177737 OCT 177677 OCT 177577 OCT 177377 OCT 176777 OCT 175777 OCT 173777 OCT 167777 OCT 157777 OCT 137777 LBA44 OCT 077777 LBA45 OCT 077777 LBA46 OCT 125252 OCT 125252 OCT 125252 OCT 125252 SPC 3 OCT EQU * OT1 OCT 252 OT2 OCT 377 OT3 OCT 377 OT4 OCT 252 OT5 OCT 125 OT6 OCT 377 OT7 OCT 377 OT8 OCT 125 OT9 OCT 0 * HED DIAGNOSTIC MESSAGES HDMS OCT 6412 ASC 15,EIG (WORD,BYTE,BIT) DIAGNOSTIC HDM1 ASC 07, DSN XXXXXX// ME00 ASC 14, IN TEST-CASE XXXXXX OF ME. ASC 06,XXX INSTR./ MH001 ASC 16,H001 MEMORY PROTECT NOT PRESENT/ ME03 ASC 17,E003 INSTR DOES NOT SKIP PROPERLY/ ME004 ASC 18,E004 TEST INSTRUCTION EXECUTED PAST ASC 11,SPECIFIED WORD COUNT/ ME005 ASC 18,E005 WRONG RESULT RETURNED IN A-REG/ ME006 ASC 18,E006 WRONG RESULT RETURNED IN B-REG/ ME007 ASC 13,E007 WRONG DATA RETURNED/ ME010 ASC 16,E010 DISTINATION STRING DOES NOT ASC 14, COMPARE WITH SOURCE STRING/ ME011 ASC 14,E011 INCORRECT TERMINATION/ ME012 ASC 17,E012 MEMORY PROTECT DIDN'T OCCUR/ ME013 ASC 12,E013 INTP DIDN'T OCCUR/ ME014 ASC 15,E014 INTP FROM WRONG LOCATION/ * MLBT ASC 02,LBT MSBT ASC 02,SBT MCBT ASC 02,CBT MSFB ASC 02,SFB MMBT ASC 02,MBT MCMW ASC 02,CMW MMVW ASC 02,MVW MTBS ASC 02,TBS MSBS ASC 02,SBS MCBS ASC 02,CBS FWAA EQU * FIRST WORD OF AVAL. MEMORY END