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


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



              $title ('CODEMACRO DEFINITIONS - PART 5')
   1          cmac5:
              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

                      /* STC */
              stc1    cmac3struc public data(
                      nil,0,
                      mdbn,0f9h,         /* DB 0F9H */
                      mendm),            /* ENDM */

                      /* STD */
              std1    cmac3struc public data(
                      nil,0,
                      mdbn,0fdh,         /* DB 0FDH */
                      mendm),            /* ENDM */

                      /* STI */
              sti1    cmac3struc public data(
                      nil,0,
                      mdbn,0fbh,         /* DB 0FBH */
                      mendm),            /* ENDM */

                      /* STOS dst:Eb */
              stos1   cmac8struc data(
                      nil,1,
                      specE,modb,
                      mnosegfix,res,dst, /* NOSEGFIX ES,dst */
                      mdbn,0aah,         /* DB 0AAH */
                      mendm),            /* ENDM */

                      /* STOS dst:Ew */
              stos2   cmac8struc public data(
                      .stos1,1,
                      specE,modw,
PL/M-86 COMPILER    CODEMACRO DEFINITIONS - PART 5                               10/5/81    PAGE   2


                      mnosegfix,res,dst, /* NOSEGFIX ES,dst */
                      mdbn,0abh,         /* DB 0ABH */
                      mendm),            /* ENDM */

                      /* STOSB */
              STOSB1  CMAC3STRUC PUBLIC DATA(
                      NIL,0,
                      MDBN,0AAH,
                      MENDM),

                      /* STOSW */
              STOSW1  CMAC3STRUC PUBLIC DATA(
                      NIL,0,
                      MDBN,0ABH,
                      MENDM),

                      /* SUB dst:Eb,src:Db */
              sub1    cmac14struc data(
                      nil,2,
                      specE,modb,
                      specD,modb,
                      msegfix,dst,        /* SEGFIX dst */
                      mdbn,80h,           /* DB 80H */
                      mmodrm1,5,dst,      /* MODRM 5,dst */
                      mdbf,src,           /* DB src */
                      mendm),             /* ENDM */

                      /* SUB dst:Ew,src:Db */
              sub2    cmac14struc data(
                      .sub1,2,
                      specE,modw,
                      specD,modb,
                      msegfix,dst,        /* SEGFIX dst */
                      mdbn,81h,           /* DB 81H */
                      mmodrm1,5,dst,      /* MODRM 5,dst */
                      mdwf,src,           /* DW src */
                      mendm),             /* ENDM */

                      /* SUB dst:Ew,src:Dsb */
              sub3    cmac14struc data(
                      .sub2,2,
                      specE,modw,
                      specD,modsb,
                      msegfix,dst,        /* SEGFIX dst */
                      mdbn,83h,           /* DB 83H */
                      mmodrm1,5,dst,      /* MODRM 5,dst */
                      mdbf,src,           /* DB src */
                      mendm),             /* ENDM */

                      /* SUB dst:Ew,src:Dw */
              sub4    cmac14struc data(
                      .sub3,2,
                      specE,modw,
                      specD,modw,
                      msegfix,dst,        /* SEGFIX dst */
                      mdbn,81h,           /* DB 81H */
                      mmodrm1,5,dst,      /* MODRM 5,dst */
PL/M-86 COMPILER    CODEMACRO DEFINITIONS - PART 5                               10/5/81    PAGE   3


                      mdwf,src,           /* DW src */
                      mendm),             /* ENDM */

                      /* SUB dst:Ab,src:Db */
              sub5    cmac9struc data(
                      .sub4,2,
                      specA,modb,
                      specD,modb,
                      mdbn,2ch,           /* DB 2CH */
                      mdbf,src,           /* DB src */
                      mendm),             /* ENDM */

                      /* SUB dst:Aw,src:Db */
              sub6    cmac9struc data(
                      .sub5,2,
                      specA,modw,
                      specD,modb,
                      mdbn,2dh,           /* DB 2DH */
                      mdwf,src,           /* DW src */
                      mendm),             /* ENDM */

                      /* SUB dst:Aw,src:Dw */
              sub7    cmac9struc data(
                      .sub6,2,
                      specA,modw,
                      specD,modw,
                      mdbn,2dh,           /* DB 2DH */
                      mdwf,src,           /* DW src */
                      mendm),             /* ENDM */

                      /* SUB dst:Eb,src:Rb */
              sub8    cmac12struc data(
                      .sub7,2,
                      specE,modb,
                      specR,modb,
                      msegfix,dst,        /* SEGFIX dst */
                      mdbn,28h,           /* DB 28H */
                      mmodrm2,src,dst,    /* MODRM src,dst */
                      mendm),             /* ENDM */

                      /* SUB dst:Ew,src:Rw */
              sub9    cmac12struc data(
                      .sub8,2,
                      specE,modw,
                      specR,modw,
                      msegfix,dst,        /* SEGFIX dst */
                      mdbn,29h,           /* DB 29H */
                      mmodrm2,src,dst,    /* MODRM src,dst */
                      mendm),             /* ENDM */

                      /* SUB dst:Rb,src:Eb */
              sub10   cmac12struc data(
                      .sub9,2,
                      specR,modb,
                      specE,modb,
                      msegfix,src,        /* SEGFIX src */
                      mdbn,2ah,           /* DB 2AH */
PL/M-86 COMPILER    CODEMACRO DEFINITIONS - PART 5                               10/5/81    PAGE   4


                      mmodrm2,dst,src,    /* MODRM dst,src */
                      mendm),             /* ENDM */

                      /* SUB dst:Rw,src:Ew */
              sub11   cmac12struc public data(
                      .sub10,2,
                      specR,modw,
                      specE,modw,
                      msegfix,src,        /* SEGFIX src */
                      mdbn,2bh,           /* DB 2BH */
                      mmodrm2,dst,src,    /* MODRM dst,src */
                      mendm),             /* ENDM */

                      /* TEST dst:Eb,src:Db */
              test1   cmac14struc data(
                      nil,2,
                      specE,modb,
                      specD,modb,
                      msegfix,dst,        /* SEGFIX dst */
                      mdbn,0f6h,          /* DB 0F6H */
                      mmodrm1,0,dst,      /* MODRM 0,dst */
                      mdbf,src,           /* DB src */
                      mendm),             /* ENDM */

                      /* TEST dst:Ew,src:Db */
              test2   cmac14struc data(
                      .test1,2,
                      specE,modw,
                      specD,modb,
                      msegfix,dst,        /* SEGFIX dst */
                      mdbn,0f7h,          /* DB 0F7H */
                      mmodrm1,0,dst,      /* MODRM 0,dst */
                      mdwf,src,           /* DW src */
                      mendm),             /* ENDM */

                      /* TEST dst:Ew,src:Dw */
              test3   cmac14struc data(
                      .test2,2,
                      specE,modw,
                      specD,modw,
                      msegfix,dst,        /* SEGFIX dst */
                      mdbn,0f7h,          /* DB 0F7H */
                      mmodrm1,0,dst,      /* MODRM 0,dst */
                      mdwf,src,           /* DW src */
                      mendm),             /* ENDM */

                      /* TEST dst:Ab,src:Db */
              test4   cmac9struc data(
                      .test3,2,
                      specA,modb,
                      specD,modb,
                      mdbn,0a8h,          /* DB 0A8H */
                      mdbf,src,           /* DB src */
                      mendm),             /* ENDM */

                      /* TEST dst:Aw,src:Db */
              test5   cmac9struc data(
PL/M-86 COMPILER    CODEMACRO DEFINITIONS - PART 5                               10/5/81    PAGE   5


                      .test4,2,
                      specA,modw,
                      specD,modb,
                      mdbn,0a9h,          /* DB 0A9H */
                      mdwf,src,           /* DW src */
                      mendm),             /* ENDM */

                      /* TEST dst:Aw,src:Dw */
              test6   cmac9struc data(
                      .test5,2,
                      specA,modw,
                      specD,modw,
                      mdbn,0a9h,          /* DB 0A9H */
                      mdwf,src,           /* DW src */
                      mendm),             /* ENDM */

                      /* TEST dst:Eb,src:Rb */
              test7   cmac12struc data(
                      .test6,2,
                      specE,modb,
                      specR,modb,
                      msegfix,dst,        /* SEGFIX dst */
                      mdbn,84h,           /* DB 84H */
                      mmodrm2,src,dst,    /* MODRM src,dst */
                      mendm),             /* ENDM */

                      /* TEST dst:Ew,src:Rw */
              test8   cmac12struc data(
                      .test7,2,
                      specE,modw,
                      specR,modw,
                      msegfix,dst,        /* SEGFIX dst */
                      mdbn,85h,           /* DB 85H */
                      mmodrm2,src,dst,    /* MODRM src,dst */
                      mendm),             /* ENDM */

                      /* TEST dst:Rb,src:Eb */
              test9   cmac12struc data(
                      .test8,2,
                      specR,modb,
                      specE,modb,
                      msegfix,src,        /* SEGFIX src */
                      mdbn,84h,           /* DB 84H */
                      mmodrm2,dst,src,    /* MODRM dst,src */
                      mendm),             /* ENDM */

                      /* TEST dst:Rw,src:Ew */
              test10  cmac12struc public data(
                      .test9,2,
                      specR,modw,
                      specE,modw,
                      msegfix,src,        /* SEGFIX src */
                      mdbn,85h,           /* DB 85H */
                      mmodrm2,dst,src,    /* MODRM dst,src */
                      mendm),             /* ENDM */

                      /* WAIT */
PL/M-86 COMPILER    CODEMACRO DEFINITIONS - PART 5                               10/5/81    PAGE   6


              wait1   cmac3struc public data(
                      nil,0,
                      mdbn,9bh,          /* DB 9BH */
                      mendm),            /* ENDM */

                      /* XCHG dst:Eb,src:Rb */
              xchg1   cmac12struc data(
                      nil,2,
                      specE,modb,
                      specR,modb,
                      msegfix,dst,        /* SEGFIX dst */
                      mdbn,86h,           /* DB 86H */
                      mmodrm2,src,dst,    /* MODRM src,dst */
                      mendm),             /* ENDM */

                      /* XCHG dst:Ew,src:Rw */
              xchg2   cmac12struc data(
                      .xchg1,2,
                      specE,modw,
                      specR,modw,
                      msegfix,dst,        /* SEGFIX dst */
                      mdbn,87h,           /* DB 87H */
                      mmodrm2,src,dst,    /* MODRM src,dst */
                      mendm),             /* ENDM */

                      /* XCHG dst:Rb,src:Eb */
              xchg3   cmac12struc data(
                      .xchg2,2,
                      specR,modb,
                      specE,modb,
                      msegfix,src,        /* SEGFIX src */
                      mdbn,86h,           /* DB 86H */
                      mmodrm2,dst,src,    /* MODRM dst,src */
                      mendm),             /* ENDM */

                      /* XCHG dst:Rw,src:Ew */
              xchg4   cmac12struc data(
                      .xchg3,2,
                      specR,modw,
                      specE,modw,
                      msegfix,src,        /* SEGFIX src */
                      mdbn,87h,           /* DB 87H */
                      mmodrm2,dst,src,    /* MODRM dst,src */
                      mendm),             /* ENDM */

                      /* XCHG dst:Rw,src:Aw */
              xchg5   cmac14struc data(
                      .xchg4,2,
                      specR,modw,specA,modw,
                      mdbit,              /* DBIT 5(10010B),3(dst(0)) */
                      mnumberbits,5,12h,
                      mformalbits,3,dst,0,
                      mendbit,
                      mendm),             /* ENDM */

                      /* XCHG dst:Aw,src:Rw */
              xchg6   cmac14struc public data(
PL/M-86 COMPILER    CODEMACRO DEFINITIONS - PART 5                               10/5/81    PAGE   7


                      .xchg5,2,
                      specA,modw,specR,modw,
                      mdbit,              /* DBIT 5(10010B),3(dst(0)) */
                      mnumberbits,5,12h,
                      mformalbits,3,src,0,
                      mendbit,
                      mendm),             /* ENDM */

                      /* XLAT dst:E */
              xlat1   cmac7struc public data(
                      nil,1,
                      specE,nomod,
                      msegfix,dst,        /* SEGFIX dst */
                      mdbn,0d7h,          /* DB 0D7H */
                      mendm),             /* ENDM */

                      /* XOR dst:Eb,src:Db */
              xor1    cmac14struc data(
                      nil,2,
                      specE,modb,
                      specD,modb,
                      msegfix,dst,         /* SEGFIX dst */
                      mdbn,80h,            /* DB 80H */
                      mmodrm1,6,dst,       /* MODRM 6,dst */
                      mdbf,src,            /* DB src */
                      mendm),              /* ENDM */

                      /* XOR dst:Ew,src:Db */
              xor2    cmac14struc data(
                      .xor1,2,
                      specE,modw,specD,modb,
                      msegfix,dst,         /* SEGFIX dst */
                      mdbn,81h,            /* DB 81H */
                      mmodrm1,6,dst,       /* MODRM 6,dst */
                      mdwf,src,            /* DW src */
                      mendm),              /* ENDM */

                      /* XOR dst:Ew,src:Dw */
              xor3    cmac14struc data(
                      .xor2,2,
                      specE,modw,specD,modw,
                      msegfix,dst,         /* SEGFIX dst */
                      mdbn,81h,            /* DB 81H */
                      mmodrm1,6,dst,       /* MODRM 6,dst */
                      mdwf,src,            /* DW src */
                      mendm),              /* ENDM */

                      /* XOR dst:Ab,src:Db */
              xor4    cmac9struc data(
                      .xor3,2,
                      specA,modb,specD,modb,
                      mdbn,34h,            /* DB 34H */
                      mdbf,src,            /* DB src */
                      mendm),              /* ENDM */

                      /* XOR dst:Aw,src:Db */
              xor5    cmac9struc data(
PL/M-86 COMPILER    CODEMACRO DEFINITIONS - PART 5                               10/5/81    PAGE   8


                      .xor4,2,
                      specA,modw,specD,modb,
                      mdbn,35h,            /* DB 35H */
                      mdwf,src,            /* DW src */
                      mendm),              /* ENDM */

                      /* XOR dst:Aw,src:Dw */
              xor6    cmac9struc data(
                      .xor5,2,
                      specA,modw,specD,modw,
                      mdbn,35h,            /* DB 35H */
                      mdwf,src,            /* DW src */
                      mendm),              /* ENDM */

                      /* XOR dst:Eb,src:Rb */
              xor7    cmac12struc data(
                      .xor6,2,
                      specE,modb,specR,modb,
                      msegfix,dst,         /* SEGFIX dst */
                      mdbn,30h,            /* DB 30H */
                      mmodrm2,src,dst,     /* MODRM src,dst */
                      mendm),              /* ENDM */

                      /* XOR dst:Ew,src:Rw */
              xor8    cmac12struc data(
                      .xor7,2,
                      specE,modw,specR,modw,
                      msegfix,dst,         /* SEGFIX dst */
                      mdbn,31h,            /* DB 31H */
                      mmodrm2,src,dst,     /* MODRM src,dst */
                      mendm),

                      /* XOR dst:Rb,src:Eb */
              xor9    cmac12struc data(
                      .xor8,2,
                      specR,modb,specE,modb,
                      msegfix,src,         /* SEGFIX src */
                      mdbn,32h,            /* DB 32H */
                      mmodrm2,dst,src,     /* MODRM dst,src */
                      mendm),              /* ENDM */

                      /* XOR dst:Rw,src:Ew */
              xor10   cmac12struc public data(
                      .xor9,2,
                      specR,modw,specE,modw,
                      msegfix,src,         /* SEGFIX src */
                      mdbn,33h,            /* DB 33H */
                      mmodrm2,dst,src,     /* MODRM dst,src */
                      mendm);              /* ENDM */

  19   1      end$module cmac5;



MODULE INFORMATION:

     CODE AREA SIZE     = 0000H      0D
PL/M-86 COMPILER    CODEMACRO DEFINITIONS - PART 5                               10/5/81    PAGE   9


     CONSTANT AREA SIZE = 026CH    620D
     VARIABLE AREA SIZE = 0000H      0D
     MAXIMUM STACK SIZE = 0000H      0D
     743 LINES READ
     0 PROGRAM ERROR(S)

END OF PL/M-86 COMPILATION
