Machine-Independent MDL for TOPS-20 and VAX.
[pdp10-muddle.git] / mim / development / mim / vaxc / defvax.mud
diff --git a/mim/development/mim/vaxc/defvax.mud b/mim/development/mim/vaxc/defvax.mud
new file mode 100644 (file)
index 0000000..d879fe6
--- /dev/null
@@ -0,0 +1,292 @@
+
+<INIT-OP-DEFS>
+
+<ADDRESS-MODES "RWMABV" "BWLOQFD">
+
+<DEFOP "ACBB"  *0235* ,OP-RB ,OP-RB ,OP-MB ,OP-BW>
+<DEFOP "ACBD"  *0157* ,OP-RD ,OP-RD ,OP-MD ,OP-BW>
+<DEFOP "ACBF"  *0117* ,OP-RF ,OP-RF ,OP-MF ,OP-BW>
+<DEFOP "ACBL"  *0361* ,OP-RL ,OP-RL ,OP-ML ,OP-BW>
+<DEFOP "ACBW"  *0075* ,OP-RW ,OP-RW ,OP-MW ,OP-BW>
+<DEFOP "ADAWI" *0130* ,OP-RW ,OP-MW>
+<DEFOP "ADDB2" *0200* ,OP-RB ,OP-MB>
+<DEFOP "ADDB3" *0201* ,OP-RB ,OP-RB ,OP-WB>
+<DEFOP "ADDD2" *0140* ,OP-RD ,OP-MD>
+<DEFOP "ADDD3" *0141* ,OP-RD ,OP-RD ,OP-WD> 
+<DEFOP "ADDF2" *0100* ,OP-RF ,OP-MF>
+<DEFOP "ADDF3" *0101* ,OP-RF ,OP-RF ,OP-WF>
+<DEFOP "ADDL2" *0300* ,OP-RL ,OP-ML>
+<DEFOP "ADDL3" *0301* ,OP-RL ,OP-RL ,OP-WL>
+<DEFOP "ADDP4" *0040*>
+<DEFOP "ADDP6" *0041*>
+<DEFOP "ADDW2" *0240* ,OP-RW ,OP-MW>
+<DEFOP "ADDW3" *0241* ,OP-RW ,OP-RW ,OP-WW>
+<DEFOP "ADWC"  *0330* ,OP-RL ,OP-ML>
+<DEFOP "AOBLEQ"        *0363* ,OP-RL ,OP-ML ,OP-BB>
+<DEFOP "AOBLSS"        *0362* ,OP-RL ,OP-ML ,OP-BB>
+<DEFOP "ASHL"  *0170* ,OP-RB ,OP-RL ,OP-WL>
+<DEFOP "ASHP"  *0370*>
+<DEFOP "ASHQ"  *0171* ,OP-RB ,OP-RQ ,OP-WQ>
+<DEFOP "BBC"   *0341* ,OP-RL ,OP-VB ,OP-BB>
+<DEFOP "BBCC"  *0345* ,OP-RL ,OP-VB ,OP-BB>
+<DEFOP "BBCCI" *0347* ,OP-RL ,OP-VB ,OP-BB>
+<DEFOP "BBCS"  *0343* ,OP-RL ,OP-VB ,OP-BB>
+<DEFOP "BBS"   *0340* ,OP-RL ,OP-VB ,OP-BB>
+<DEFOP "BBSC"  *0344* ,OP-RL ,OP-VB ,OP-BB>
+<DEFOP "BBSS"  *0342* ,OP-RL ,OP-VB ,OP-BB>
+<DEFOP "BBSSI" *0346* ,OP-RL ,OP-VB ,OP-BB>
+<DEFOP "BCC"   *0036* ,OP-BB>
+<DEFOP "BCS"   *0037* ,OP-BB>
+<DEFOP "BEQL"  *0023* ,OP-BB>
+<DEFOP "BEQLU" *0023* ,OP-BB>
+<DEFOP "BGEQ"  *0030* ,OP-BB>
+<DEFOP "BGEQU" *0036* ,OP-BB>
+<DEFOP "BGTR"  *0024* ,OP-BB>
+<DEFOP "BGTRU" *0032* ,OP-BB>
+<DEFOP "BICB2" *0212* ,OP-RB ,OP-MB>
+<DEFOP "BICB3" *0213* ,OP-RB ,OP-RB ,OP-WB>
+<DEFOP "BICL2" *0312* ,OP-RL ,OP-ML>
+<DEFOP "BICL3" *0313* ,OP-RL ,OP-RL ,OP-WL>
+<DEFOP "BICPSW"        *0271*>
+<DEFOP "BICW2" *0252* ,OP-RW ,OP-MW>
+<DEFOP "BICW3" *0253* ,OP-RW ,OP-RW ,OP-WW>
+<DEFOP "BISB2" *0210* ,OP-RB ,OP-MB>
+<DEFOP "BISB3" *0211* ,OP-RB ,OP-RB ,OP-WB>
+<DEFOP "BISL2" *0310* ,OP-RL ,OP-ML>
+<DEFOP "BISL3" *0311* ,OP-RL ,OP-RL ,OP-WL>
+<DEFOP "BISPSW"        *0270*>
+<DEFOP "BISW2" *0250* ,OP-RW ,OP-MW>
+<DEFOP "BISW3" *0251* ,OP-RW ,OP-RW ,OP-WW>
+<DEFOP "BITB"  *0223* ,OP-RB ,OP-RB>
+<DEFOP "BITL"  *0323* ,OP-RL ,OP-RL>
+<DEFOP "BITW"  *0263* ,OP-RW ,OP-RW>
+<DEFOP "BLBC"  *0351* ,OP-RL ,OP-BB>
+<DEFOP "BLBS"  *0350* ,OP-RL ,OP-BB>
+<DEFOP "BLEQ"  *0025* ,OP-BB>
+<DEFOP "BLEQU" *0033* ,OP-BB>
+<DEFOP "BLSS"  *0031* ,OP-BB>
+<DEFOP "BLSSU" *0037* ,OP-BB>
+<DEFOP "BNEQ"  *0022* ,OP-BB>
+<DEFOP "BNEQU" *0022* ,OP-BB>
+<DEFOP "BPT"   *0003*>
+<DEFOP "BRB"   *0021* ,OP-BB>
+<DEFOP "BRW"   *0061* ,OP-BW>
+<DEFOP "BSBB"  *0020* ,OP-BB>
+<DEFOP "BSBW"  *0060* ,OP-BW>
+<DEFOP "BVC"   *0034* ,OP-BB>
+<DEFOP "BVS"   *0035* ,OP-BB>
+<DEFOP "CALLG" *0372*>
+<DEFOP "CALLS" *0373*>
+<DEFOP "CASEB" *0217* ,OP-RB ,OP-RB ,OP-RB>
+<DEFOP "CASEL" *0317* ,OP-RL ,OP-RL ,OP-RL>
+<DEFOP "CASEW" *0257* ,OP-RW ,OP-RW ,OP-RW>
+<DEFOP "CHMK"  *0274* ,OP-RW>
+<DEFOP "CHME"  *0275* ,OP-RW>
+<DEFOP "CHMS"  *0276* ,OP-RW>
+<DEFOP "CHMU"  *0277* ,OP-RW>
+<DEFOP "CLRB"  *0224* ,OP-WB>
+<DEFOP "CLRD"  *0174* ,OP-WD>
+<DEFOP "CLRF"  *0324* ,OP-WF>
+<DEFOP "CLRL"  *0324* ,OP-WL>
+<DEFOP "CLRQ"  *0174* ,OP-WQ>
+<DEFOP "CLRW"  *0264* ,OP-WW>
+<DEFOP "CMPB"  *0221* ,OP-RB ,OP-RB>
+<DEFOP "CMPC3" *0051* ,OP-RW ,OP-AB ,OP-AB>
+<DEFOP "CMPC5" *0055* ,OP-RW ,OP-AB ,OP-RB ,OP-RW ,OP-AB>
+<DEFOP "CMPD"  *0161* ,OP-RD ,OP-RD>
+<DEFOP "CMPF"  *0121* ,OP-RF ,OP-RF>
+<DEFOP "CMPL"  *0321* ,OP-RL ,OP-RL>
+<DEFOP "CMPP3" *0065*>
+<DEFOP "CMPP4" *0067*>
+<DEFOP "CMPV"  *0354*>
+<DEFOP "CMPW"  *0261* ,OP-RW ,OP-RW>
+<DEFOP "CMPZV" *0355*>
+<DEFOP "CRC"   *0013*>
+<DEFOP "CVTBD" *0154* ,OP-RB ,OP-WD>
+<DEFOP "CVTBF" *0114* ,OP-RB ,OP-WF>
+<DEFOP "CVTBL" *0230* ,OP-RB ,OP-WL>
+<DEFOP "CVTBW" *0231* ,OP-RB ,OP-WW>
+<DEFOP "CVTDB" *0150* ,OP-RD ,OP-WB>
+<DEFOP "CVTDF" *0166* ,OP-RD ,OP-WF>
+<DEFOP "CVTDL" *0152* ,OP-RD ,OP-WL>
+<DEFOP "CVTDW" *0151* ,OP-RD ,OP-WW>
+<DEFOP "CVTFB" *0110* ,OP-RF ,OP-WB>
+<DEFOP "CVTFD" *0126* ,OP-RF ,OP-WD>
+<DEFOP "CVTFL" *0112* ,OP-RF ,OP-WL>
+<DEFOP "CVTFW" *0111* ,OP-RF ,OP-WW>
+<DEFOP "CVTLB" *0366* ,OP-RL ,OP-WB>
+<DEFOP "CVTLD" *0156* ,OP-RL ,OP-WD>
+<DEFOP "CVTLF" *0116* ,OP-RL ,OP-WF>
+<DEFOP "CVTLP" *0371*>
+<DEFOP "CVTLW" *0367* ,OP-RL ,OP-WW>
+<DEFOP "CVTPL" *0066*>
+<DEFOP "CVTPS" *0010*>
+<DEFOP "CVTPT" *0044*>
+<DEFOP "CVTRDL"        *0153* ,OP-RD ,OP-WL>
+<DEFOP "CVTRFL"        *0113* ,OP-RF ,OP-WL>
+<DEFOP "CVTSP" *0011*>
+<DEFOP "CVTTP" *0046*>
+<DEFOP "CVTWB" *0063* ,OP-RW ,OP-WB>
+<DEFOP "CVTWD" *0155* ,OP-RW ,OP-WD>
+<DEFOP "CVTWF" *0115* ,OP-RW ,OP-WF>
+<DEFOP "CVTWL" *0062* ,OP-RW ,OP-WL>
+<DEFOP "DECB"  *0227* ,OP-MB>
+<DEFOP "DECL"  *0327* ,OP-ML>
+<DEFOP "DECW"  *0267* ,OP-MW>
+<DEFOP "DIVB2" *0206* ,OP-RB ,OP-MB>
+<DEFOP "DIVB3" *0207* ,OP-RB ,OP-RB ,OP-WB>
+<DEFOP "DIVD2" *0146* ,OP-RD ,OP-MD>
+<DEFOP "DIVD3" *0147* ,OP-RD ,OP-RD ,OP-WD>
+<DEFOP "DIVF2" *0106* ,OP-RF ,OP-MF>
+<DEFOP "DIVF3" *0107* ,OP-RF ,OP-RF ,OP-WF>
+<DEFOP "DIVL2" *0306* ,OP-RL ,OP-ML>
+<DEFOP "DIVL3" *0307* ,OP-RL ,OP-RL ,OP-WL>
+<DEFOP "DIVP"  *0047*>
+<DEFOP "DIVW2" *0246* ,OP-RW ,OP-MW>
+<DEFOP "DIVW3" *0247* ,OP-RW ,OP-RW ,OP-WW>
+<DEFOP "EDITPC"        *0070*>
+<DEFOP "EDIV"  *0173* ,OP-RL ,OP-RQ ,OP-WL ,OP-WL>
+<DEFOP "EMODD" *0164*>
+<DEFOP "EMODF" *0124*>
+<DEFOP "EMUL"  *0172* ,OP-RL ,OP-RL ,OP-RL ,OP-WQ>
+<DEFOP "EXTV"  *0356* ,OP-RL ,OP-RB ,OP-RB ,OP-WL>
+<DEFOP "EXTZV" *0357* ,OP-RL ,OP-RB ,OP-RB ,OP-WL>
+<DEFOP "FFC"   *0353* ,OP-RL ,OP-RB ,OP-RB ,OP-WL>
+<DEFOP "FFS"   *0352* ,OP-RL ,OP-RB ,OP-RB ,OP-WL>
+<DEFOP "HALT"  *0000*>
+<DEFOP "INCB"  *0226* ,OP-MB>
+<DEFOP "INCL"  *0326* ,OP-ML>
+<DEFOP "INCW"  *0266* ,OP-MW>
+<DEFOP "INDEX" *0012* ,OP-RL ,OP-RL ,OP-RL ,OP-RL ,OP-RL ,OP-WL>
+<DEFOP "INSQHI"        *0134*>
+<DEFOP "INSQTI"        *0135*>
+<DEFOP "INSQUE"        *0016*>
+<DEFOP "INSV"  *0360* ,OP-RL ,OP-RB ,OP-RB ,OP-ML>
+<DEFOP "JMP"   *0027* ,OP-AB>
+<DEFOP "JSB"   *0026* ,OP-AB>
+<DEFOP "LDPCTX"        *0006*>
+<DEFOP "LOCC"  *0072*>
+<DEFOP "MATCHC"        *0071*>
+<DEFOP "MCOMB" *0222* ,OP-RB ,OP-WB>
+<DEFOP "MCOML" *0322* ,OP-RL ,OP-WL>
+<DEFOP "MCOMW" *0262* ,OP-RW ,OP-WW>
+<DEFOP "MFPR"  *0333*>
+<DEFOP "MNEGB" *0216* ,OP-RB ,OP-WB>
+<DEFOP "MNEGD" *0162* ,OP-RD ,OP-WD>
+<DEFOP "MNEGF" *0122* ,OP-RF ,OP-WF>
+<DEFOP "MNEGL" *0316* ,OP-RL ,OP-WL>
+<DEFOP "MNEGW" *0256* ,OP-RW ,OP-WW>
+<DEFOP "MOVAB" *0236* ,OP-AB ,OP-WL>
+<DEFOP "MOVAD" *0176* ,OP-AD ,OP-WL>
+<DEFOP "MOVAF" *0336* ,OP-AF ,OP-WL>
+<DEFOP "MOVAL" *0336* ,OP-AL ,OP-WL>
+<DEFOP "MOVAQ" *0176* ,OP-AQ ,OP-WL>
+<DEFOP "MOVAW" *0076* ,OP-AW ,OP-WL>
+<DEFOP "MOVB"  *0220* ,OP-RB ,OP-WB>
+<DEFOP "MOVC3" *0050* ,OP-RW ,OP-AB ,OP-AB>
+<DEFOP "MOVC5" *0054* ,OP-RW ,OP-AB ,OP-RB ,OP-RW ,OP-AB>
+<DEFOP "MOVD"  *0160* ,OP-RD ,OP-WD>
+<DEFOP "MOVF"  *0120* ,OP-RF ,OP-WF>
+<DEFOP "MOVL"  *0320* ,OP-RL ,OP-WL>
+<DEFOP "MOVP"  *0064*>
+<DEFOP "MOVPSL"        *0334*>
+<DEFOP "MOVQ"  *0175* ,OP-RQ ,OP-WQ>
+<DEFOP "MOVTC" *0056*>
+<DEFOP "MOVTUC"        *0057*>
+<DEFOP "MOVW"  *0260* ,OP-RW ,OP-WW>
+<DEFOP "MOVZBL"        *0232* ,OP-RB ,OP-WL>
+<DEFOP "MOVZBW"        *0233* ,OP-RB ,OP-WW>
+<DEFOP "MOVZWL"        *0074* ,OP-RW ,OP-WL>
+<DEFOP "MTPR"  *0332*>
+<DEFOP "MULB2" *0204* ,OP-RB ,OP-MB>
+<DEFOP "MULB3" *0205* ,OP-RB ,OP-RB ,OP-WB>
+<DEFOP "MULD2" *0144* ,OP-RD ,OP-MD>
+<DEFOP "MULD3" *0145* ,OP-RD ,OP-RD ,OP-WD>
+<DEFOP "MULF2" *0104* ,OP-RF ,OP-MF>
+<DEFOP "MULF3" *0105* ,OP-RF ,OP-RF ,OP-WF>
+<DEFOP "MULL2" *0304* ,OP-RL ,OP-ML>
+<DEFOP "MULL3" *0305* ,OP-RL ,OP-RL ,OP-WL>
+<DEFOP "MULP"  *0045*>
+<DEFOP "MULW2" *0244* ,OP-RW ,OP-MW>
+<DEFOP "MULW3" *0245* ,OP-RW ,OP-RW ,OP-WW>
+<DEFOP "NOP"   *0001*>
+<DEFOP "POLYD" *0165*>
+<DEFOP "POLYF" *0125*>
+<DEFOP "POPR"  *0272* ,OP-RW>
+<DEFOP "PROBER"        *0014*>
+<DEFOP "PROBEW"        *0015*>
+<DEFOP "PUSHAB"        *0237* ,OP-AB>
+<DEFOP "PUSHAD"        *0177* ,OP-AD>
+<DEFOP "PUSHAF"        *0337* ,OP-AF>
+<DEFOP "PUSHAL"        *0337* ,OP-AL>
+<DEFOP "PUSHAQ"        *0177* ,OP-AQ>
+<DEFOP "PUSHAW"        *0077* ,OP-AW>
+<DEFOP "PUSHL" *0335* ,OP-RL>
+<DEFOP "PUSHR" *0273* ,OP-RW>
+<DEFOP "REI"   *0002*>
+<DEFOP "REMQHI"        *0136*>
+<DEFOP "REMQTI"        *0137*>
+<DEFOP "REMQUE"        *0017*>
+<DEFOP "RET"   *0004*>
+<DEFOP "ROTL"  *0234* ,OP-RB ,OP-RL ,OP-WL>
+<DEFOP "RSB"   *0005*>
+<DEFOP "SBWC"  *0331*>
+<DEFOP "SCANC" *0052*>
+<DEFOP "SKPC"  *0073*>
+<DEFOP "SOBGEQ"        *0364* ,OP-ML ,OP-BB>
+<DEFOP "SOBGTR"        *0365* ,OP-ML ,OP-BB>
+<DEFOP "SPANC" *0053*>
+<DEFOP "SUBB2" *0202* ,OP-RB ,OP-MB>
+<DEFOP "SUBB3" *0203* ,OP-RB ,OP-RB ,OP-WB>
+<DEFOP "SUBD2" *0142* ,OP-RD ,OP-MD>
+<DEFOP "SUBD3" *0143* ,OP-RD ,OP-RD ,OP-WD>
+<DEFOP "SUBF2" *0102* ,OP-RF ,OP-MF>
+<DEFOP "SUBF3" *0103* ,OP-RF ,OP-RF ,OP-WF>
+<DEFOP "SUBL2" *0302* ,OP-RL ,OP-ML>
+<DEFOP "SUBL3" *0303* ,OP-RL ,OP-RL ,OP-WL>
+<DEFOP "SUBP4" *0042*>
+<DEFOP "SUBP6" *0043*>
+<DEFOP "SUBW2" *0242* ,OP-RW ,OP-MW>
+<DEFOP "SUBW3" *0243* ,OP-RW ,OP-RW ,OP-WW>
+<DEFOP "SVPCTX"        *0007*>
+<DEFOP "TSTB"  *0225* ,OP-RB>
+<DEFOP "TSTD"  *0163* ,OP-RD>
+<DEFOP "TSTF"  *0123* ,OP-RF>
+<DEFOP "TSTL"  *0325* ,OP-RL>
+<DEFOP "TSTW"  *0265* ,OP-RW>
+<DEFOP "XFC"   *0374*>
+<DEFOP "XORB2" *0214* ,OP-RB ,OP-MB>
+<DEFOP "XORB3" *0215* ,OP-RB ,OP-RB ,OP-WB>
+<DEFOP "XORL2" *0314* ,OP-RL ,OP-ML>
+<DEFOP "XORL3" *0315* ,OP-RL ,OP-RL ,OP-WL>
+<DEFOP "XORW2" *0254* ,OP-RW ,OP-MW>
+<DEFOP "XORW3" *0255* ,OP-RW ,OP-RW ,OP-WW>
+
+;"The following aren't real instructions, they are just used by the
+  assembler to hold places."
+
+<DEFOP "PATCH" 87>
+
+<SETG INST-NULL ,INST-PATCH>
+
+<DEFOP "CALL" 89>
+
+<DEFOP "PSTORE" 90>
+
+<DEFOP "PUSHLAB" 91>
+
+<DEFOP "MOVELAB" 119>
+
+<SETG SPECIAL-OPS <UVECTOR ,INST-PATCH ,INST-CALL ,INST-PSTORE ,INST-PUSHLAB
+                   ,INST-MOVELAB>>
+
+<SETG BRANCH-INS <UVECTOR
+                 ,INST-BEQL ,INST-BGEQ ,INST-BGTR ,INST-BLBS ,INST-BLBC
+                  ,INST-BLEQ ,INST-BLSS ,INST-BNEQ ,INST-BRB ,INST-BRW
+                  ,INST-AOBLEQ ,INST-AOBLSS ,INST-SOBGEQ ,INST-SOBGTR
+                  ,INST-BLSSU ,INST-BLEQU ,INST-BGTRU ,INST-BGEQU>>
+
+
+<SETG CASE-INS <UVECTOR ,INST-CASEB ,INST-CASEW ,INST-CASEL>>
+
+<SETG MIM-CALLS <UVECTOR ,INST-JSB ,INST-JMP>>