mirror of
https://github.com/open-simh/simtools.git
synced 2026-01-25 19:56:30 +00:00
Add Commercial Instruction Set.
I haven't done much compatibility testing with MACRO11 to check weirdnesses, but the original functionality is very limied: none of the mnemonics has operands.
This commit is contained in:
@@ -10,6 +10,7 @@ TESTS="test-asciz \
|
||||
test-backpatch \
|
||||
test-blkb \
|
||||
test-bsl-mac-arg \
|
||||
test-cis \
|
||||
test-complex-reloc \
|
||||
test-enabl-ama \
|
||||
test-enabl-lcm \
|
||||
|
||||
92
tests/test-cis.lst.ok
Normal file
92
tests/test-cis.lst.ok
Normal file
@@ -0,0 +1,92 @@
|
||||
1 ;;;;;
|
||||
2 ;
|
||||
3 ; Test assembling the CIS instructions (Commercial Instruction Set).
|
||||
4 ;
|
||||
5
|
||||
6 000000 076050 ADDN
|
||||
7 000002 076070 ADDP
|
||||
8 000004 076056 ASHN
|
||||
9 000006 076076 ASHP
|
||||
10 000010 076044 CMPC
|
||||
11 000012 076052 CMPN
|
||||
12 000014 076072 CMPP
|
||||
13 000016 076057 CVTLN
|
||||
14 000020 076073 CVTLP
|
||||
15 000022 076053 CVTNL
|
||||
16 000024 076073 CVTPL
|
||||
17 000026 076055 CVTNP
|
||||
18 000030 076054 CVTPN
|
||||
19 000032 076075 DIVP
|
||||
20 000034 076040 LOCC
|
||||
21 000036 076020 L2D0
|
||||
22 000040 076027 L2D7
|
||||
23 000042 076060 L3D0
|
||||
24 000044 076067 L3D7
|
||||
25 000046 076045 MATC
|
||||
26 000050 076030 MOVC
|
||||
27 000052 076031 MOVRC
|
||||
28 000054 076032 MOVTC
|
||||
29 000056 076074 MULP
|
||||
30 000060 076042 SCANC
|
||||
31 000062 076041 SKPC
|
||||
32 000064 076043 SPANC
|
||||
33 000066 076051 SUBN
|
||||
34 000070 076071 SUBP
|
||||
35
|
||||
36 000072 076150 000352' 000356' ADDNI s1, s2, d1
|
||||
000100 000362'
|
||||
37 000102 076170 000352' 000356' ADDPI s1, s2, d1
|
||||
000110 000362'
|
||||
38 000112 076156 000352' 000362' ASHNI s1, d1, <<'5*256.>!3> ; rounding digit and shift count
|
||||
000120 032403
|
||||
39 000122 076176 000352' 000362' ASHPI s1, d1, <<'5*256.>!3>
|
||||
000130 032403
|
||||
40 000132 076144 000352' 000356' CMPCI s1, s2, 'F ; fill character
|
||||
000140 000106
|
||||
41 000142 076152 000352' 000356' CMPNI s1, s2
|
||||
42 000150 076172 000352' 000356' CMPPI s1, s2
|
||||
43 000156 076157 000352' 000366' CVTLNI s1, l1
|
||||
44 000164 076177 000352' 000366' CVTLPI s1, l1
|
||||
45 000172 076153 000352' 000366' CVTNLI s1, l1
|
||||
46 000200 076173 000352' 000366' CVTPLI s1, l1
|
||||
47 000206 076155 000352' 000362' CVTNPI s1, d1
|
||||
48 000214 076154 000352' 000362' CVTPNI s1, d1
|
||||
49 000222 076175 000352' 000356' DIVPI s1, s2, d1
|
||||
000230 000362'
|
||||
50 000232 076140 000352' 000101 LOCCI s1, 'A
|
||||
51 000240 076145 000352' 000356' MATCI s1, s2
|
||||
52 000246 076130 000352' 000362' MOVCI s1, d1, 'F ; fill character
|
||||
000254 000106
|
||||
53 000256 076131 000352' 000362' MOVRCI s1, d1, 'F ; fill character
|
||||
000264 000106
|
||||
54 000266 076132 000352' 000362' MOVTCI s1, d1, 'F, t1
|
||||
000274 000106 000372'
|
||||
55 000300 076174 000352' 000356' MULPI s1, s2, d1
|
||||
000306 000362'
|
||||
56 000310 076142 000352' 000356' SCANCI s1, s2 ; src and set descriptors
|
||||
57 000316 076141 000352' 000123 SKPCI s1, 'S ; skip character
|
||||
58 000324 076143 000352' 000356' SPANCI s1, s2 ; src and set descriptors
|
||||
59 000332 076151 000352' 000356' SUBNI s1, s2, d1
|
||||
000340 000362'
|
||||
60 000342 076171 000352' 000356' SUBPI s1, s2, d1
|
||||
000350 000362'
|
||||
61
|
||||
62 000352 000001 000002 s1: .word 1, 2 ; string descriptor
|
||||
63 000356 000003 000004 s2: .word 3, 4 ; string descriptor
|
||||
64 000362 000005 000006 d1: .word 5, 6 ; string descriptor
|
||||
65 000366 000007 000010 l1: .word 7, 10 ; long integer
|
||||
66 000372 116 117 120 t1: .ascii /NOPABC/ ; translation table
|
||||
000375 101 102 103
|
||||
66
|
||||
|
||||
|
||||
Symbol table
|
||||
|
||||
. ******R 001 L1 000366R 001 S2 000356R 001
|
||||
D1 000362R 001 S1 000352R 001 T1 000372R 001
|
||||
|
||||
|
||||
Program sections:
|
||||
|
||||
. ABS. 000000 000 (RW,I,GBL,ABS,OVR,NOSAV)
|
||||
000400 001 (RW,I,LCL,REL,CON,NOSAV)
|
||||
66
tests/test-cis.mac
Normal file
66
tests/test-cis.mac
Normal file
@@ -0,0 +1,66 @@
|
||||
;;;;;
|
||||
;
|
||||
; Test assembling the CIS instructions (Commercial Instruction Set).
|
||||
;
|
||||
|
||||
ADDN
|
||||
ADDP
|
||||
ASHN
|
||||
ASHP
|
||||
CMPC
|
||||
CMPN
|
||||
CMPP
|
||||
CVTLN
|
||||
CVTLP
|
||||
CVTNL
|
||||
CVTPL
|
||||
CVTNP
|
||||
CVTPN
|
||||
DIVP
|
||||
LOCC
|
||||
L2D0
|
||||
L2D7
|
||||
L3D0
|
||||
L3D7
|
||||
MATC
|
||||
MOVC
|
||||
MOVRC
|
||||
MOVTC
|
||||
MULP
|
||||
SCANC
|
||||
SKPC
|
||||
SPANC
|
||||
SUBN
|
||||
SUBP
|
||||
|
||||
ADDNI s1, s2, d1
|
||||
ADDPI s1, s2, d1
|
||||
ASHNI s1, d1, <<'5*256.>!3> ; rounding digit and shift count
|
||||
ASHPI s1, d1, <<'5*256.>!3>
|
||||
CMPCI s1, s2, 'F ; fill character
|
||||
CMPNI s1, s2
|
||||
CMPPI s1, s2
|
||||
CVTLNI s1, l1
|
||||
CVTLPI s1, l1
|
||||
CVTNLI s1, l1
|
||||
CVTPLI s1, l1
|
||||
CVTNPI s1, d1
|
||||
CVTPNI s1, d1
|
||||
DIVPI s1, s2, d1
|
||||
LOCCI s1, 'A
|
||||
MATCI s1, s2
|
||||
MOVCI s1, d1, 'F ; fill character
|
||||
MOVRCI s1, d1, 'F ; fill character
|
||||
MOVTCI s1, d1, 'F, t1
|
||||
MULPI s1, s2, d1
|
||||
SCANCI s1, s2 ; src and set descriptors
|
||||
SKPCI s1, 'S ; skip character
|
||||
SPANCI s1, s2 ; src and set descriptors
|
||||
SUBNI s1, s2, d1
|
||||
SUBPI s1, s2, d1
|
||||
|
||||
s1: .word 1, 2 ; string descriptor
|
||||
s2: .word 3, 4 ; string descriptor
|
||||
d1: .word 5, 6 ; string descriptor
|
||||
l1: .word 7, 10 ; long integer
|
||||
t1: .ascii /NOPABC/ ; translation table
|
||||
Reference in New Issue
Block a user