VI. Support of 8051 Derivatives

Today a large number of 8051 derivatives is available that grows almost monthly! They all use the same instruction set of the MCS-51 processor core, but are different in peripheral components, to cover a wide range of applications. The difference for the assembly language programmer is mainly the varying set of special function registers and interrupt addresses. It is always good practice to use the same SFR names in a microcontroller application program that the manufacturer of the derivative used has defined. For this the processor definition files *.MCU are provided. They all are include files with the special function register definitions of a particular 8051 derivative. However, the predefined symbols of ASEM-51 must be switched off prior to including the SFR definitions of another derivative as shown below:

$NOMOD51
$INCLUDE (80C515.MCU)

This would switch off the predefined symbols of the 8051 and include the register definitions of the 80C515 or 80C535 respectively.
Hence it is easy for the user to adapt ASEM-51 to a brandnew 8051 derivative! All what he has to do is to write a corresponding include file with the SFR definitions derived from the manufacturer's data sheet.
The name of every processor definition file is corresponding to the ROM version of a particular derivative. Of course it also applies to the EPROM, EEPROM, flash, and ROM-less versions (if any) of that derivative.
By the way, the file 8051.MCU provided contains exactly the predefined symbols of ASEM-51, because its internal symbol table has been generated from it!
To switch ASEM-51 to the reduced instruction set of the Philips 83C75x family of microcontrollers, the $PHILIPS control can be used.

Currently the following processor definition files are provided with ASEM-51:

NameManufacturerVersions
8051.MCUIntel
(and others)
8051, 8031, 8751BH, 8051AH, 8031AH, 8751H, 8051AHP, 8751H-8, 80C51BH, 80C31BH, 87C51, 80C51BHP
Atmel89C51, 89LV51, 87LV51, 80F51, 87F51
8052.MCUIntel8052AH, 8032AH, 8752BH
SIEMENS80513, 8352-5
80C52.MCUIntel80C52, 80C32, 87C52, 80C54, 87C54, 80C58, 87C58
83C51FX.MCUIntel83C51FA, 80C51FA, 87C51FA, 83C51FB, 87C51FB, 83C51FC, 87C51FC
83C51R.MCUIntel83C51RA, 80C51RA, 87C51RA, 83C51RB, 87C51RB, 83C51RC, 87C51RC
83C51KB.MCUIntel83C51KB
83C51GB.MCUIntel83C51GB, 80C51GB, 87C51GB
83C151.MCUIntel83C151SB, 87C151SB, 80C151SB, 83C151SA, 87C151SA
83C152.MCUIntel80C152JA, 83C152JA, 80C152JB, 80C152JC, 83C152JC, 80C152JD
83C452.MCUIntel83C452, 80C452
8044.MCUIntel8044AH, 8344AH, 8744AH
83931HA.MCUIntel83931HA, 80931HA
83931AA.MCUIntel83931AA, 80931AA
80512.MCUSIEMENS80512, 80532
80515.MCUSIEMENS80515, 80535, 80515K, 83515-4
80C515.MCUSIEMENS80C515, 80C535, 83C515H
83C515A.MCUSIEMENS83C515A-5, 80C515A
80C517.MCUSIEMENS80C517, 80C537
C501.MCUInfineonC501-1R, C501-L
C502.MCUInfineonC502-2R, C502-L
C503.MCUInfineonC503-1R, C503-L
C504.MCUInfineonC504-2R, C504-L
C505.MCUInfineonC505-2R, C505-L
C505C.MCUInfineonC505C-2R, C505C-L
C505A.MCUInfineonC505A-4E, C505A-L
C505CA.MCUInfineonC505CA-4E, C505CA-L
C505L.MCUInfineonC505L
C508.MCUInfineonC508-4R, C508-4E
C509.MCUInfineonC509-L
C511.MCUInfineonC511, C511A
C513.MCUInfineonC513, C513A, C513A-H
C513AO.MCUInfineonC513AO
C515.MCUInfineonC515-L, C515-1R
C515A.MCUInfineonC515A-L, C515A-4R
C515C.MCUInfineonC515C-8R
C517A.MCUInfineonC517A-L, C517A-4R, 83C517A-5, 80C517A
C540U.MCUInfineonC540U
C541U.MCUInfineonC541U
C868.MCUInfineonC868-1R, C868-1S
83C451.MCUPhilips83C451, 80C451, 87C451
83C528.MCUPhilips83C528, 80C528, 87C528, 83C524, 87C524, 83CE528, 80CE528, 89CE528
83C550.MCUPhilips83C550, 80C550, 87C550
83C552.MCUPhilips83C552, 80C552, 87C552
83C562.MCUPhilips83C562, 80C562
83C652.MCUPhilips83C652, 80C652, 87C652, 83C654, 87C654, 83CE654, 80CE654
83C750.MCUPhilips83C750, 87C750
83C751.MCUPhilips83C751, 87C751
83C752.MCUPhilips83C752, 87C752
83C754.MCUPhilips83C754, 87C754
83C851.MCUPhilips83C851, 80C851
83C852.MCUPhilips83C852
87LPC762.MCUPhilips87LPC762
87LPC768.MCUPhilips87LPC768
80C32X2.MCUPhilips80C31X2, 80C32X2, 80C51X2, 80C52X2, 80C54X2, 80C58X2, 87C51X2, 87C52X2, 87C54X2, 87C58X2, 89C51X2, 89C52X2, 89C54X2, 89C58X2
80C521.MCUAMD80C521, 80C541, 87C521, 87C541, 80C321
80C324.MCUAMD80C324
83C154.MCUOKI83C154, 80C154, 85C154VS
83C154S.MCUOKI83C154S, 80C154S, 85C154HVS
80C310.MCUDALLAS80C310
80C320.MCUDALLAS80C320, 87C320, 80C323, 87C323
80C390.MCUDALLAS80C390
87C520.MCUDALLAS87C520, 83C520
87C530.MCUDALLAS87C530, 83C530
87C550.MCUDALLAS87C550
89C420.MCUDALLAS89C420
DS5000.MCUDALLAS5000FP, 5000, 5000T, 2250, 2250T
DS5001.MCUDALLAS5001FP, 5002FP, 5002FPM, 2251T, 2252T
MAX7651.MCUMaximMAX7651, MAX7652
COM20051.MCUSMCCOM20051
89C52.MCUAtmel89C52, 89C55, 89LV52, 89LV55, 87LV52, 80F52, 87F52
87F51RC.MCUAtmel87F51RC, 87F55, 87LV55
89C1051.MCUAtmel89C1051
89C2051.MCUAtmel89C2051, 89C4051, 89C1051U
89S8252.MCUAtmel89S8252, 89LS8252
89S51.MCUAtmel89S51
89S52.MCUAtmel89S52, 89LS52
89S53.MCUAtmel89S53, 89LS53
89S4D12.MCUAtmel89S4D12
73M2910.MCUTDK73M2910, 73M2910A
AN2131.MCUCypressAN2121, AN2122, AN2125, AN2126, AN2131, AN2135, AN2136