mirror of
				https://github.com/SEPPDROID/Digital-Research-Source-Code.git
				synced 2025-10-26 01:44:21 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			478 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			478 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| $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;
 | ||
|  |