Code/XData IO and Microcode information
Part of i8051 project
// (c) C.c 2011


IO
------------------------------------------------------------------------------
Input Description
ClkM CPU clock
BusB Bus B (current)
BusC Bus C (current)
Wrk1 Work register 1
Wrk1 Work register 2

Output Description
BusB16 Bus B (result)
BusC16 Bus C (result)

Route:
BusC -> DPL, PCL, XData
BusB -> DPH, PCH
XData, Code -> BusB16, BusC16
PCH/L, DPH/L -> BusB16, BusC16

Adressing:
[PC], [DPTR], [Wrk2.Wrk1] -> Code
[PC], [DPTR], [Wrk2.Wrk1] -> XData



Microcode map
------------------------------------------------------------------------------
Bit Description
0-2 Reserved
3 WriteXDATA
4 SetPCL
5 SetPCH
6 IncPC
7..9 BusB Output selection:

000 Null (use it if you don't want to select anything)
001 Code
010 XData
011 PCH
100 PCL
101 DPH
110 DPL
111 Null/Reserved

10..12 BusC Output selection:

000 Null (use it if you don't want to select anything)
001 Code
010 XData
011 PCH
100 PCL
101 DPH
110 DPL
111 APCH (PCH[7..3] + (IR[7..5] >> 5))

13..14 ACX Bus selection (selects accsess adress for Code/XData memory)

00 PC
01 DPTR
10 Wrk2.Wrk1
11 Null/Reserved (maybe INTR)

15..16 Reserved
Соседние файлы в папке Docs