My first Pascal was actually UCSD Pascal which generated P-Code (which was just like Java or .NET byte code). I was given the task (at UCI) of making UCSD Pascal run on some machines the department had called "Lockheed Sue's" which were basically a ripoff of the PDP-11 except the BYTES WERE SWAPPED. I had a listing (in assembly) of the PDP-11 P-Code interpreter and I was asked to get it to run on the Lockheed SUE. I eventually succeeded which blew the minds of many people, including some UCI grad students who worked at Sperry Univac and had ported the P-Code system but with the ability to change the compiler which I did not have.
There was one flaw I could never overcome: the "set" operator in Pascal which allowed quick bit tests. I was able to twiddle the bytes to make it work - except for one case - which was where the "bit table" constant was precompiled into the compiler. It wasn't labeled as a "bit table" - it was just constant data - so there was no way to know at runtime exactly whether the bytes should be flipped or not.
Still, it was a mega achievement for me, back in the day (1982?), and I was privileged to work on that project. As a result of it, I met a lot of smart people, and that's always a good thing.
© 2005-2008 Stephen Clarke-Willson, Ph.D. - All Rights Reserved.