$title ('CODEMACRO DEFINITIONS - PART 3') cmac3: do; /* modified 6/16/81 R. Silberstein */ $include (:f1:macro.lit) $include (:f1:cmacd.lit) $include (:f1:equals.lit) $include (:f1:cmac.lit) dcl /* MOV dst:Eb,src:Db */ mov1 cmac14struc data( nil,2, specE,modb,specD,modb, msegfix,dst, /* SEGFIX dst */ mdbn,0c6h, /* DB 0C6h */ mmodrm1,0,dst, /* MODRM 0,dst */ mdbf,src, /* DB src */ mendm), /* ENDM */ /* MOV dst:Ew,src:Db */ mov2 cmac14struc data( .mov1,2, specE,modw,specD,modb, msegfix,dst, /* SEGFIX dst */ mdbn,0c7h, /* DB 0C7h */ mmodrm1,0,dst, /* MODRM 0,dst */ mdwf,src, /* DW src */ mendm), /* ENDM */ /* MOV dst:Ew,src:Dw */ mov3 cmac14struc data( .mov2,2, specE,modw,specD,modw, msegfix,dst, /* SEGFIX dst */ mdbn,0c7h, /* DB 0C7h */ mmodrm1,0,dst, /* MODRM 0,dst */ mdwf,src, /* DW src */ mendm), /* ENDM */ /* MOV dst:Rb,src:Db */ mov4 cmac16struc data( .mov3,2, specR,modb,specD,modb, mdbit, /* DBIT 5(10110B),3(dst(0)) */ mnumberbits,5,16h, mformalbits,3,dst,0, mendbit, mdbf,src, /* DB src */ mendm), /* ENDM */ /* MOV dst:Rw,src:Db */ mov5 cmac16struc data( .mov4,2, specR,modw,specD,modb, mdbit, /* DBIT 5(10111B),3(dst(0)) */ mnumberbits,5,17h, mformalbits,3,dst,0, mendbit, mdwf,src, /* DW src */ mendm), /* ENDM */ /* MOV dst:Rw,src:Dw */ mov6 cmac16struc data( .mov5,2, specR,modw,specD,modw, mdbit, /* DBIT 5(10111B),3(dst(0)) */ mnumberbits,5,17h, mformalbits,3,dst,0, mendbit, mdwf,src, /* DW src */ mendm), /* ENDM */ /* MOV dst:Eb,src:Rb */ mov7 cmac12struc data( .mov6,2, specE,modb,specR,modb, msegfix,dst, /* SEGFIX dst */ mdbn,88h, /* DB 88H */ mmodrm2,src,dst, /* MODRM src,dst */ mendm), /* ENDM */ /* MOV dst:Ew,src:Rw */ mov8 cmac12struc data( .mov7,2, specE,modw,specR,modw, msegfix,dst, /* SEGFIX dst */ mdbn,89h, /* DB 89H */ mmodrm2,src,dst, /* MODRM src,dst */ mendm), /* ENDM */ /* MOV dst:Rb,src:Eb */ mov9 cmac12struc data( .mov8,2, specR,modb,specE,modb, msegfix,src, /* SEGFIX src */ mdbn,8ah, /* DB 8AH */ mmodrm2,dst,src, /* MODRM dst,src */ mendm), /* ENDM */ /* MOV dst:Rw,src:Ew */ mov10 cmac12struc data( .mov9,2, specR,modw,specE,modw, msegfix,src, /* SEGFIX src */ mdbn,8bh, /* DB 8BH */ mmodrm2,dst,src, /* MODRM dst,src */ mendm), /* ENDM */ /* MOV dst:Ew,src:S */ mov11 cmac12struc data( .mov10,2, specE,modw,specS,nomod, msegfix,dst, /* SEGFIX dst */ mdbn,8ch, /* DB 8CH */ mmodrm2,src,dst, /* MODRM src,dst */ mendm), /* ENDM */ /* MOV dst:Sd(ES),src:Ew */ mov12 cmac13struc data( .mov11,2, specS,modd+singlerange+registerrange,res, specE,modw, msegfix,src, /* SEGFIX src */ mdbn,8eh, /* DB 8EH */ mmodrm2,dst,src, /* MODRM dst,src */ mendm), /* ENDM */ /* MOV dst:Sd(SS,DS),src:Ew */ mov13 cmac14struc data( .mov12,2, specS,modd+doublerange+registerrange,rss,rds, specE,modw, msegfix,src, /* SEGFIX src */ mdbn,8eh, /* DB 8EH */ mmodrm2,dst,src, /* MODRM dst,src */ mendm), /* ENDM */ /* MOV dst:Ab,src:Xb */ mov14 cmac11struc data( .mov13,2, specA,modb,specX,modb, msegfix,src, /* SEGFIX src */ mdbn,0a0h, /* DB 0A0H */ mdwf,src, /* DW src */ mendm), /* ENDM */ /* MOV dst:Aw,src:Xw */ mov15 cmac11struc data( .mov14,2, specA,modw,specX,modw, msegfix,src, /* SEGFIX src */ mdbn,0a1h, /* DB 0A1H */ mdwf,src, /* DW src */ mendm), /* ENDM */ /* MOV dst:Xb,src:Ab */ mov16 cmac11struc data( .mov15,2, specX,modb,specA,modb, msegfix,dst, /* SEGFIX dst */ mdbn,0a2h, /* DB 0A2H */ mdwf,dst, /* DW dst */ mendm), /* ENDM */ /* MOV dst:Xw,src:Aw */ mov17 cmac11struc public data( .mov16,2, specX,modw,specA,modw, msegfix,dst, /* SEGFIX dst */ mdbn,0a3h, /* DB 0A3H */ mdwf,dst, /* DW dst */ mendm), /* ENDM */ /* MOVS SI$ptr:Eb,DI$ptr:Eb */ movs1 cmac12struc data( nil,2, specE,modb,specE,modb, mnosegfix,res,si$ptr, /* NOSEGFIX ES,SI$ptr */ msegfix,di$ptr, /* SEGFIX DI$ptr */ mdbn,0a4h, /* DB 0A4H */ mendm), /* ENDM */ /* MOVS SI$ptr:Ew,DI$ptr:Ew */ movs2 cmac12struc public data( .movs1,2, specE,modw,specE,modw, mnosegfix,res,si$ptr, /* NOSEGFIX ES,SI$ptr */ msegfix,di$ptr, /* SEGFIX DI$ptr */ mdbn,0a5h, /* DB 0A5H */ mendm), /* ENDM */ /* MOVSB */ MOVSB1 CMAC3STRUC PUBLIC DATA( NIL,0, MDBN,0A4H, MENDM), /* MOVSW */ MOVSW1 CMAC3STRUC PUBLIC DATA( NIL,0, MDBN,0A5H, MENDM), /* MUL mplier:Eb */ mul1 cmac10struc data( nil,1, specE,modb, msegfix,mplier, /* SEGFIX mplier */ mdbn,0f6h, /* DB 0F6H */ mmodrm1,4,mplier, /* MODRM 4,mplier */ mendm), /* ENDM */ /* MUL mplier:Ew */ mul2 cmac10struc public data( .mul1,1, specE,modw, msegfix,mplier, /* SEGFIX mplier */ mdbn,0f7h, /* DB 0F7H */ mmodrm1,4,mplier, /* MODRM 4,mplier */ mendm), /* ENDM */ /* NEG dst:Eb */ neg1 cmac10struc data( nil,1, specE,modb, msegfix,dst, /* SEGFIX dst */ mdbn,0f6h, /* DB 0F6H */ mmodrm1,3,dst, /* MODRM 3,dst */ mendm), /* ENDM */ /* NEG dst:Ew */ neg2 cmac10struc public data( .neg1,1, specE,modw, msegfix,dst, /* SEGFIX dst */ mdbn,0f7h, /* DB 0F7H */ mmodrm1,3,dst, /* MODRM 3,dst */ mendm), /* ENDM */ /* NOP */ nop1 cmac3struc public data( nil,0, mdbn,90h, /* DB 90H */ mendm), /* ENDM */ /* NOT dst:Eb */ not1 cmac10struc data( nil,1, specE,modb, msegfix,dst, /* SEGFIX dst */ mdbn,0f6h, /* DB 0F6H */ mmodrm1,2,dst, /* MODRM 2,dst */ mendm), /* ENDM */ /* NOT dst:Ew */ not2 cmac10struc public data( .not1,1, specE,modw, msegfix,dst, /* SEGFIX dst */ mdbn,0f7h, /* DB 0F7H */ mmodrm1,2,dst, /* MODRM 2,dst */ mendm), /* ENDM */ /* OR dst:Eb,src:Db */ or1 cmac14struc data( nil,2, specE,modb,specD,modb, msegfix,dst, /* SEGFIX dst */ mdbn,80h, /* DB 80h */ mmodrm1,1,dst, /* MODRM 1,dst */ mdbf,src, /* DB src */ mendm), /* ENDM */ /* OR dst:Ew,src:Dw */ or2 cmac14struc data( .or1,2, specE,modw,specD,modw, msegfix,dst, /* SEGFIX dst */ mdbn,81h, /* DB 81H */ mmodrm1,1,dst, /* MODRM 1,dst */ mdwf,src, /* DW src */ mendm), /* ENDM */ /* OR dst:Ew,src:Db */ or3 cmac14struc data( .or2,2, specE,modw,specD,modb, msegfix,dst, /* SEGFIX dst */ mdbn,81h, /* DB 81H */ mmodrm1,1,dst, /* MODRM 1,dst */ mdwf,src, /* DW src */ mendm), /* ENDM */ /* OR dst:Ab,src:Db */ or4 cmac9struc data( .or3,2, specA,modb,specD,modb, mdbn,0ch, /* DB 0CH */ mdbf,src, /* DB src */ mendm), /* ENDM */ /* OR dst:Aw,src:Db */ or5 cmac9struc data( .or4,2, specA,modw,specD,modb, mdbn,0dh, /* DB 0DH */ mdwf,src, /* DW src */ mendm), /* ENDM */ /* OR dst:Aw,src:Dw */ or6 cmac9struc data( .or5,2, specA,modw,specD,modw, mdbn,0dh, /* DB 0DH */ mdwf,src, /* DW src */ mendm), /* ENDM */ /* OR dst:Eb,src:Rb */ or7 cmac12struc data( .or6,2, specE,modb,specR,modb, msegfix,dst, /* SEGFIX dst */ mdbn,08h, /* DB 08h */ mmodrm2,src,dst, /* MODRM src,dst */ mendm), /* ENDM */ /* OR dst:Ew,src:Rw */ or8 cmac12struc data( .or7,2, specE,modw,specR,modw, msegfix,dst, /* SEGFIX dst */ mdbn,09h, /* DB 09h */ mmodrm2,src,dst, /* MODRM src,dst */ mendm), /* ENDM */ /* OR dst:Rb,src:Eb */ or9 cmac12struc data( .or8,2, specR,modb,specE,modb, msegfix,src, /* SEGFIX src */ mdbn,0ah, /* DB 0Ah */ mmodrm2,dst,src, /* MODRM dst,src */ mendm), /* ENDM */ /* OR dst:Rw,src:Ew */ or10 cmac12struc public data( .or9,2, specR,modw,specE,modw, msegfix,src, /* SEGFIX src */ mdbn,0bh, /* DB 0Bh */ mmodrm2,dst,src, /* MODRM dst,src */ mendm), /* ENDM */ /* OUT dst:Db,src:Ab */ out1 cmac9struc data( nil,2, specD,modb,specA,modb, mdbn,0e6h, /* DB 0E6H */ mdbf,dst, /* DB dst */ mendm), /* ENDM */ /* OUT dst:Db,src:Aw */ out2 cmac9struc data( .out1,2, specD,modb,specA,modw, mdbn,0e7h, /* DB 0E7H */ mdbf,dst, /* DB dst */ mendm), /* ENDM */ /* OUT dst:Rw(DX),src:Ab */ out3 cmac8struc data( .out2,2, specR,modw+singlerange+registerrange,rdx, specA,modb, mdbn,0eeh, /* DB 0EEH */ mendm), /* ENDM */ /* OUT dst:Rw(DX),src:Aw */ out4 cmac8struc public data( .out3,2, specR,modw+singlerange+registerrange,rdx, specA,modw, mdbn,0efh, /* DB 0EFH */ mendm), /* ENDM */ /* POP dst:Ew */ pop1 cmac10struc data( nil,1, specE,modw, msegfix,dst, /* SEGFIX dst */ mdbn,8fh, /* DB 8FH */ mmodrm1,0,dst, /* MODRM 0,dst */ mendm), /* ENDM */ /* POP dst:Sd(ES) */ pop2 cmac16struc data( .pop1,1, specS,modd+singlerange+registerrange,res, mdbit, /* DBIT 3(0),2(dst(0)),3(7) */ mnumberbits,3,0, mformalbits,2,dst,0, mnumberbits,3,7, mendbit, mendm), /* ENDM */ /* POP dst:Sd(SS,DS) */ pop3 cmac17struc data( .pop2,1, specS,modd+doublerange+registerrange,rss,rds, mdbit, /* DBIT 3(0),2(dst(0)),3(7) */ mnumberbits,3,0, mformalbits,2,dst,0, mnumberbits,3,7, mendbit, mendm), /* ENDM */ /* POP dst:Rw */ pop4 cmac12struc public data( .pop3,1, specR,modw, mdbit, /* DBIT 5(01011B),3(dst(0)) */ mnumberbits,5,0bh, mformalbits,3,dst,0, mendbit, mendm), /* ENDM */ /* POPF */ popf1 cmac3struc public data( nil,0, mdbn,9dh, /* DB 9DH */ mendm), /* ENDM */ /* PUSH dst:Ew */ push1 cmac10struc data( nil,1, specE,modw, msegfix,dst, /* SEGFIX dst */ mdbn,0ffh, /* DB 0FFH */ mmodrm1,6,dst, /* MODRM 6,dst */ mendm), /* ENDM */ /* PUSH dst:Sd */ push2 cmac15struc data( .push1,1, specS,modd, mdbit, /* DBIT 3(0),2(dst(0)),3(6) */ mnumberbits,3,0, mformalbits,2,dst,0, mnumberbits,3,6, mendbit, mendm), /* ENDM */ /* PUSH dst:Rw */ push3 cmac12struc public data( .push2,1, specR,modw, mdbit, /* DBIT 5(01010B),3(dst(0)) */ mnumberbits,5,0ah, mformalbits,3,dst,0, mendbit, mendm), /* ENDM */ /* PUSHF */ pushf1 cmac3struc public data( nil,0, mdbn,9ch, /* DB 9CH */ mendm); /* ENDM */ end$module cmac3;