REVISION-DEC20/AS 16-May-77 DATE: 29-Apr-78 TIME: 00:46:56.0 PRNTST PAGE NUMBER 1 1. 0000 .TITLE PRNTST 2. 0000 ;PROGRAM FOR TESTING THE MEMORY WITH 3. 0000 ;PSEUDORANDOM-NUMBERS 4. 0000 ;COPYRIGHT BO KLEVE, LYSATOR 5. 0000 0000 A RO=O 6. 0000 0001 A R1=1 7. 0000 0002 A R2=2 8. 0000 0003 A R3=3 9. 0000 0004 A BIT1=4 10. 0000 OOOB A NEG=11 11. 0000 0002 A SEL=2 12. 0000 0007 A FLAG=7 13. 0000 FF80 A ENTER=X 'FF80 14. 0000 FFA4 A READWD=X 'FFA4 15. 0000 FFA4 A OUTC=X 'FFA4 16. 0000 ; 17. 0000 ; 18. 0000 .ASECT 19. 0000 FE80 A .=X 'FE80 20. FE80 895E A INIT: LD R2,TXTAD 21. FE81 2D32 A JSR @PRIAD 22. FE82 03A4 A JSRI READWD 23. FE83 21FC A SOH: JMP INIT 24. FE84 0380 A ETX: JSRI ENTER 25. FE85 3781 A NORMAL: RCPY R1,R3 26. FE86 4D01 A START: LI R1,1 27. FE87 2923 A PASS: JSR PRN ;GET A RANDOM IN R1 28. FE88 4100 A PUSH R1 29. FE89 8929 A LD R2,PSZ 30. FE8A 2920 A STORE: JSR PRN ;A RANDOM IN R1 31. FE8B 4400 A PULL R0 32. FE8C 4000 A PUSH R0 33. FE8D 4300 A PUSH R3 34. FE8E 2918 A JSR MADDR ;AN ADDRESS IN R3 35. FE8F A700 A ST R1,(R3) 36. FE90 4700 A PULL R3 37. FE91 4AFF A AISZ R2,-1 38. FE92 21F7 A JMP STORE 39. FE93 891F A LD R2,PSZ 40. FE94 4500 A PULL R1 41. FE95 4100 A PUSH R1 42. FE96 2914 A VERIFY: JSR PRN ;GET A RANDOM IN R1 43. FE97 4400 A PULL R0 44. FE98 4000 A PUSH R0 45. FE99 4300 A PUSH R3 46. FE9A 290C A JSR MADDR ;AN ADDRESS IN R3 47. FE9B F700 A SKNE R1,(R3) 48. FE9C 2101 A JMP .+2 49. FE9D 2917 A JSR ERROR 50. FE9E 51. FE9E 4700 A PULL R3 REVISION-DEC20/AS 16-May-77 DATE: 29-Apr-78 TIME: 00:46:56.0 PRNTST PAGE NUMBER 2 52. FE9F 4AFF A AISZ R2,-1 53. FEAO 21F5 A JMP VERIFY 54. FEA1 4C40 A LI R0,X 40 55. FEA2 4300 A PUSH R1 56. FEA3 03A4 A JSRI OUTC 57. FEA4 4700 A PULL R3 58. FEA5 4500 A PULL R1 59. FEA6 21EO A JMP PASS 60. FEA7 ; 61. FEA7 ; 62. FEA7 3882 A MADDR: RXOR R2,R0 63. FEA8 610A A AND R0,PSZ 64. FEA9 33OO A RADD R0,R3 65. FEAA 0200 A RTS 0 66. FEAB ; 67. FEAB ; 68. FEAB 3481 A PRN: RCPY R1,R0 69. FEAC 3100 A RADD R0,R1 70. FEAD 6104 A AND R0,MASK 71. FEAE 4800 A AISZ R0,0 72. FEAF F102 A SKNE R0,MASK 73. FEBO 4901 A AISZ R1,1 74. FEB1 0200 A RTS 0 75. FEB2 8400 A MASK: .WORD X'8400 76 FEB3 OFFF A PSZ: .WORD X'0FFF 77. FEB4 FF6D A PRIAD: .WORD X'FF6D 78. FEB5 ; 79. FEB5 ; 80. FEB5 4200 A ERROR: PUSH R2 81. FEB6 4300 A PUSH R3 82. FEB7 4EFA A LI R2,X FA 83. FEB8 2DFB A JSR @PRIAD 84. FEB9 4700 A PULL R3 85. FEBA 4600 A PULL R2 86. FEBB 4100 A PUSH R1 87. FEBC 290F A JSR OUTWRD 88. FEBD 57OO A XCHRS R3 89. FEBE 290D A JSR OUTWRD 90. FEBF 5700 A XCHRS R3 91. FEC0 4500 A PULL R1 92. FEC1 4300 A PUSH R3 93. FEC2 4100 A PUSH R1 94. FEC3 8F30 A LD R3,(R3) 95. FEC4 2907 A JSR OUTWRD 96. FEC5 4500 A PULL R1 97. FEC6 4100 A PUSH R1 98. FEC7 3782 A RXOR R1,R3 99. FEC8 2903 A JSR OUTWRD 100. FEC9 4500 A PULL R1 101. FECA 4700 A PULL R3 102. FECB 0200 A RTS 0 103. FECC ; REVISION-DEC20/AS 16-May-77 DATE: 29-Apr-78 TIME: 00:46:56.0 PRNTST PAGE NUMBER 3 104. FECC ; 105. FECC 4D04 A OUTWRD: L1 Hl 4 106. FECD OABO A PFLG SEL 107. FFCE 5B04 A X2A: ROL R3,4 ;HEX TO ASCII 108. FECF 4COO A LI RO,X UF 109. FEDO 3C83 A RAND R3,RO 110. FEDl 48F6 A AISZ R0,-10 111. FED2 lBOl A BOC NEC,DEC 112. FED3 4807 A AISZ R0,7 113. FED4 483A A DEC: AISZ R0,X 3A 114. FED5 4300 A PUSH R3 115. FED6 03A4 A JSRI OUTC 116. FED7 4700 A PULL R3 117. FED8 49FF A AISZ R1,-1 118. FED9 21F4 A JMP X2A 119. FEDA 4C20 A LI RO,' '/256 120. FEDB 4300 A PUSH R3 121. FEDC 03A4 A JSRI OUTC 122. FEDD 4700 A PULL R3 123. FEDE 0200 A RTS 0 124. FEDF ; 125. FEDF ; 126. FEDF FEEO A TXTAD: .WORD TEXT 127. FEE0 ODOA A TEXT: .WORD X'0D0A 128. FEE1 494E A .ASCII INPUT STARTADDRESS FEE2 5055 A FEE3 5420 A FEE4 5354 A FEE5 4152 A FEE6 5441 A FEE7 4444 A FEE8 5245 A FEE9 5353 A 129. FEEA 2003 A .WORD X'2003 130. FEEB FE80 A .END INIT ****** NO ERRORS IN ASSEMBLY ****** PRNTST testar RAM-minnet med pseudosluQptal enligt en metod angiven i Popular Electronics. För varje geno~löpt testcykel skrivs ett "~" ut. Uppt~ckta fel skrivs ut som: Adress, skrivet data, l~st data saQt EX~ av skrivet och läst data. ~XOR-utsKriften Rer besked om vilka bitar som skllJer sig åt. Rutinen använder sig e; av nagra RAM-positioner varfor den ~ed f~rdel kan läggas i PROM och användas f~r test av nela minnet. Konstanten PSZ på r'EB~ anger minnesstorleKen: 07FF för 2K OFFF för 4K lFFF rör 8K 8FFF rör 1 6K