mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-26 01:44:21 +00:00
550 lines
15 KiB
Plaintext
550 lines
15 KiB
Plaintext
$title ('CODEMACRO DEFINITIONS - PART 2')
|
|
cmac2:
|
|
do;
|
|
|
|
/*
|
|
|
|
modified 6/16/81 R. Silberstein
|
|
|
|
*/
|
|
|
|
$include (:f1:macro.lit)
|
|
$include (:f1:cmacd.lit)
|
|
$include (:f1:equals.lit)
|
|
$include (:f1:cmac.lit)
|
|
|
|
dcl
|
|
|
|
/* CMPS dst:Eb,src:Eb */
|
|
cmps1 cmac12struc data(
|
|
nil,2,
|
|
specE,modb,specE,modb,
|
|
mnosegfix,res,dst, /* NOSEGFIX ES,dst */
|
|
msegfix,src, /* SEGFIX src */
|
|
mdbn,0a6h, /* DB 0A6H */
|
|
mendm), /* ENDM */
|
|
|
|
/* CMPS dst:Ew,src:Ew */
|
|
cmps2 cmac12struc public data(
|
|
.cmps1,2,
|
|
specE,modw,specE,modw,
|
|
mnosegfix,res,dst, /* NOSEGFIX ES,dst */
|
|
msegfix,src, /* SEGFIX src */
|
|
mdbn,0a7h, /* DB 0A7H */
|
|
mendm), /* ENDM */
|
|
|
|
/* CMPSB */
|
|
CMPSB1 CMAC3STRUC PUBLIC DATA(
|
|
NIL,0,
|
|
MDBN,0A6H,
|
|
MENDM),
|
|
|
|
/* CMPSW */
|
|
CMPSW1 CMAC3STRUC PUBLIC DATA(
|
|
NIL,0,
|
|
MDBN,0A7H,
|
|
MENDM),
|
|
|
|
/* CWD */
|
|
cwd1 cmac3struc public data(
|
|
nil,0,
|
|
mdbn,99h, /* DB 99H */
|
|
mendm), /* ENDM */
|
|
|
|
/* DAA */
|
|
daa1 cmac3struc public data(
|
|
nil,0,
|
|
mdbn,27h, /* DB 27H */
|
|
mendm), /* ENDM */
|
|
|
|
/* DAS */
|
|
das1 cmac3struc public data(
|
|
nil,0,
|
|
mdbn,2fh, /* DB 2FH */
|
|
mendm), /* ENDM */
|
|
|
|
/* DEC dst:Eb */
|
|
dec1 cmac10struc data(
|
|
nil,1,
|
|
specE,modb,
|
|
msegfix,dst, /* SEGFIX dst */
|
|
mdbn,0feh, /* DB 0FEH */
|
|
mmodrm1,1,dst, /* MODRM 1,dst */
|
|
mendm), /* ENDM */
|
|
|
|
/* DEC dst:Ew */
|
|
dec2 cmac10struc data(
|
|
.dec1,1,
|
|
specE,modw,
|
|
msegfix,dst, /* SEGFIX dst */
|
|
mdbn,0ffh, /* DB 0FFH */
|
|
mmodrm1,1,dst, /* MODRM 1,dst */
|
|
mendm), /* ENDM */
|
|
|
|
/* DEC dst:Rw */
|
|
dec3 cmac12struc public data(
|
|
.dec2,1,
|
|
specR,modw,
|
|
mdbit, /* DBIT 5(9H),3(dst) */
|
|
mnumberbits,5,9h,
|
|
mformalbits,3,dst,0,
|
|
mendbit,
|
|
mendm),
|
|
|
|
/* DIV divisor:Eb */
|
|
div1 cmac10struc data(
|
|
nil,1,
|
|
specE,modb,
|
|
msegfix,divisor, /* SEGFIX divisor */
|
|
mdbn,0f6h, /* DB 6FH */
|
|
mmodrm1,6,divisor, /* MODRM divisor */
|
|
mendm), /* ENDM */
|
|
|
|
/* DIV divisor:Ew */
|
|
div2 cmac10struc public data(
|
|
.div1,1,
|
|
specE,modw,
|
|
msegfix,divisor, /* SEGFIX divisor */
|
|
mdbn,0f7h, /* DB 0F7H */
|
|
mmodrm1,6,divisor, /* MODRM 6,divisor */
|
|
mendm), /* ENDM */
|
|
|
|
/* ESC opcode:Db(0,63),src:Eb */
|
|
esc1 cmac21struc data(
|
|
nil,2,
|
|
specD,modb+doublerange+numberrange,0,63,
|
|
specE,modb,
|
|
msegfix,src, /* SEGFIX src */
|
|
mdbit, /* DBIT 5(1BH),3(opcode(3)) */
|
|
mnumberbits,5,1bh,
|
|
mformalbits,3,opcode,3,
|
|
mendbit,
|
|
mmodrm2,opcode,src, /* MODRM opcode,src */
|
|
mendm), /* ENDM */
|
|
|
|
/* ESC opcode:Db(0,63),src:Ew */
|
|
esc2 cmac21struc data(
|
|
.esc1,2,
|
|
specD,modb+doublerange+numberrange,0,63,
|
|
specE,modw,
|
|
msegfix,src, /* SEGFIX src */
|
|
mdbit, /* DBIT 5(1BH),3(opcode(3)) */
|
|
mnumberbits,5,1bh,
|
|
mformalbits,3,opcode,3,
|
|
mendbit,
|
|
mmodrm2,opcode,src, /* MODRM opcode,src */
|
|
mendm), /* ENDM */
|
|
|
|
/* ESC opcode:Db(0,63),src:Ed */
|
|
esc3 cmac21struc public data(
|
|
.esc2,2,
|
|
specD,modb+doublerange+numberrange,0,63,
|
|
specE,modd,
|
|
msegfix,src, /* SEGFIX src */
|
|
mdbit, /* DBIT 5(1BH),3(opcode(3)) */
|
|
mnumberbits,5,1bh,
|
|
mformalbits,3,opcode,3,
|
|
mendbit,
|
|
mmodrm2,opcode,src, /* MODRM opcode,src */
|
|
mendm), /* ENDM */
|
|
|
|
/* HLT */
|
|
hlt1 cmac3struc public data(
|
|
nil,0,
|
|
mdbn,0f4h, /* DB 0F4H */
|
|
mendm), /* ENDM */
|
|
|
|
/* IDIV divisor:Eb */
|
|
idiv1 cmac10struc data(
|
|
nil,1,
|
|
specE,modb,
|
|
msegfix,divisor, /* SEGFIX divisor */
|
|
mdbn,0f6h, /* DB 0F6H */
|
|
mmodrm1,7,divisor, /* MODRM 7,divisor */
|
|
mendm), /* ENDM */
|
|
|
|
/* IDIV divisor:Ew */
|
|
idiv2 cmac10struc public data(
|
|
.idiv1,1,
|
|
specE,modw,
|
|
msegfix,divisor, /* SEGFIX divisor */
|
|
mdbn,0f7h, /* DB 0F7H */
|
|
mmodrm1,7,divisor, /* MODRM 7,divisor */
|
|
mendm),
|
|
|
|
/* IMUL mplier:Eb */
|
|
imul1 cmac10struc data(
|
|
nil,1,
|
|
specE,modb,
|
|
msegfix,mplier, /* SEGFIX mplier */
|
|
mdbn,0f6h, /* DB 0F6H */
|
|
mmodrm1,5,mplier, /* MODRM 5,mplier */
|
|
mendm), /* ENDM */
|
|
|
|
/* IMUL mplier:Ew */
|
|
imul2 cmac10struc public data(
|
|
.imul1,1,
|
|
specE,modw,
|
|
msegfix,mplier, /* SEGFIX mplier */
|
|
mdbn,0f7h, /* DB 0F7H */
|
|
mmodrm1,5,mplier, /* MODRM 5,mplier */
|
|
mendm), /* ENDM */
|
|
|
|
/* IN dst:Ab,port:Db */
|
|
in1 cmac9struc data(
|
|
nil,2,
|
|
specA,modb,specD,modb,
|
|
mdbn,0e4h, /* DB 0E4H */
|
|
mdbf,port, /* DB port */
|
|
mendm), /* ENDM */
|
|
|
|
/* IN dst:Aw,port:Db */
|
|
in2 cmac9struc data(
|
|
.in1,2,
|
|
specA,modw,specD,modb,
|
|
mdbn,0e5h, /* DB 0E5H */
|
|
mdbf,port, /* DB port */
|
|
mendm), /* ENDM */
|
|
|
|
/* IN dst:Ab,port:Rw(DX) */
|
|
in3 cmac8struc data(
|
|
.in2,2,
|
|
specA,modb,
|
|
specR,modw+singlerange+register$range,rdx,
|
|
mdbn,0ech, /* DB 0ECH */
|
|
mendm),
|
|
|
|
/* IN dst:Aw,port:Rw(DX) */
|
|
in4 cmac8struc public data(
|
|
.in3,2,
|
|
specA,modw,
|
|
specR,modw+singlerange+register$range,rdx,
|
|
mdbn,0edh, /* DB 0EDH */
|
|
mendm), /* ENDM */
|
|
|
|
/* INC dst:Eb */
|
|
inc1 cmac10struc data(
|
|
nil,1,
|
|
specE,modb,
|
|
msegfix,dst, /* SEGFIX dst */
|
|
mdbn,0feh, /* DB 0FEH */
|
|
mmodrm1,0,dst, /* MODRM 0,dst */
|
|
mendm), /* ENDM */
|
|
|
|
/* INC dst:Ew */
|
|
inc2 cmac10struc data(
|
|
.inc1,1,
|
|
specE,modw,
|
|
msegfix,dst, /* SEGFIX dst */
|
|
mdbn,0ffh, /* DB 0FFH */
|
|
mmodrm1,0,dst, /* MODRM 0,dst */
|
|
mendm), /* ENDM */
|
|
|
|
/* INC dst:Rw */
|
|
inc3 cmac12struc public data(
|
|
.inc2,1,
|
|
specR,modw,
|
|
mdbit, /* DBIT 5(08H),3(dst(0)) */
|
|
mnumberbits,5,08h,
|
|
mformalbits,3,dst,0,
|
|
mendbit,
|
|
mendm), /* ENDM */
|
|
|
|
/* INT itype:Db */
|
|
int1 cmac7struc data(
|
|
nil,1,
|
|
specD,modb,
|
|
mdbn,0cdh, /* DB 0CDH */
|
|
mdbf,itype, /* DB itype */
|
|
mendm), /* ENDM */
|
|
|
|
/* INT itype:Db(3) */
|
|
int2 cmac6struc public data(
|
|
.int1,1,
|
|
specD,modb+singlerange,3,
|
|
mdbn,0cch, /* DB 0CCH */
|
|
mendm), /* ENDM */
|
|
|
|
/* INTO */
|
|
into1 cmac3struc public data(
|
|
nil,0,
|
|
mdbn,0ceh, /* DB 0CEH */
|
|
mendm), /* ENDM */
|
|
|
|
|
|
/* IRET */
|
|
iret1 cmac3struc public data(
|
|
nil,0,
|
|
mdbn,0cfh, /* DB 0CFH */
|
|
mendm), /* ENDM */
|
|
|
|
/* JA place:Cb */
|
|
ja1 cmac7struc public data(
|
|
nil,1,
|
|
specC,modb,
|
|
mdbn,77h, /* DB 77H */
|
|
mrelb,place, /* RELB place */
|
|
mendm), /* ENDM */
|
|
|
|
/* JAE place:Cb */
|
|
jae1 cmac7struc public data(
|
|
nil,1,
|
|
specC,modb,
|
|
mdbn,73h, /* DB 73H */
|
|
mrelb,place, /* RELB place */
|
|
mendm), /* ENDM */
|
|
|
|
/* JB place:Cb */
|
|
jb1 cmac7struc public data(
|
|
nil,1,
|
|
specC,modb,
|
|
mdbn,72h, /* DB 72H */
|
|
mrelb,place, /* RELB place */
|
|
mendm), /* ENDM */
|
|
|
|
/* JBE place:Cb */
|
|
jbe1 cmac7struc public data(
|
|
nil,1,
|
|
specC,modb,
|
|
mdbn,76h, /* DB 76H */
|
|
mrelb,place, /* RELB place */
|
|
mendm), /* ENDM */
|
|
|
|
/* JCXZ place:Cb */
|
|
jcxz1 cmac7struc public data(
|
|
nil,1,
|
|
specC,modb,
|
|
mdbn,0e3h, /* DB 0E3H */
|
|
mrelb,place, /* RELB place */
|
|
mendm), /* ENDM */
|
|
|
|
/* JE place:Cb */
|
|
je1 cmac7struc public data(
|
|
nil,1,
|
|
specC,modb,
|
|
mdbn,74h, /* DB 74H */
|
|
mrelb,place, /* RELB place */
|
|
mendm), /* ENDM */
|
|
|
|
/* JG place:Cb */
|
|
jg1 cmac7struc public data(
|
|
nil,1,
|
|
specC,modb,
|
|
mdbn,7fh, /* DB 7FH */
|
|
mrelb,place, /* RELB place */
|
|
mendm), /* ENDM */
|
|
|
|
/* JGE place:Cb */
|
|
jge1 cmac7struc public data(
|
|
nil,1,
|
|
specC,modb,
|
|
mdbn,7dh, /* DB 7DH */
|
|
mrelb,place, /* RELB place */
|
|
mendm), /* ENDM */
|
|
|
|
/* JL place:Cb */
|
|
jl1 cmac7struc public data(
|
|
nil,1,
|
|
specC,modb,
|
|
mdbn,7ch, /* DB 7CH */
|
|
mrelb,place, /* RELB place */
|
|
mendm), /* ENDM */
|
|
|
|
/* JLE place:Cb */
|
|
jle1 cmac7struc public data(
|
|
nil,1,
|
|
specC,modb,
|
|
mdbn,7eh, /* DB 7EH */
|
|
mrelb,place, /* RELB place */
|
|
mendm), /* ENDM */
|
|
|
|
/* JMP place:Ew */
|
|
jmp1 cmac10struc data(
|
|
nil,1,
|
|
specE,modw,
|
|
msegfix,place, /* SEGFIX place */
|
|
mdbn,0ffh, /* DB 0FFH */
|
|
mmodrm1,4,place, /* MODRM 4,place */
|
|
mendm), /* ENDM */
|
|
|
|
/* JMP place:Cw */
|
|
jmp2 cmac7struc public data(
|
|
.jmp1,1,
|
|
specC,modw,
|
|
mdbn,0e9h, /* DB 0E9H */
|
|
mrelw,place, /* RELW place */
|
|
mendm), /* ENDM */
|
|
|
|
/* JMPF place:Md */
|
|
jmpf1 cmac10struc data(
|
|
nil,1,
|
|
specM,modd,
|
|
msegfix,place, /* SEGFIX place */
|
|
mdbn,0ffh, /* DB 0FFH */
|
|
mmodrm1,5,place, /* MODRM 5,place */
|
|
mendm), /* ENDM */
|
|
|
|
/* JMPF place:Cd */
|
|
jmpf2 cmac7struc public data(
|
|
.jmpf1,1,
|
|
specC,modd,
|
|
mdbn,0eah, /* DB 0EAH */
|
|
mddf,place, /* DD place */
|
|
mendm), /* ENDM */
|
|
|
|
/* JMPS place:Cb */
|
|
jmps1 cmac7struc public data(
|
|
nil,1,
|
|
specC,modb,
|
|
mdbn,0ebh, /* DB 0EBH */
|
|
mrelb,place, /* RELB place */
|
|
mendm), /* ENDM */
|
|
|
|
/* JNE place:Cb */
|
|
jne1 cmac7struc public data(
|
|
nil,1,
|
|
specC,modb,
|
|
mdbn,75h, /* DB 75H */
|
|
mrelb,place, /* RELB place */
|
|
mendm), /* ENDM */
|
|
|
|
/* JNO place:Cb */
|
|
jno1 cmac7struc public data(
|
|
nil,1,
|
|
specC,modb,
|
|
mdbn,71h, /* DB 71H */
|
|
mrelb,place, /* RELB place */
|
|
mendm), /* ENDM */
|
|
|
|
/* JNP place:Cb */
|
|
jnp1 cmac7struc public data(
|
|
nil,1,
|
|
specC,modb,
|
|
mdbn,7bh, /* DB 7BH */
|
|
mrelb,place, /* RELB place */
|
|
mendm), /* ENDM */
|
|
|
|
/* JNS place:Cb */
|
|
jns1 cmac7struc public data(
|
|
nil,1,
|
|
specC,modb,
|
|
mdbn,79h, /* DB 79H */
|
|
mrelb,place, /* RELB place */
|
|
mendm), /* ENDM */
|
|
|
|
/* JO place:Cb */
|
|
jo1 cmac7struc public data(
|
|
nil,1,
|
|
specC,modb,
|
|
mdbn,70h, /* DB 70H */
|
|
mrelb,place, /* RELB place */
|
|
mendm), /* ENDM */
|
|
|
|
/* JP place:Cb */
|
|
jp1 cmac7struc public data(
|
|
nil,1,
|
|
specC,modb,
|
|
mdbn,7ah, /* DB 7AH */
|
|
mrelb,place, /* RELB place */
|
|
mendm), /* ENDM */
|
|
|
|
/* JS place:Cb */
|
|
js1 cmac7struc public data(
|
|
nil,1,
|
|
specC,modb,
|
|
mdbn,78h, /* DB 78H */
|
|
mrelb,place, /* RELB place */
|
|
mendm), /* ENDM */
|
|
|
|
/* LAHF */
|
|
lahf1 cmac3struc public data(
|
|
nil,0,
|
|
mdbn,9fh, /* DB 9FH */
|
|
mendm), /* ENDM */
|
|
|
|
/* LDS dst:Rw,src:Ed */
|
|
lds1 cmac12struc public data(
|
|
nil,2,
|
|
specR,modw,specE,modd,
|
|
msegfix,src, /* SEGFIX src */
|
|
mdbn,0c5h, /* DB 0C5H */
|
|
mmodrm2,dst,src, /* MODRM dst,src */
|
|
mendm), /* ENDM */
|
|
|
|
/* LES dst:Rw,src:Ed */
|
|
les1 cmac12struc public data(
|
|
nil,2,
|
|
specR,modw,specE,modd,
|
|
msegfix,src, /* SEGFIX src */
|
|
mdbn,0c4h, /* DB 0C4H */
|
|
mmodrm2,dst,src, /* MODRM dst,src */
|
|
mendm), /* ENDM */
|
|
|
|
/* LEA dst:Rw,src:M */
|
|
lea1 cmac10struc public data(
|
|
nil,2,
|
|
specR,modw,specM,nomod,
|
|
mdbn,8dh, /* DB 8DH */
|
|
mmodrm2,dst,src, /* MODRM dst,src */
|
|
mendm), /* ENDM */
|
|
|
|
/* LOCK prefx */
|
|
lock1 cmac3struc public data(
|
|
nil,0+prefix$on,
|
|
mdbn,0f0h, /* DB 0F0H */
|
|
mendm), /* ENDM */
|
|
|
|
/* LODS SI$ptr:Eb */
|
|
lods1 cmac7struc data(
|
|
nil,1,
|
|
specE,modb,
|
|
msegfix,si$ptr, /* SEGFIX SI$ptr */
|
|
mdbn,0ach, /* DB 0ACH */
|
|
mendm), /* ENDM */
|
|
|
|
/* LODS SI$ptr:Ew */
|
|
lods2 cmac7struc public data(
|
|
.lods1,1,
|
|
specE,modw,
|
|
msegfix,si$ptr, /* SEGFIX SI$ptr */
|
|
mdbn,0adh, /* DB 0AdH */
|
|
mendm), /* ENDM */
|
|
|
|
/* LODSB */
|
|
LODSB1 CMAC3STRUC PUBLIC DATA(
|
|
NIL,0,
|
|
MDBN,0ACH,
|
|
MENDM),
|
|
|
|
/* LODSW */
|
|
LODSW1 CMAC3STRUC PUBLIC DATA(
|
|
NIL,0,
|
|
MDBN,0ADH,
|
|
MENDM),
|
|
|
|
/* LOOP place:Cb */
|
|
loop1 cmac7struc public data(
|
|
nil,1,
|
|
specC,modb,
|
|
mdbn,0e2h, /* DB 0E2H */
|
|
mrelb,place, /* RELB place */
|
|
mendm), /* ENDM */
|
|
|
|
/* LOOPE place:Cb */
|
|
loope1 cmac7struc public data(
|
|
nil,1,
|
|
specC,modb,
|
|
mdbn,0e1h, /* DB 0E1H */
|
|
mrelb,place, /* RELB place */
|
|
mendm), /* ENDM */
|
|
|
|
/* LOOPNE place:Cb */
|
|
loopne1 cmac7struc public data(
|
|
nil,1,
|
|
specC,modb,
|
|
mdbn,0e0h, /* DB 0E0H */
|
|
mrelb,place, /* RELB place */
|
|
mendm); /* ENDM */
|
|
|
|
end$module cmac2;
|