;**************************************** ; * ; MODULA-2 Operating System Interface * ; *********************************** * ; * ; VAX/VMS Implementation * ; * ; * ; OpcodeTable: * ; * ; Definitions of the VAX-11 * ; instruction set, in terms of the * ; opcode mnemonics and their * ; operand types. * ; To this macro file belongs * ; the definition file OPCODETAB.DEF * ; which exports the tables * ; initialized below. * ; * ; Version 3.1 of 1-FEB-1983 * ; * ;***************************************) ;**************************************** ; Updates: * ;***************************************) .TITLE OPCODETABLE .IDENT /V3.1/ $LIBDCFDEF OPCTAB::.BLKB 16*256 ; Standard opcodes XFCTAB::.BLKB 16*256 ; Extended opcodes ESCD .MACRO OPCDEF CODE,NAME,P1,P2,P3,P4,P5,P6 .IF LE -255 .=16*+OPCTAB .IF_FALSE .=16*</^X100>+XFCTAB .ENDC .ASCII /NAME/ .NCHR LENGTH, .REPEAT 6-LENGTH .BYTE 0 .ENDR .NARG NARG .BYTE NARG-2 .IRP ARG, .IF NOT_BLANK ARG .BYTE LIB$K_DCFOPR_'ARG .IF_FALSE .MEXIT .ENDC .ENDR .ENDM OPCDEF .MACRO OPC23 CODE,NAME,P1 OPCDEF ,NAME'2,R'P1,M'P1 .IF LE -255 OPCDEF ,NAME'3,R'P1,R'P1,W'P1 .IF_FALSE OPCDEF ,NAME'3,R'P1,R'P1,W'P1 .ENDC .ENDM OPC23 .MACRO OPCALL CODE,NAME OPC23 ,NAME'B,B OPC23 ,NAME'W,W OPC23 ,NAME'L,L OPC23 ,NAME'F,F OPC23 ,NAME'D,D OPC23 <*^X100+^XFD>,NAME'G,G OPC23 <*^X100+^XFD>,NAME'H,H .ENDM OPCALL .MACRO OPCLOG CODE,NAME OPC23 ,NAME'B,B OPC23 ,NAME'W,W OPC23 ,NAME'L,L .ENDM OPCLOG .MACRO OPC1 CODE,NAME,P1 OPCDEF ,NAME'B,P1'B .IF LE OPCDEF ,NAME'W,P1'W .IF_FALSE OPCDEF ,NAME'W,P1'W .ENDC OPCDEF ,NAME'L,P1'L .ENDM OPC1 .MACRO OPC1Q CODE,NAME,P1 OPC1 ,NAME,P1 OPCDEF ,NAME'Q,P1'Q OPCDEF <*^X100+^XFD>,NAME'O,P1'O .ENDM OPC1Q .MACRO OPCFLT1 CODE,NAME,P1 OPCDEF ,NAME'F,P1'F OPCDEF ,NAME'D,P1'D OPCDEF ,NAME'G,P1'G OPCDEF <*^X100+^XFD>,NAME'H,P1'H .ENDM OPCFLT1 .MACRO OPC2 CODE,NAME,P1,P2 OPCDEF ,NAME'B,P1'B,P2'B .IF LE -^X19 OPCDEF ,NAME'W,P1'W,P2'W .IF_FALSE OPCDEF ,NAME'W,P1'W,P2'W .ENDC OPCDEF ,NAME'L,P1'L,P2'L .ENDM OPC2 .MACRO OPCFLT2 CODE,NAME,P1,P2 OPCDEF ,NAME'F,P1'F,P2'F OPCDEF ,NAME'D,P1'D,P2'D OPCDEF ,NAME'G,P1'G,P2'G OPCDEF <*^X100+^XFD>,NAME'H,P1'H,P2'H .ENDM OPCFLT2 OPCALL <^X00>,ADD OPCALL <^X02>,SUB OPCALL <^X04>,MUL OPCALL <^X06>,DIV OPCLOG <^X08>,BIS OPCLOG <^X0A>,BIC OPCLOG <^X0C>,XOR OPC1 <^X14>,CLR,W OPC1 <^X15>,TST,R OPCFLT1 <^X53>,TST,R OPC1 <^X16>,INC,M OPC1 <^X17>,DEC,M OPC1Q <^X1F>,PUSHA,A OPC2 <^X0E>,MNEG,R,W OPCFLT2 <^X52>,MNEG,R,W OPC2 <^X10>,MOV,R,W OPCFLT2 <^X50>,MOV,R,W OPC2 <^X11>,CMP,R,R OPCFLT2 <^X51>,CMP,R,R OPC2 <^X12>,MCOM,R,W OPC2 <^X13>,BIT,R,R OPCDEF <^X00>,HALT OPCDEF <^X01>,NOP OPCDEF <^X02>,REI OPCDEF <^X03>,BPT OPCDEF <^X04>,RET OPCDEF <^X05>,RSB OPCDEF <^X06>,LPDCTX OPCDEF <^X07>,SVPCTX OPCDEF <^X08>,CVTPS,RW,AB,RW,AB OPCDEF <^X09>,CVTSP,RW,AB,RW,AB OPCDEF <^X0A>,INDEX,RL,RL,RL,RL,RL,WL OPCDEF <^X0B>,CRC,AB,RL,RW,AB OPCDEF <^X0C>,PROBER,RB,RW,AB OPCDEF <^X0D>,PROBEW,RB,RW,AB OPCDEF <^X0E>,INSQUE,AB,AB OPCDEF <^X0F>,REMQUE,AB,WL OPCDEF <^X10>,BSBB,BB OPCDEF <^X11>,BRB,BB OPCDEF <^X12>,BNEQ,BB OPCDEF <^X13>,BEQL,BB OPCDEF <^X14>,BGTR,BB OPCDEF <^X15>,BLEQ,BB OPCDEF <^X16>,JSB,AB OPCDEF <^X17>,JMP,AB OPCDEF <^X18>,BGEQ,BB OPCDEF <^X19>,BLSS,BB OPCDEF <^X1A>,BGTRU,BB OPCDEF <^X1B>,BLEQU,BB OPCDEF <^X1C>,BVC,BB OPCDEF <^X1D>,BVS,BB OPCDEF <^X1E>,BGEQU,BB OPCDEF <^X1F>,BLSSU,BB OPCDEF <^X20>,ADDP4,RW,AB,RW,AB OPCDEF <^X21>,ADDP6,RW,AB,RW,AB,RW,AB OPCDEF <^X22>,SUBP4,RW,AB,RW,AB OPCDEF <^X23>,SUBP6,RW,AB,RW,AB,RW,AB OPCDEF <^X24>,CVTPT,RW,AB,AB,RW,AB OPCDEF <^X25>,MULP,RW,AB,RW,AB,RW,AB OPCDEF <^X26>,CVTTP,RW,AB,AB,RW,AB OPCDEF <^X27>,DIVP,RW,AB,RW,AB,RW,AB OPCDEF <^X28>,MOVC3,RW,AB,AB OPCDEF <^X29>,CMPC3,RW,AB,AB OPCDEF <^X2A>,SCANC,RW,AB,AB,RB OPCDEF <^X2B>,SCANC,RW,AB,AB,RB OPCDEF <^X2C>,MOVC5,RW,AB,RB,RW,AB OPCDEF <^X2D>,CMPC5,RW,AB,RB,RW,AB OPCDEF <^X2E>,MOVTC,RW,AB,RB,AB,RW,AB OPCDEF <^X2F>,MOVTUC,RW,AB,RB,AB,RW,AB OPCDEF <^X30>,BSBW,BW OPCDEF <^X31>,BRW,BW OPCDEF <^X32>,CVTWL,RW,WL OPCDEF <^X33>,CVTWB,RW,WB OPCDEF <^X34>,MOVP,RW,AB,AB OPCDEF <^X35>,CMPP3,RW,AB,AB OPCDEF <^X36>,CVTPL,RW,AB,WL OPCDEF <^X37>,CMPP4,RW,AB,RW,AB OPCDEF <^X38>,EDITPC,RW,AB,AB,AB OPCDEF <^X39>,MATCHC,RW,AB,RW,AB OPCDEF <^X3A>,LOCC,RB,RW,AB OPCDEF <^X3B>,SKPC,RB,RW,AB OPCDEF <^X3C>,MOVZWL,RW,WL OPCDEF <^X3D>,ACBW,RW,RW,MW,BW OPCDEF <^X3E>,MOVAW,AW,WL OPCDEF <^X48>,CVTFB,RF,WB OPCDEF <^X49>,CVTFW,RF,WW OPCDEF <^X4A>,CVTFL,RF,WL OPCDEF <^X4B>,CVTRFL,RF,WL OPCDEF <^X4C>,CVTBF,RB,WF OPCDEF <^X4D>,CVTWF,RW,WF OPCDEF <^X4E>,CVTLF,RL,WF OPCDEF <^X4F>,ACBF,RF,RF,MF,BW OPCDEF <^X54>,EMODF,RF,RB,RF,WL,WF OPCDEF <^X55>,POLYF,RF,RW,AB OPCDEF <^X56>,CVTFD,RF,WD OPCDEF <^X57>,RES057 OPCDEF <^X58>,ADAWI,RW,MW OPCDEF <^X59>,RES059 OPCDEF <^X5A>,RES05A OPCDEF <^X5B>,RES05B OPCDEF <^X5C>,INSQHI,AB,AQ OPCDEF <^X5D>,INSQTI,AB,AQ OPCDEF <^X5E>,REMQHI,AQ,WL OPCDEF <^X5F>,REMQTI,AQ,WL OPCDEF <^X68>,CVTDB,RD,WB OPCDEF <^X69>,CVTDW,RD,WW OPCDEF <^X6A>,CVTDL,RD,WL OPCDEF <^X6B>,CVTRDL,RD,WL OPCDEF <^X6C>,CVTBD,RB,WD OPCDEF <^X6D>,CVTWD,RW,WD OPCDEF <^X6E>,CVTLD,RL,WD OPCDEF <^X6F>,ACBD,RD,RD,MD,BW OPCDEF <^X74>,EMODD,RD,RB,RD,WL,WD OPCDEF <^X75>,POLYD,RD,RW,AB OPCDEF <^X76>,CVTDF,RD,WF OPCDEF <^X77>,RES77 OPCDEF <^X78>,ASHL,RB,RL,WL OPCDEF <^X79>,ASHQ,RB,RQ,WQ OPCDEF <^X7A>,EMUL,RL,RL,RL,WQ OPCDEF <^X7B>,EDIV,RL,RQ,WL,WL OPCDEF <^X7C>,CLRQ,WQ OPCDEF <^X7D>,MOVQ,RQ,WQ OPCDEF <^X7E>,MOVAQ,AQ,WL OPCDEF <^X8F>,CASEB,RB,RB,RB OPCDEF <^X98>,CVTBL,RB,WL OPCDEF <^X99>,CVTBW,RB,WW OPCDEF <^X9A>,MOVZBL,RB,WL OPCDEF <^X9B>,MOVZBW,RB,WW OPCDEF <^X9C>,ROTL,RB,RL,WL OPCDEF <^X9E>,MOVAB,AB,WL OPCDEF <^X9D>,ACBB,RB,RB,MB,BW OPCDEF <^XAF>,CASEW,RW,RW,RW OPCDEF <^XB8>,BISPSW,RW OPCDEF <^XB9>,BICPSW,RW OPCDEF <^XBA>,POPR,RW OPCDEF <^XBB>,PUSHR,RW OPCDEF <^XBC>,CHMK,RW OPCDEF <^XBD>,CHME,RW OPCDEF <^XBE>,CHMS,RW OPCDEF <^XBF>,CHMU,RW OPCDEF <^XCF>,CASEL,RL,RL,RL OPCDEF <^XD8>,ADWC,RL,ML OPCDEF <^XD9>,SBWC,RL,ML OPCDEF <^XDA>,MTPR,RL,RL OPCDEF <^XDB>,MFPR,RL,WL OPCDEF <^XDC>,MOVPSL,WL OPCDEF <^XDD>,PUSHL,RL OPCDEF <^XDE>,MOVAL,AL,WL OPCDEF <^XE0>,BBS,RL,VB,BB OPCDEF <^XE1>,BBC,RL,VB,BB OPCDEF <^XE2>,BBSS,RL,VB,BB OPCDEF <^XE3>,BBCS,RL,VB,BB OPCDEF <^XE4>,BBSC,RL,VB,BB OPCDEF <^XE5>,BBCC,RL,VB,BB OPCDEF <^XE6>,BBSSI,RL,VB,BB OPCDEF <^XE7>,BBCCI,RL,VB,BB OPCDEF <^XE8>,BLBS,RL,BB OPCDEF <^XE9>,BLBC,RL,BB OPCDEF <^XEA>,FFS,RL,RB,VB,WL OPCDEF <^XEB>,FFC,RL,RB,VB,WL OPCDEF <^XEC>,CMPV,RL,RB,VB,WL OPCDEF <^XED>,CMPZV,RL,RB,VB,WL OPCDEF <^XEE>,EXTV,RL,RB,VB,WL OPCDEF <^XEF>,EXTZV,RL,RB,VB,WL OPCDEF <^XF0>,INSV,RL,RL,RB,VB OPCDEF <^XF1>,ACBL,RL,RL,ML,BW OPCDEF <^XF2>,AOBLSS,RL,ML,BB OPCDEF <^XF3>,AOBLEQ,RL,ML,BB OPCDEF <^XF4>,SOBGEQ,ML,BB OPCDEF <^XF5>,SOBGTR,ML,BB OPCDEF <^XF6>,CVTLB,RL,WB OPCDEF <^XF7>,CVTLW,RL,WW OPCDEF <^XF8>,ASHP,RB,RW,AB,RB,RW,AB OPCDEF <^XF9>,CVTLP,RL,RW,AB OPCDEF <^XFA>,CALLG,AB,AB OPCDEF <^XFB>,CALLS,RL,AB OPCDEF <^XFC>,XFC OPCDEF <^XFD>,ESCD OPCDEF <^XFE>,ESCE OPCDEF <^XFF>,ESCF OPCDEF <^X32FD>,CVTDH,RD,WH OPCDEF <^X33FD>,CVTGF,RG,WF OPCDEF <^X48FD>,CVTGB,RG,WB OPCDEF <^X49FD>,CVTGW,RG,WW OPCDEF <^X4AFD>,CVTGL,RG,WL OPCDEF <^X4BFD>,CVTRGL,RG,WL OPCDEF <^X4CFD>,CVTBG,RB,WG OPCDEF <^X4DFD>,CVTWG,RW,WG OPCDEF <^X4EFD>,CVTLG,RL,WG OPCDEF <^X4FFD>,ACBG,RG,RG,MG,BW OPCDEF <^X54FD>,EMODG,RG,RW,RG,WL,WG OPCDEF <^X55FD>,POLYG,RG,RW,AB OPCDEF <^X56FD>,CVTGH,RG,WH OPCDEF <^X68FD>,CVTHB,RH,WB OPCDEF <^X69FD>,CVTHW,RH,WW OPCDEF <^X6AFD>,CVTHL,RH,WL OPCDEF <^X6BFD>,CVTRHL,RH,WL OPCDEF <^X6CFD>,CVTBH,RB,WH OPCDEF <^X6DFD>,CVTWH,RW,WH OPCDEF <^X6EFD>,CVTLH,RL,WH OPCDEF <^X6FFD>,ACBD,RD,RD,MD,BW OPCDEF <^X74FD>,EMODH,RH,RW,RH,WL,WH OPCDEF <^X75FD>,POLYH,RH,RW,AB OPCDEF <^X76FD>,CVTHG,RH,WG OPCDEF <^X7CFD>,CLRO,WO OPCDEF <^X7DFD>,MOVO,RO,WO OPCDEF <^X7EFD>,MOVAO,AO,WL OPCDEF <^X98FD>,CVTFH,RF,WH OPCDEF <^X69FD>,CVTFG,RF,WG OPCDEF <^XF6FD>,CVTHF,RH,WF OPCDEF <^XF7FD>,CVTHD,RH,WD .END