PDP-11 as 68000 Cloner
COTTRELL, JAMES
cottrell at nbs-vms.arpa
Wed Nov 20 11:14:56 AEST 1985
/* >> = Me, > = Ron Natalie
> > Of course there are *some* differences. And of course the 68000 is a
> > 32-bit machine (crammed onto a 16-bit bus) while the pdp is a 16-bit one.
>
> And it has the bytes in the wrong order.
Great! Another Little Endian!
> > As far as relative code, the pdp is missing something. How do you
> > load the address of a variable relative to the PC? This way:
> >
> > mov pc,r0 ; address of `here'
> > here: add #foobar-here,r0 ; make relative
> >
> Bad example, now what are you going to do with this loaded
> address? PDP-11 instructions allow things like
>
> tst foobar(pc)
>
> which is exactly equivalent to
>
> tst foobar
Bad example, now what can I do with that loaded question? You see,
foobar just happens to be an array! What I need to do is get it's
address into a register so I can auto-{in,de}crement the bugger. Or
maybe I want to pass it's address as a parameter to
str{cpy,cat,cmp,mung}. Since this ain't no VAX, we can't double index as
tst foobar(pc)[r0].
And it's just a box of rain, I don't know who put it there
Believe if if you need it, or leave it if you dare
jim cottrell at nbs
*/
------
More information about the Comp.lang.c
mailing list