Subversion Repositories pentevo

Rev

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