PL/M-86 COMPILER    CODEMACRO DEFINITIONS - PART 2                               10/5/81    PAGE   1


ISIS-II PL/M-86 V2.0 COMPILATION OF MODULE CMAC2
OBJECT MODULE PLACED IN CMAC2.OBJ
COMPILER INVOKED BY:  :F0: CMAC2.PLM DEBUG OPTIMIZE(2) DATE(10/5/81) PAGEWIDTH(100)



              $title ('CODEMACRO DEFINITIONS - PART 2')
   1          cmac2:
              do;

              /*

                modified  6/16/81  R. Silberstein

              */

              $include (:f1:macro.lit)
          =   $nolist
              $include (:f1:cmacd.lit)
          =   $nolist
              $include (:f1:equals.lit)
          =   $nolist
              $include (:f1:cmac.lit)
          =   $nolist

  18   1      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),

PL/M-86 COMPILER    CODEMACRO DEFINITIONS - PART 2                               10/5/81    PAGE   2


                      /* 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(
PL/M-86 COMPILER    CODEMACRO DEFINITIONS - PART 2                               10/5/81    PAGE   3


                      .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 */
PL/M-86 COMPILER    CODEMACRO DEFINITIONS - PART 2                               10/5/81    PAGE   4


                      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(
PL/M-86 COMPILER    CODEMACRO DEFINITIONS - PART 2                               10/5/81    PAGE   5


                      .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 */
PL/M-86 COMPILER    CODEMACRO DEFINITIONS - PART 2                               10/5/81    PAGE   6


              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,
PL/M-86 COMPILER    CODEMACRO DEFINITIONS - PART 2                               10/5/81    PAGE   7


                      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,
PL/M-86 COMPILER    CODEMACRO DEFINITIONS - PART 2                               10/5/81    PAGE   8


                      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,
PL/M-86 COMPILER    CODEMACRO DEFINITIONS - PART 2                               10/5/81    PAGE   9


                      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 */
PL/M-86 COMPILER    CODEMACRO DEFINITIONS - PART 2                               10/5/81    PAGE  10



                      /* 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 */

  19   1      end$module cmac2;



MODULE INFORMATION:

     CODE AREA SIZE     = 0000H      0D
     CONSTANT AREA SIZE = 02CEH    718D
     VARIABLE AREA SIZE = 0000H      0D
     MAXIMUM STACK SIZE = 0000H      0D
     852 LINES READ
     0 PROGRAM ERROR(S)
PL/M-86 COMPILER    CODEMACRO DEFINITIONS - PART 2                               10/5/81    PAGE  11


END OF PL/M-86 COMPILATION
