Układ rejestrów w pamięci * – adresowane bitowo (adresy podzielne przez 8) Adres Symbol Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 00xF0* B 0xE0* ACC 0xD0* PSW CY AC F0 RS1 RS0 OV - P0xC0* IP - - - PS PT1 PX1 PT0 PX00xB0* P3 /RD /WR T1 T0 /INT1 /INT0 TxD RxD0xA8* IE EA - - ES ET1 EX1 ET0 EX00xA0* P2 0x99 SBUF 0x98* SCON SM0 SM1 SM2 REN TB8 RB8 TI RI0x90* P1 0x8D TH1 0x8C TH0 0x8B TL1 0x8A TL0 0x89 TMOD GATE C/T M1 MO GATE C/T M1 M00x88* TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT00x87 PCON SMOD - - - GF1 GF0 PD IDL0x83 DPH 0x82 DPL 0x81 SP 0x80* P0
Ważniejsze rejestry specjalne ACC – akumulator, jeden z najczęściej wykorzystywanych rejestrów, gdyż obsługuje większość operacji arytmetycznych, logicznych, skoków warunkowych i wiele innych B – dodatkowy rejestr, wykorzystywany w trakcie operacji mnożenia (MUL) i dzielenia (DIV) PSW – rejestr stanu programu (Program Status Word), jest to zbiór różnych flag (wskaźników): PSW.0=P – parzystość, flaga jest ustawiana gdy wynikiem operacji jest liczba parzysta, PSW.1=F1 – począwszy od 8052, flaga którą może zdefiniować użytkownik, PSW.2=OV (Overflow) – przepełnienie, przekroczenie zakresu liczb w kodzie uzupełnienia do 2 (U2), PSW.3=RS0 (Register Bank Switch) młodszy bit numeru banku, PSW.4=RS1 (Register Bank Switch) starszy bit numeru banku, PSW.5=F0 – flaga ogólnego