M
MooseFET
- Jan 1, 1970
- 0
[email protected] says... [... CDP1802 ...]
Well, the 8051, at least in its original incantation, isn't much of a
screamer either (12 clocks per op, as well).There's a big difference between 12 cycles of a 12MHz clock and 12
cycles of a 2 MHZ clock. Besides:
Like I said, there isn't much of a difference.
A = B + CCompiles to something like 16 instructions if A, B and C are randomly
located in the RAM area.
The 8051 is not so different if A, B, and C are randomly located in
external RAM. I'd never use a HLL on such a beast.
MOV DPTR,#B ; 1
MOVX A,@DPTR ; 2
MOV R5,A ; 3
MOV DPTR,#C ; 4
MOVX A,@DPTR ; 5
ADD A,R5 ; 6
MOV DPTR,#A ; 7
MOVX @DPTR,A ; 8
The 8051 took 8. Now lets see if I can remember the 1802 well enough:
LD #LOW(B) ; 1 Data = low 8 of address
PLO R5 ; 2 Put to low 8
LD #HIGH(B) ; 3 Data = high 8 of address
PHI R5 ; 4 Put to high 8
LD #LOW(C) ; 5
PLO R6 ; 6
LD #HIGH(C) ; 7
PHI R6 ; 8
LD #LOW(A) ; 9
PLO R7 ; 10
LD #HIGH(A) ; 11
PHI R7 ; 12
LDN R5 ; 13 Load what R5 points to
SEX R6 ; 14 Do math with what R6 points to
ADD ; 15 Do the math
STD R7 ; 16 Store where R7 points
The instruction count for the 1802 is double that of the 8051 and with
the slower clock speed, the 1802 takes about a billion times longer to
do the same operation.
[... about keyboards ...]
Which is why I put 8048 in quotes. My bet is that the 8048 core is
still in there.
I wonder if they've gone so far as to look at the code to see which
instructions actually got used an only implemented that much of the
8048.