Sujet : Re: Oops (Concertina II Going Around in Circles)
De : quadibloc (at) *nospam* servername.invalid (John Savard)
Groupes : comp.archDate : 06. May 2024, 18:06:44
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <o83i3jt87evip2lv6nfcip1kii64f3ef2b@4ax.com>
References : 1 2
User-Agent : Forte Free Agent 3.3/32.846
On Sun, 05 May 2024 00:57:44 -0600, John Savard
<
quadibloc@servername.invalid> wrote:
The final one is 1111 that allows 17-bit instructions, 48, 64, 80, and
96 bit instructions, and their arbitrary mixing.
However, one thing I wanted to do was have the 48-bit and longer
instructions also available outside of the variable-length format.
Previously, I had done this by having a second format of long
instructions. I wanted to avoid that, this time.
I came up with an idea. Just as 1111 _after_ the header in
variable-length mode was used to indicate long instructions, for other
modes, let 1111 after the header indicate each of two instruction
slots in which three 18-bit units from variable-length are
encapsulated. So a 48-bit instruction, taking up 64 bits, could be
placed in any of the other modes.
But because that code conflicts with the header, these things aren't
first-class citizens! I tried freeing up 1110 as well, but that was
clearly not going to work acceptably. So I took other measures that
only partly addressed that issue but consumed far less opcode space.
John Savard