??? 09/20/07 20:36 Read: times |
#144847 - mhm Responding to: ???'s previous message |
Maarten Brock said:
Jan, your version would mean to me:
JMP (@A) + DPTR ;get the value at the address stored at A (in which memory?), add it to DPTR and jump to it. Quite so. But the reason for this notation is historical, and - not too surprisingly - it comes from the 8048 instruction set. The indirect jump, JMPP @A, took content of A, looked up value on the current page pointed by A, and placed that instead of low portion of PC. This is a true indirection, unlike in the JMP @A+DPTR in '51. However, I bet, the designers of '51 wanted to stress the continuity; and as MOVP A,@A and MOVP3 A,@A mapped quite straghtforwardly into MOVC A,@A+PC and MOVC A,@A+DPTR, they assumed a similar analogy for the "table jump", too, even if it works in a different manner. JW |