On 11/3/2021 9:13 AM, Jay Jaeger wrote:
On 11/2/2021 9:53 PM, Vincent Slyngstad via cctalk wrote:
In making the page zero literals line up (so that the code matches the originals), I found two locations in xmtape which are coded as
     TAD    (16.
but the code references a new literal at location 0161, instead of the previously generated one at location 0166.  This is at location 0567 and again at 0666.

I probably used LAP-6 or DIAL to do the assembly - I don't recall right now.

It seems you didn't notice that I included two separate programs in my previous post:  XMTAPE and CMPTAP  ;)

In XMTAPE we see:

0215  0315 1161 0020         TAD (16.
0540  0567 1161 0020         TAD (16.
0646  0666 1161 0020         TAD (16.

In CMPTAP - a separate program - we see:

0216  0336 1166 0020         TAD (16.

I had noticed the two programs, and have translated them both.

The grep-like output you include does help clarify the confusion I was suffering when I wrote. I later figured out that what was actually confusing my PAL code was that I had messed up translating the instance at 0215.

The PAL style assembler assembled that line as if it read
        TAD     [16 .
which says to OR 0016 and the current location counter, then make a literal, then make a TAD instruction referencing the literal. Which basically filled the slot at 0161 with rubbish, but generates the correct "1161" instruction. The two later references generated a literal elsewhere, and their code was therefore flagged as incorrect when the binary diff was done.

The binary diff was against the assembled octal from column 3, and therefore is missing the literals (and thus always flags them all as different).

Anyway, the short version is there was never anything wrong with your LAP/DIAL output, but I was confused for a bit.

Thanks again!

        Vince

Reply via email to