Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > alt.sys.pdp10 > #9950

Accumulator naming

From Rich Alderson <news@alderson.users.panix.com>
Newsgroups alt.sys.pdp10
Subject Accumulator naming
Date 2026-07-29 18:10 -0400
Organization PANIX Public Access Internet and UNIX, NYC
Message-ID <mddqzklxxa5.fsf_-_@panix5.panix.com> (permalink)
References <87wlulwflh.fsf@atr2.ath.cx> <mdd33x9cbvq.fsf@panix5.panix.com> <87se579i01.fsf@atr2.ath.cx>

Show all headers | View raw


jayjwa <jayjwa@atr2.ath.cx.invalid> writes:

> Rich Alderson <news@alderson.users.panix.com> writes:

>> TDNE is a hardware instruction.

> Noted. It would be easier to see their usage if the accumulators had names
> that didn't exactly resemble numbers ( for example: rax, rbx, rcx, etc)
> instead of 1, 2, 3, etc. I had misunderstood what that instuction operated
> on.

So this has been percolating for a few days.  I finally went off and found a
book on X86/X64 assembly language programming to be certain, because I haven't
looked at the 8080/Z80 architecture in a very very long time.

To begin with, the accumulators in the PDP-6 and the first model of the PDP-10
(the KA-10 processor) were an add-on feature.  If they were not present in the
system, the first 16(10) locations in memory were used in any instruction that
required an accumulator.  When they *are* present, they are treated as part of
the program memory (mapped to locations 0-17(8)) and function the same way.

Why shouldn't they then be referred to by numeric addresses just like the rest
of memory?

Secondly, unlike the named registers in the X86/X64 architecture, there are no
special case uses in the hardware for any accumulator.  As I noted elsewhere,
in older Tops-10 programs, the standard stack pointer is AC 1, including in the
monitor; TENEX and therefore TOPS-20 declared the standard to be AC 17.  Any AC
can be used for any purpose as long as the operating environment is programmed
to expect the assignments used.

Contrast the X86/X64, where the multiplication operation *requires* that the
multiplier be present in REAX, rather than in whichever register might be
convenient to the programmer.

The only accumulator that is special to the hardware is AC 0, which cannot be
used as an index.  This is clearly to be expected because 0000(2) in the index
field of the instruction is the signal to the hardware that no index is in use.
This restricts the programmer to only 15 possible index registers, which is
probably enough for anyone's purposes.  IMAO.

-- 
Rich Alderson					  news@alderson.users.panix.com
      Audendum est, et veritas investiganda; quam etiamsi non assequamur,
	  omnino tamen proprius, quam nunc sumus, ad eam perveniemus.
									--Galen

Back to alt.sys.pdp10 | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Fizz Buzz jayjwa <jayjwa@atr2.ath.cx.invalid> - 2026-07-23 17:39 -0400
  Re: Fizz Buzz Rich Alderson <news@alderson.users.panix.com> - 2026-07-23 23:19 -0400
    Re: Fizz Buzz jayjwa <jayjwa@atr2.ath.cx.invalid> - 2026-07-25 12:00 -0400
      Re: Fizz Buzz Rich Alderson <news@alderson.users.panix.com> - 2026-07-25 18:05 -0400
        Re: Fizz Buzz jayjwa <jayjwa@atr2.ath.cx.invalid> - 2026-07-26 11:12 -0400
      Accumulator naming Rich Alderson <news@alderson.users.panix.com> - 2026-07-29 18:10 -0400
        Re: Accumulator naming scott@slp53.sl.home (Scott Lurndal) - 2026-07-30 15:14 +0000
          Re: old architectures, was Accumulator naming John Levine <johnl@taugh.com> - 2026-07-30 20:40 +0000
          Re: Accumulator naming Rich Alderson <news@alderson.users.panix.com> - 2026-07-30 18:41 -0400
        Re: Accumulator naming jayjwa <jayjwa@atr2.ath.cx.invalid> - 2026-07-30 11:24 -0400
          Re: Accumulator naming scott@slp53.sl.home (Scott Lurndal) - 2026-07-30 16:03 +0000
          Re: Accumulator naming Rich Alderson <news@alderson.users.panix.com> - 2026-07-30 18:56 -0400
            Re: Accumulator naming cross@spitfire.i.gajendra.net (Dan Cross) - 2026-07-30 23:48 +0000
              Re: Accumulator naming John Levine <johnl@taugh.com> - 2026-07-31 01:31 +0000
                Re: Accumulator naming cross@spitfire.i.gajendra.net (Dan Cross) - 2026-07-31 02:52 +0000
                Re: Accumulator naming John Levine <johnl@taugh.com> - 2026-07-31 03:36 +0000
                Re: Accumulator naming Lars Brinkhoff <lars.spam@nocrew.org> - 2026-07-31 13:40 +0000
          Re: Accumulator naming Lars Brinkhoff <lars.spam@nocrew.org> - 2026-07-31 13:35 +0000
          the Ten Heavenly Stems (was Re: Accumulator naming) Kragen Javier Sitaker <kragen@canonical.org> - 2026-09-11 16:07 -0300
            Re: the Ten Heavenly Stems (was Re: Accumulator naming) Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-09-14 01:12 +0800
              Re: the Ten Heavenly Stems (was Re: Accumulator naming) Kragen Javier Sitaker <kragen@canonical.org> - 2026-09-14 14:40 -0300
                Re: the Ten Heavenly Stems (was Re: Accumulator naming) scott@slp53.sl.home (Scott Lurndal) - 2026-09-14 18:09 +0000
                Re: the Ten Heavenly Stems (was Re: Accumulator naming) quadibloc@invalid.com (John Savard) - 2026-10-26 03:00 +0000
  Re: Fizz Buzz "Kerr-Mudd, John" <admin@127.0.0.1> - 2026-08-21 13:27 +0100

csiph-web