ac and mq EAE
registers are still in use in s2-bits binaries
but have been replaced by s1-bits.
Interesting. How did you work that out, BTW?
Regarding the EAE registers, in as19.s[1], there is this set of mappings:
012717;000000;01;177570 /csw
015176;000000;01;177300 /div
003270;000000;01;177302 /ac
051750;000000;01;177304 /mq
052224;000000;01;177306 /mul
073470;000000;01;177310 /sc
074620;000000;01;177311 /sr
054752;000000;01;177312 /nor
047000;000000;01;177314 /lsh
004500;000000;01;177316 /ash
Among others, here we have the mappings for ac, mq, mul, and div.
In the disassembled source of df(I) from s2-bits[2], at the second 9 label, ac, mq, div,
and mul are used to perform a division by 10 (I think, my PDP-11-fu isn't *that*
strong yet):
9:
clr ac
mov $10.,div
mov ac,-(sp)
tst mq
beq 2f
jsr pc,9b
In the disassembler output (I used pdp11dasm[3]) these values were all the same addresses
as the above table from as(I).
In the source df.s under the V2/cmd section[4], this is instead replaced by use of the dvd
opcode:
9:
clr r2
dvd $10.,r2
mov r3,-(sp)
mov r2,r3
beq 2f
jsr pc,9b
I've seen this sort of thing consistently as I comb through files in s2-bits, using
stuff from s1-bits and V5 as references.
[1] -
https://www.tuhs.org/cgi-bin/utree.pl?file=V2/cmd/as19.s
[2] -
https://gitlab.com/segaloco/v2src/-/raw/master/cmd/df.s
[3] -
https://github.com/caldwell/pdp11dasm
[4] -
https://www.tuhs.org/cgi-bin/utree.pl?file=V2/cmd/df.s
- Matt G.