Add VAX disassembler and instruction table
authorNick Downing <nick@ndcode.org>
Sun, 11 Sep 2022 08:10:05 +0000 (18:10 +1000)
committerNick Downing <nick@ndcode.org>
Sun, 11 Sep 2022 08:13:50 +0000 (18:13 +1000)
instr_vax.txt [new file with mode: 0644]
simh

diff --git a/instr_vax.txt b/instr_vax.txt
new file mode 100644 (file)
index 0000000..48daebe
--- /dev/null
@@ -0,0 +1,774 @@
+addressing modes
+CLRB #0
+CLRB #1
+CLRB #2
+CLRB #3
+CLRB #4
+CLRB #5
+CLRB #6
+CLRB #7
+CLRB #8
+CLRB #9
+CLRB #A
+CLRB #B
+CLRB #C
+CLRB #D
+CLRB #E
+CLRB #F
+CLRB #10
+CLRB #11
+CLRB #12
+CLRB #13
+CLRB #14
+CLRB #15
+CLRB #16
+CLRB #17
+CLRB #18
+CLRB #19
+CLRB #1A
+CLRB #1B
+CLRB #1C
+CLRB #1D
+CLRB #1E
+CLRB #1F
+CLRB #20
+CLRB #21
+CLRB #22
+CLRB #23
+CLRB #24
+CLRB #25
+CLRB #26
+CLRB #27
+CLRB #28
+CLRB #29
+CLRB #2A
+CLRB #2B
+CLRB #2C
+CLRB #2D
+CLRB #2E
+CLRB #2F
+CLRB #30
+CLRB #31
+CLRB #32
+CLRB #33
+CLRB #34
+CLRB #35
+CLRB #36
+CLRB #37
+CLRB #38
+CLRB #39
+CLRB #3A
+CLRB #3B
+CLRB #3C
+CLRB #3D
+CLRB #3E
+CLRB #3F
+CLRB #2[R0]
+CLRB #2[R1]
+CLRB #2[R2]
+CLRB #2[R3]
+CLRB #2[R4]
+CLRB #2[R5]
+CLRB #2[R6]
+CLRB #2[R7]
+CLRB #2[R8]
+CLRB #2[R9]
+CLRB #2[R10]
+CLRB #2[R11]
+CLRB #2[AP]
+CLRB #2[FP]
+CLRB #2[SP]
+CLRB #2[PC]
+CLRB R0
+CLRB R1
+CLRB R2
+CLRB R3
+CLRB R4
+CLRB R5
+CLRB R6
+CLRB R7
+CLRB R8
+CLRB R9
+CLRB R10
+CLRB R11
+CLRB AP
+CLRB FP
+CLRB SP
+CLRB PC
+CLRB (R0)
+CLRB (R1)
+CLRB (R2)
+CLRB (R3)
+CLRB (R4)
+CLRB (R5)
+CLRB (R6)
+CLRB (R7)
+CLRB (R8)
+CLRB (R9)
+CLRB (R10)
+CLRB (R11)
+CLRB (AP)
+CLRB (FP)
+CLRB (SP)
+CLRB (PC)
+CLRB -(R0)
+CLRB -(R1)
+CLRB -(R2)
+CLRB -(R3)
+CLRB -(R4)
+CLRB -(R5)
+CLRB -(R6)
+CLRB -(R7)
+CLRB -(R8)
+CLRB -(R9)
+CLRB -(R10)
+CLRB -(R11)
+CLRB -(AP)
+CLRB -(FP)
+CLRB -(SP)
+CLRB -(PC)
+CLRB (R0)+
+CLRB (R1)+
+CLRB (R2)+
+CLRB (R3)+
+CLRB (R4)+
+CLRB (R5)+
+CLRB (R6)+
+CLRB (R7)+
+CLRB (R8)+
+CLRB (R9)+
+CLRB (R10)+
+CLRB (R11)+
+CLRB (AP)+
+CLRB (FP)+
+CLRB (SP)+
+CLRB #2
+CLRB @(R0)+
+CLRB @(R1)+
+CLRB @(R2)+
+CLRB @(R3)+
+CLRB @(R4)+
+CLRB @(R5)+
+CLRB @(R6)+
+CLRB @(R7)+
+CLRB @(R8)+
+CLRB @(R9)+
+CLRB @(R10)+
+CLRB @(R11)+
+CLRB @(AP)+
+CLRB @(FP)+
+CLRB @(SP)+
+CLRB @#5040302
+CLRB 2(R0)
+CLRB 2(R1)
+CLRB 2(R2)
+CLRB 2(R3)
+CLRB 2(R4)
+CLRB 2(R5)
+CLRB 2(R6)
+CLRB 2(R7)
+CLRB 2(R8)
+CLRB 2(R9)
+CLRB 2(R10)
+CLRB 2(R11)
+CLRB 2(AP)
+CLRB 2(FP)
+CLRB 2(SP)
+CLRB 5
+CLRB @2(R0)
+CLRB @2(R1)
+CLRB @2(R2)
+CLRB @2(R3)
+CLRB @2(R4)
+CLRB @2(R5)
+CLRB @2(R6)
+CLRB @2(R7)
+CLRB @2(R8)
+CLRB @2(R9)
+CLRB @2(R10)
+CLRB @2(R11)
+CLRB @2(AP)
+CLRB @2(FP)
+CLRB @2(SP)
+CLRB @5
+CLRB 302(R0)
+CLRB 302(R1)
+CLRB 302(R2)
+CLRB 302(R3)
+CLRB 302(R4)
+CLRB 302(R5)
+CLRB 302(R6)
+CLRB 302(R7)
+CLRB 302(R8)
+CLRB 302(R9)
+CLRB 302(R10)
+CLRB 302(R11)
+CLRB 302(AP)
+CLRB 302(FP)
+CLRB 302(SP)
+CLRB 306
+CLRB @302(R0)
+CLRB @302(R1)
+CLRB @302(R2)
+CLRB @302(R3)
+CLRB @302(R4)
+CLRB @302(R5)
+CLRB @302(R6)
+CLRB @302(R7)
+CLRB @302(R8)
+CLRB @302(R9)
+CLRB @302(R10)
+CLRB @302(R11)
+CLRB @302(AP)
+CLRB @302(FP)
+CLRB @302(SP)
+CLRB @306
+CLRB 5040302(R0)
+CLRB 5040302(R1)
+CLRB 5040302(R2)
+CLRB 5040302(R3)
+CLRB 5040302(R4)
+CLRB 5040302(R5)
+CLRB 5040302(R6)
+CLRB 5040302(R7)
+CLRB 5040302(R8)
+CLRB 5040302(R9)
+CLRB 5040302(R10)
+CLRB 5040302(R11)
+CLRB 5040302(AP)
+CLRB 5040302(FP)
+CLRB 5040302(SP)
+CLRB 5040308
+CLRB @5040302(R0)
+CLRB @5040302(R1)
+CLRB @5040302(R2)
+CLRB @5040302(R3)
+CLRB @5040302(R4)
+CLRB @5040302(R5)
+CLRB @5040302(R6)
+CLRB @5040302(R7)
+CLRB @5040302(R8)
+CLRB @5040302(R9)
+CLRB @5040302(R10)
+CLRB @5040302(R11)
+CLRB @5040302(AP)
+CLRB @5040302(FP)
+CLRB @5040302(SP)
+CLRB @5040308
+
+opcodes
+HALT
+NOP
+REI
+BPT
+RET
+RSB
+LDPCTX
+SVPCTX
+CVTPS #1,#2,#3,#4
+CVTSP #1,#2,#3,#4
+INDEX #1,#2,#3,#4,#5,#6
+CRC #1,#2,#3,#4
+PROBER #1,#2,#3
+PROBEW #1,#2,#3
+INSQUE #1,#2
+REMQUE #1,#2
+BSBB 3
+BRB 3
+BNEQ 3
+BEQL 3
+BGTR 3
+BLEQ 3
+JSB #1
+JMP #1
+BGEQ 3
+BLSS 3
+BGTRU 3
+BLEQU 3
+BVC 3
+BVS 3
+BGEQU 3
+BLSSU 3
+ADDP4 #1,#2,#3,#4
+ADDP6 #1,#2,#3,#4,#5,#6
+SUBP4 #1,#2,#3,#4
+SUBP6 #1,#2,#3,#4,#5,#6
+CVTPT #1,#2,#3,#4,#5
+MULP #1,#2,#3,#4,#5,#6
+CVTTP #1,#2,#3,#4,#5
+DIVP #1,#2,#3,#4,#5,#6
+MOVC3 #1,#2,#3
+CMPC3 #1,#2,#3
+SCANC #1,#2,#3,#4
+SPANC #1,#2,#3,#4
+MOVC5 #1,#2,#3,#4,#5
+CMPC5 #1,#2,#3,#4,#5
+MOVTC #1,#2,#3,#4,#5,#6
+MOVTUC #1,#2,#3,#4,#5,#6
+BSBW 204
+BRW 204
+CVTWL #1,#2
+CVTWB #1,#2
+MOVP #1,#2,#3
+CMPP3 #1,#2,#3
+CVTPL #1,#2,#3
+CMPP4 #1,#2,#3,#4
+EDITPC #1,#2,#3,#4
+MATCHC #1,#2,#3,#4
+LOCC #1,#2,#3
+SKPC #1,#2,#3
+MOVZWL #1,#2
+ACBW #1,#2,#3,50A
+MOVAW #1,#2
+PUSHAW #1
+ADDF2 #1,#2
+ADDF3 #1,#2,#3
+SUBF2 #1,#2
+SUBF3 #1,#2,#3
+MULF2 #1,#2
+MULF3 #1,#2,#3
+DIVF2 #1,#2
+DIVF3 #1,#2,#3
+CVTFB #1,#2
+CVTFW #1,#2
+CVTFL #1,#2
+CVTRFL #1,#2
+CVTBF #1,#2
+CVTWF #1,#2
+CVTLF #1,#2
+ACBF #1,#2,#3,50A
+MOVF #1,#2
+CMPF #1,#2
+MNEGF #1,#2
+TSTF #1
+EMODF #1,#2,#3,#4,#5
+POLYF #1,#2,#3
+CVTFD #1,#2
+.BYTE 57
+ADAWI #1,#2
+.BYTE 59
+.BYTE 5A
+.BYTE 5B
+INSQHI #1,#2
+INSQTI #1,#2
+REMQHI #1,#2
+REMQTI #1,#2
+ADDD2 #1,#2
+ADDD3 #1,#2,#3
+SUBD2 #1,#2
+SUBD3 #1,#2,#3
+MULD2 #1,#2
+MULD3 #1,#2,#3
+DIVD2 #1,#2
+DIVD3 #1,#2,#3
+CVTDB #1,#2
+CVTDW #1,#2
+CVTDL #1,#2
+CVTRDL #1,#2
+CVTBD #1,#2
+CVTWD #1,#2
+CVTLD #1,#2
+ACBD #1,#2,#3,50A
+MOVD #1,#2
+CMPD #1,#2
+MNEGD #1,#2
+TSTD #1
+EMODD #1,#2,#3,#4,#5
+POLYD #1,#2,#3
+CVTDF #1,#2
+.BYTE 77
+ASHL #1,#2,#3
+ASHQ #1,#2,#3
+EMUL #1,#2,#3,#4
+EDIV #1,#2,#3,#4
+CLRQ #1
+MOVQ #1,#2
+MOVAQ #1,#2
+PUSHAQ #1
+ADDB2 #1,#2
+ADDB3 #1,#2,#3
+SUBB2 #1,#2
+SUBB3 #1,#2,#3
+MULB2 #1,#2
+MULB3 #1,#2,#3
+DIVB2 #1,#2
+DIVB3 #1,#2,#3
+BISB2 #1,#2
+BISB3 #1,#2,#3
+BICB2 #1,#2
+BICB3 #1,#2,#3
+XORB2 #1,#2
+XORB3 #1,#2,#3
+MNEGB #1,#2
+CASEB #1,#2,#3
+MOVB #1,#2
+CMPB #1,#2
+MCOMB #1,#2
+BITB #1,#2
+CLRB #1
+TSTB #1
+INCB #1
+DECB #1
+CVTBL #1,#2
+CVTBW #1,#2
+MOVZBL #1,#2
+MOVZBW #1,#2
+ROTL #1,#2,#3
+ACBB #1,#2,#3,50A
+MOVAB #1,#2
+PUSHAB #1
+ADDW2 #1,#2
+ADDW3 #1,#2,#3
+SUBW2 #1,#2
+SUBW3 #1,#2,#3
+MULW2 #1,#2
+MULW3 #1,#2,#3
+DIVW2 #1,#2
+DIVW3 #1,#2,#3
+BISW2 #1,#2
+BISW3 #1,#2,#3
+BICW2 #1,#2
+BICW3 #1,#2,#3
+XORW2 #1,#2
+XORW3 #1,#2,#3
+MNEGW #1,#2
+CASEW #1,#2,#3
+MOVW #1,#2
+CMPW #1,#2
+MCOMW #1,#2
+BITW #1,#2
+CLRW #1
+TSTW #1
+INCW #1
+DECW #1
+BISPSW #1
+BICPSW #1
+POPR #1
+PUSHR #1
+CHMK #1
+CHME #1
+CHMS #1
+CHMU #1
+ADDL2 #1,#2
+ADDL3 #1,#2,#3
+SUBL2 #1,#2
+SUBL3 #1,#2,#3
+MULL2 #1,#2
+MULL3 #1,#2,#3
+DIVL2 #1,#2
+DIVL3 #1,#2,#3
+BISL2 #1,#2
+BISL3 #1,#2,#3
+BICL2 #1,#2
+BICL3 #1,#2,#3
+XORL2 #1,#2
+XORL3 #1,#2,#3
+MNEGL #1,#2
+CASEL #1,#2,#3
+MOVL #1,#2
+CMPL #1,#2
+MCOML #1,#2
+BITL #1,#2
+CLRL #1
+TSTL #1
+INCL #1
+DECL #1
+ADWC #1,#2
+SBWC #1,#2
+MTPR #1,#2
+MFPR #1,#2
+MOVPSL #1
+PUSHL #1
+MOVAL #1,#2
+PUSHAL #1
+BBS #1,#2,7
+BBC #1,#2,7
+BBSS #1,#2,7
+BBCS #1,#2,7
+BBSC #1,#2,7
+BBCC #1,#2,7
+BBSSI #1,#2,7
+BBCCI #1,#2,7
+BLBS #1,5
+BLBC #1,5
+FFS #1,#2,#3,#4
+FFC #1,#2,#3,#4
+CMPV #1,#2,#3,#4
+CMPZV #1,#2,#3,#4
+EXTV #1,#2,#3,#4
+EXTZV #1,#2,#3,#4
+INSV #1,#2,#3,#4
+ACBL #1,#2,#3,50A
+AOBLSS #1,#2,7
+AOBLEQ #1,#2,7
+SOBGEQ #1,5
+SOBGTR #1,5
+CVTLB #1,#2
+CVTLW #1,#2
+ASHP #1,#2,#3,#4,#5,#6
+CVTLP #1,#2,#3
+CALLG #1,#2
+CALLS #1,#2
+XFC
+.BYTE FD
+.BYTE FE
+.BYTE FF
+
+opcodes fd
+.BYTE FD,0
+.BYTE FD,1
+.BYTE FD,2
+.BYTE FD,3
+.BYTE FD,4
+.BYTE FD,5
+.BYTE FD,6
+.BYTE FD,7
+.BYTE FD,8
+.BYTE FD,9
+.BYTE FD,A
+.BYTE FD,B
+.BYTE FD,C
+.BYTE FD,D
+.BYTE FD,E
+.BYTE FD,F
+.BYTE FD,10
+.BYTE FD,11
+.BYTE FD,12
+.BYTE FD,13
+.BYTE FD,14
+.BYTE FD,15
+.BYTE FD,16
+.BYTE FD,17
+.BYTE FD,18
+.BYTE FD,19
+.BYTE FD,1A
+.BYTE FD,1B
+.BYTE FD,1C
+.BYTE FD,1D
+.BYTE FD,1E
+.BYTE FD,1F
+.BYTE FD,20
+.BYTE FD,21
+.BYTE FD,22
+.BYTE FD,23
+.BYTE FD,24
+.BYTE FD,25
+.BYTE FD,26
+.BYTE FD,27
+.BYTE FD,28
+.BYTE FD,29
+.BYTE FD,2A
+.BYTE FD,2B
+.BYTE FD,2C
+.BYTE FD,2D
+.BYTE FD,2E
+.BYTE FD,2F
+.BYTE FD,30
+.BYTE FD,31
+CVTDH #1,#2
+CVTGF #1,#2
+.BYTE FD,34
+.BYTE FD,35
+.BYTE FD,36
+.BYTE FD,37
+.BYTE FD,38
+.BYTE FD,39
+.BYTE FD,3A
+.BYTE FD,3B
+.BYTE FD,3C
+.BYTE FD,3D
+.BYTE FD,3E
+.BYTE FD,3F
+ADDG2 #1,#2
+ADDG3 #1,#2,#3
+SUBG2 #1,#2
+SUBG3 #1,#2,#3
+MULG2 #1,#2
+MULG3 #1,#2,#3
+DIVG2 #1,#2
+DIVG3 #1,#2,#3
+CVTGB #1,#2
+CVTGW #1,#2
+CVTGL #1,#2
+CVTRGL #1,#2
+CVTBG #1,#2
+CVTWG #1,#2
+CVTLG #1,#2
+ACBG #1,#2,#3,50B
+MOVG #1,#2
+CMPG #1,#2
+MNEGG #1,#2
+TSTG #1
+EMODG #1,#2,#3,#4,#5
+POLYG #1,#2,#3
+CVTGH #1,#2
+.BYTE FD,57
+.BYTE FD,58
+.BYTE FD,59
+.BYTE FD,5A
+.BYTE FD,5B
+.BYTE FD,5C
+.BYTE FD,5D
+.BYTE FD,5E
+.BYTE FD,5F
+ADDH2 #1,#2
+ADDH3 #1,#2,#3
+SUBH2 #1,#2
+SUBH3 #1,#2,#3
+MULH2 #1,#2
+MULH3 #1,#2,#3
+DIVH2 #1,#2
+DIVH3 #1,#2,#3
+CVTHB #1,#2
+CVTHW #1,#2
+CVTHL #1,#2
+CVTRHL #1,#2
+CVTBH #1,#2
+CVTWH #1,#2
+CVTLH #1,#2
+ACBH #1,#2,#3,50B
+MOVH #1,#2
+CMPH #1,#2
+MNEGH #1,#2
+TSTH #1
+EMODH #1,#2,#3,#4,#5
+POLYH #1,#2,#3
+CVTHG #1,#2
+.BYTE FD,77
+.BYTE FD,78
+.BYTE FD,79
+.BYTE FD,7A
+.BYTE FD,7B
+CLRO #1
+MOVO #1,#2
+MOVAO #1,#2
+PUSHAO #1
+.BYTE FD,80
+.BYTE FD,81
+.BYTE FD,82
+.BYTE FD,83
+.BYTE FD,84
+.BYTE FD,85
+.BYTE FD,86
+.BYTE FD,87
+.BYTE FD,88
+.BYTE FD,89
+.BYTE FD,8A
+.BYTE FD,8B
+.BYTE FD,8C
+.BYTE FD,8D
+.BYTE FD,8E
+.BYTE FD,8F
+.BYTE FD,90
+.BYTE FD,91
+.BYTE FD,92
+.BYTE FD,93
+.BYTE FD,94
+.BYTE FD,95
+.BYTE FD,96
+.BYTE FD,97
+CVTFH #1,#2
+CVTFG #1,#2
+.BYTE FD,9A
+.BYTE FD,9B
+.BYTE FD,9C
+.BYTE FD,9D
+.BYTE FD,9E
+.BYTE FD,9F
+.BYTE FD,A0
+.BYTE FD,A1
+.BYTE FD,A2
+.BYTE FD,A3
+.BYTE FD,A4
+.BYTE FD,A5
+.BYTE FD,A6
+.BYTE FD,A7
+.BYTE FD,A8
+.BYTE FD,A9
+.BYTE FD,AA
+.BYTE FD,AB
+.BYTE FD,AC
+.BYTE FD,AD
+.BYTE FD,AE
+.BYTE FD,AF
+.BYTE FD,B0
+.BYTE FD,B1
+.BYTE FD,B2
+.BYTE FD,B3
+.BYTE FD,B4
+.BYTE FD,B5
+.BYTE FD,B6
+.BYTE FD,B7
+.BYTE FD,B8
+.BYTE FD,B9
+.BYTE FD,BA
+.BYTE FD,BB
+.BYTE FD,BC
+.BYTE FD,BD
+.BYTE FD,BE
+.BYTE FD,BF
+.BYTE FD,C0
+.BYTE FD,C1
+.BYTE FD,C2
+.BYTE FD,C3
+.BYTE FD,C4
+.BYTE FD,C5
+.BYTE FD,C6
+.BYTE FD,C7
+.BYTE FD,C8
+.BYTE FD,C9
+.BYTE FD,CA
+.BYTE FD,CB
+.BYTE FD,CC
+.BYTE FD,CD
+.BYTE FD,CE
+.BYTE FD,CF
+.BYTE FD,D0
+.BYTE FD,D1
+.BYTE FD,D2
+.BYTE FD,D3
+.BYTE FD,D4
+.BYTE FD,D5
+.BYTE FD,D6
+.BYTE FD,D7
+.BYTE FD,D8
+.BYTE FD,D9
+.BYTE FD,DA
+.BYTE FD,DB
+.BYTE FD,DC
+.BYTE FD,DD
+.BYTE FD,DE
+.BYTE FD,DF
+.BYTE FD,E0
+.BYTE FD,E1
+.BYTE FD,E2
+.BYTE FD,E3
+.BYTE FD,E4
+.BYTE FD,E5
+.BYTE FD,E6
+.BYTE FD,E7
+.BYTE FD,E8
+.BYTE FD,E9
+.BYTE FD,EA
+.BYTE FD,EB
+.BYTE FD,EC
+.BYTE FD,ED
+.BYTE FD,EE
+.BYTE FD,EF
+.BYTE FD,F0
+.BYTE FD,F1
+.BYTE FD,F2
+.BYTE FD,F3
+.BYTE FD,F4
+.BYTE FD,F5
+CVTHF #1,#2
+CVTHD #1,#2
+.BYTE FD,F8
+.BYTE FD,F9
+.BYTE FD,FA
+.BYTE FD,FB
+.BYTE FD,FC
+.BYTE FD,FD
+.BYTE FD,FE
+.BYTE FD,FF
+
diff --git a/simh b/simh
index d1e6071..cdcce99 160000 (submodule)
--- a/simh
+++ b/simh
@@ -1 +1 @@
-Subproject commit d1e607188c053cba9b0e36a1ad409a9ef8c734aa
+Subproject commit cdcce99814c50f5898d6d5671f7ba32ef88c17de