* INSTRUCTION SCAN PAGE 1 0001 * INSTRUCTION SCAN 0002 ORG '1000 0003 01000 0 02 01242 LDA =-1024 0004 01001 0 04 01013 STA INSC INIT COUNTER 0005 01002 0 02 01241 LDA ='140000 FIRST OPCODE 0006 01003 0 04 01012 STA INST 0007 01004 0 02 01012 LL LDA INST 0008 01005 0 10 01060 JST TSOP 0009 01006 0 12 01012 IRS INST 0010 01007 0 12 01013 IRS INSC 0011 01010 0 01 01004 JMP LL 0012 01011 000000 HLT 0013 * 0014 01012 000000 INST BSZ 1 0015 01013 000000 INSC BSZ 1 0016 * 0017 * OUTPUT ONE CHARACTER 0018 * 0019 01014 0 000000 OPCH DAC ** 0020 01015 34 0104 SKS '104 0021 01016 0 01 01015 JMP *-1 0022 01017 14 0104 OCP '104 0023 01020 74 0004 OTA '4 0024 01021 0 01 01020 JMP *-1 0025 01022 -0 01 01014 JMP* OPCH 0026 * 0027 * OUTPUT TWO CHARACTERS 0028 * 0029 01023 0 000000 OP2C DAC ** 0030 01024 0 10 01014 JST OPCH 0031 01025 141340 ICA 0032 01026 0 10 01014 JST OPCH 0033 01027 -0 01 01023 JMP* OP2C 0034 * 0035 * LINE FEED, CARIAGE RETURN 0036 * 0037 01030 0 000000 LFCR DAC ** 0038 01031 0 02 01240 LDA ='106612 0039 01032 0 10 01023 JST OP2C 0040 01033 -0 01 01030 JMP* LFCR 0041 * 0042 * OUTPUT OCTAL 0043 * 0044 01034 0 000000 OPOC DAC ** 0045 01035 0 04 01056 STA OCVL SAVE VALUE TO PRINT 0046 01036 0 02 01237 LDA =A'' APOSTROPHE 0047 01037 0 10 01014 JST OPCH 0048 01040 0 02 01236 LDA =-6 SIX OCTAL DIGITS 0049 01041 0 04 01057 STA OCSH 0050 01042 0 35 01057 OPL1 LDX OCSH * INSTRUCTION SCAN PAGE 2 0051 01043 0 02 01056 LDA OCVL RECOVER VALUE TO PRINT 0052 01044 100000 SKP SHIFT ONCE LESS THAN DIGIT NUMBER 0053 01045 0404 75 OPL2 LGR 3 0054 01046 0 12 00000 IRS 0 0055 01047 0 01 01045 JMP OPL2 0056 01050 0 03 01235 ANA ='7 0057 01051 0 06 01234 ADD =A00 ZERO 0058 01052 0 10 01014 JST OPCH 0059 01053 0 12 01057 IRS OCSH 0060 01054 0 01 01042 JMP OPL1 0061 01055 -0 01 01034 JMP* OPOC 0062 01056 000000 OCVL BSZ 1 OCTAL PRINT SAVES VALUE 0063 01057 000000 OCSH BSZ 1 OCTAL PRINT SHIFT VALUE 0064 * 0065 * TEST ONE OPCODE 0066 * 0067 * ENTER WITH THE OPCODE IN A 0068 * 0069 01060 0 000000 TSOP DAC ** 0070 01061 0 04 01120 STA OPCD 0071 01062 0 10 01030 JST LFCR BLANK LINE 0072 01063 0 02 01120 LDA OPCD 0073 01064 0 10 01034 JST OPOC PRINT THE OPCODE 0074 01065 0 10 01030 JST LFCR 0075 * 0076 01066 0 35 01147 LDX OPND 0077 01067 1 02 01147 TSL1 LDA OPND,1 0078 01070 140200 RCB FIRST WITH C=0 0079 01071 0 10 01100 JST TSPT 0080 01072 1 02 01147 LDA OPND,1 0081 01073 140600 SCB THEN WITH C=1 0082 01074 0 10 01100 JST TSPT 0083 01075 0 12 00000 IRS 0 0084 01076 0 01 01067 JMP TSL1 0085 01077 -0 01 01060 JMP* TSOP 0086 * 0087 * TEST ONE PATTERN 0088 * 0089 01100 0 000000 TSPT DAC ** 0090 01101 0 04 01127 STA BEFR 0091 01102 0 04 01133 STA AFTR STORE IN BOTH BEFORE AND AFTER 0092 01103 0 04 01130 STA BEF2 0093 01104 000043 INK 0094 01105 0 04 01131 STA BEFC 0095 01106 0 04 01134 STA AFTC 0096 01107 0 04 01132 STA BEFK 0097 01110 0 10 01150 JST OPTP PRINT BEFORE VALUES 0098 01111 0 02 01233 LDA ='120240 SPACES 0099 01112 0 10 01023 JST OP2C 0100 * * INSTRUCTION SCAN PAGE 3 0101 01113 0 02 01132 LDA BEFK 0102 01114 0 04 01131 STA BEFC 0103 01115 171020 OTK 0104 01116 0 02 01130 LDA BEF2 0105 01117 0 04 01127 STA BEFR 0106 01120 000000 OPCD BSZ 1 OPCODE TO TEST 0107 01121 0 04 01133 STA AFTR 0108 01122 000043 INK 0109 01123 0 04 01134 STA AFTC 0110 01124 0 10 01150 JST OPTP PRINT RESULTS 0111 01125 0 10 01030 JST LFCR 0112 01126 -0 01 01100 JMP* TSPT 0113 * 0114 * STORAGE FOR BEFORE AND AFTER 0115 * 0116 01127 000000 BEFR BSZ 1 0117 01130 000000 BEF2 BSZ 1 0118 01131 000000 BEFC BSZ 1 0119 01132 000000 BEFK BSZ 1 0120 01133 000000 AFTR BSZ 1 0121 01134 000000 AFTC BSZ 1 0122 * 0123 * TABLE OF OPERANDS 0124 * 0125 01135 000000 OPN1 OCT '000000 ZERO 0126 01136 177777 OCT '177777 ALL ONES 0127 01137 125252 OCT '125252 ODD BITS 0128 01140 052525 OCT '052525 EVEN BITS 0129 01141 125125 OCT '125125 ODD TOP BYTE, EVEN BOTTOM 0130 01142 052652 OCT '052652 EVEN TOP BYTE, ODD BOTTOM 0131 01143 100000 OCT '100000 MOST NEG INTEGER 0132 01144 077777 OCT '077777 MOST POS INTEGER 0133 01145 146314 OCT '146314 TWO 1 - TWO 0 0134 01146 031463 OCT '031463 TWO 0 - TWO 1 0135 01147 0 177766 OPND DAC OPN1-* 0136 * 0137 * PRINT RESULTS FOR ONE PATTERN 0138 * 0139 01150 0 000000 OPTP DAC ** 0140 01151 0 02 01232 LDA =-4 0141 01152 0 04 01202 STA OTCN INIT NIBBLE COUNTER 0142 01153 0 02 01232 OPP1 LDA =-4 0143 01154 0 04 01203 STA OTCB INIT NIBBLE COUNTER 0144 01155 0 02 01133 OPP2 LDA AFTR 0145 01156 000201 IAB AFTER VALUE IN B 0146 01157 0 02 01127 LDA BEFR BEFORE IN A 0147 01160 0 10 01204 JST OTBT 0148 * 0149 01161 0 02 01127 LDA BEFR 0150 01162 0414 77 LGL 1 * INSTRUCTION SCAN PAGE 4 0151 01163 0 04 01127 STA BEFR 0152 01164 0 02 01133 LDA AFTR 0153 01165 0414 77 LGL 1 0154 01166 0 04 01133 STA AFTR 0155 * 0156 01167 0 12 01203 IRS OTCB 0157 01170 0 01 01155 JMP OPP2 0158 01171 0 02 01231 LDA ='240 SPACE 0159 01172 0 10 01014 JST OPCH 0160 01173 0 12 01202 IRS OTCN 0161 01174 0 01 01153 JMP OPP1 0162 * NOW DO CARRY 0163 01175 0 02 01134 LDA AFTC 0164 01176 000201 IAB 0165 01177 0 02 01131 LDA BEFC 0166 01200 0 10 01204 JST OTBT 0167 01201 -0 01 01150 JMP* OPTP 0168 * 0169 01202 000000 OTCN BSZ 1 0170 01203 000000 OTCB BSZ 1 0171 * 0172 * OUTPUT 1 BIT RESULT 0173 * BEFORE IN A1, AFTER IN B1 0174 * 0175 01204 0 000000 OTBT DAC ** 0176 01205 100400 SPL 0177 01206 0 01 01216 JMP OTB1 0178 * BEFORE WAS ZERO 0179 01207 000201 IAB 0180 01210 100400 SPL 0181 01211 0 01 01214 JMP OTB2 0182 * STILL IS 0183 01212 0 02 01234 LDA =A00 0184 01213 0 01 01224 JMP OTBX 0185 01214 0 02 01230 OTB2 LDA =A++ 0186 01215 0 01 01224 JMP OTBX 0187 * BEFORE WAS ONE 0188 01216 000201 OTB1 IAB 0189 01217 100400 SPL 0190 01220 0 01 01223 JMP OTB3 0191 01221 0 02 01227 LDA =A-- 0192 01222 0 01 01224 JMP OTBX 0193 01223 0 02 01226 OTB3 LDA =A11 0194 01224 0 10 01014 OTBX JST OPCH 0195 01225 -0 01 01204 JMP* OTBT 0196 01226 130661 END 01227 126655 01230 125653 01231 000240 01232 177774 * INSTRUCTION SCAN PAGE 5 01233 120240 01234 130260 01235 000007 01236 177772 01237 123647 01240 106612 01241 140000 01242 176000 AFTC 001134A AFTR 001133A BEF2 001130A BEFC 001131A BEFK 001132A BEFR 001127A INSC 001013A INST 001012A LFCR 001030A LL 001004A OCSH 001057A OCVL 001056A OP2C 001023A OPCD 001120A OPCH 001014A OPL1 001042A OPL2 001045A OPN1 001135A OPND 001147A OPOC 001034A OPP1 001153A OPP2 001155A OPTP 001150A OTB1 001216A OTB2 001214A OTB3 001223A OTBT 001204A OTBX 001224A OTCB 001203A OTCN 001202A TSL1 001067A TSOP 001060A TSPT 001100A 0000 WARNING OR ERROR FLAGS DAP-16 MOD 2 REV. C 01-26-71