Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1186 | savelij | 1 | ;;; |
2 | ;;; Test CP-1600 |
||
3 | ;;; |
||
4 | |||
5 | CPU CP-1600 |
||
6 | |||
7 | ORG X'0000' |
||
8 | |||
9 | LABEL0: |
||
10 | MVOI R0,123 |
||
11 | MVII -32768,R1 |
||
12 | ADDI 32767,R2 |
||
13 | SUBI 65535,R3 |
||
14 | CMPI 0,R4 |
||
15 | ANDI X'AA55',R5 |
||
16 | XORI 'AS',R6 |
||
17 | |||
18 | SDBD |
||
19 | |||
20 | GSWD R0 |
||
21 | NOP |
||
22 | NOP 1 |
||
23 | SIN |
||
24 | SIN 2 |
||
25 | RSWD R1 |
||
26 | HLT |
||
27 | EIS |
||
28 | DIS |
||
29 | TCI |
||
30 | CLRC |
||
31 | SETC |
||
32 | |||
33 | J LABEL0 |
||
34 | LABEL1: JE LABEL1 |
||
35 | JD LABEL2 |
||
36 | JSR R4,LABEL3 |
||
37 | JSRE R5,LABEL0 |
||
38 | JSRD R6,LABEL1 |
||
39 | JSRE R6,X'AA55' |
||
40 | |||
41 | LABEL2: MVO R0,DATA0 |
||
42 | MVI DATA1,R1 |
||
43 | ADD DATA2,R2 |
||
44 | SUB DATA0,R3 |
||
45 | CMP DATA1,R4 |
||
46 | AND DATA2,R5 |
||
47 | XOR DATA3,R6 |
||
48 | |||
49 | MVO@ R0,R4 |
||
50 | PSHR R1 |
||
51 | MVI@ R5,R2 |
||
52 | PULR R3 |
||
53 | ADD@ R6,R3 |
||
54 | SUB@ R6,R0 |
||
55 | CMP@ R4,R1 |
||
56 | AND@ R5,R2 |
||
57 | XOR@ R6,R3 |
||
58 | |||
59 | L0: B LABEL0 |
||
60 | NOPP |
||
61 | BC L0 |
||
62 | L1: BLGT L1 |
||
63 | BNC L2 |
||
64 | L2: BLLT L3 |
||
65 | BOV L4 |
||
66 | BNOV L5 |
||
67 | L3: BPL L0 |
||
68 | BMI L1 |
||
69 | BZE L2 |
||
70 | BEQ L3 |
||
71 | L4: BNZE L4 |
||
72 | BNEQ L5 |
||
73 | BLT L0 |
||
74 | BGE L1 |
||
75 | L5: BLE L2 |
||
76 | BGT L3 |
||
77 | BUSC L4 |
||
78 | BESC L5 |
||
79 | BEXT L0,7 |
||
80 | |||
81 | MOVR R0,R1 |
||
82 | TSTR R2 |
||
83 | JR R3 |
||
84 | ADDR R4,R5 |
||
85 | SUBR R0,R1 |
||
86 | CMPR R2,R3 |
||
87 | ANDR R4,R5 |
||
88 | XORR R6,R0 |
||
89 | CLRR R1 |
||
90 | INCR R2 |
||
91 | DECR R3 |
||
92 | COMR R4 |
||
93 | NEGR R5 |
||
94 | ADCR R6 |
||
95 | |||
96 | SWAP R0 |
||
97 | SLL R1,1 |
||
98 | RLC R2,2 |
||
99 | SLLC R3 |
||
100 | SLR R0,1 |
||
101 | SAR R1,2 |
||
102 | RRC R2 |
||
103 | SARC R3,1 |
||
104 | |||
105 | DATA0: RES 2 |
||
106 | ZERO 3 |
||
107 | DATA1: WORD -1,32767 |
||
108 | DATA2: BYTE -32768,65535 |
||
109 | DATA3: TEXT "Test",13,X'0A',0 |
||
110 | LABEL3: |
||
111 | |||
112 | ;; Sample from Manual |
||
113 | CLRR R3 |
||
114 | GET: MVI@ R4,R2 |
||
115 | MOVR R3,R3 |
||
116 | BNZE CHK |
||
117 | CMPI ' ',R2 |
||
118 | BEQ GET |
||
119 | INCR R3 |
||
120 | CHK: SUBI 48,R2 |
||
121 | |||
122 | SDBD |
||
123 | MVII 100,R3 |
||
124 | |||
125 | SDBD |
||
126 | NOP |
||
127 | XORI 123,R0 |
||
128 | |||
129 | BITS 10 |
||
130 | MVII 1023,R0 |
||
131 | MVII 1024,R1 |
||
132 | MVII 65535,R2 |
||
133 | |||
134 | BITS 11 |
||
135 | ADDI 2047,R0 |
||
136 | ADDI 2048,R1 |
||
137 | ADDI 4096,R2 |
||
138 | |||
139 | ; Map PACKING to PAK/UPAK |
||
140 | |||
141 | PAK macro |
||
142 | packing on |
||
143 | endm |
||
144 | |||
145 | UPAK macro |
||
146 | packing off |
||
147 | endm |
||
148 | |||
149 | CR: EQU X'0D' |
||
150 | LF: EQU X'0A' |
||
151 | |||
152 | BYTE 127 |
||
153 | WORD 127 |
||
154 | |||
155 | ; packing is on by default for CP1600 |
||
156 | |||
157 | TEXT "Hello", CR, LF, 0 |
||
158 | |||
159 | ; turn packing off -> one word per character |
||
160 | |||
161 | UPAK |
||
162 | TEXT "Hello", CR, LF, 0 |
||
163 | |||
164 | ; turn packing on again |
||
165 | |||
166 | PAK |
||
167 | TEXT "Hello", CR, LF, 0 |
||
168 | |||
169 | END |