Sujet : Re: Concertlina II: Full Circle
De : quadibloc (at) *nospam* servername.invalid (John Savard)
Groupes : comp.archDate : 25. Jun 2024, 02:52:28
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <id8k7jpg5bj2ejlvdfepu1jr84kmspqnen@4ax.com>
References : 1 2 3 4 5 6 7 8 9 10
User-Agent : Forte Free Agent 3.3/32.846
On Sat, 22 Jun 2024 23:04:28 -0600, John Savard
<
quadibloc@servername.invalid> wrote:
Because it seemed to me that any VVM-alike instruction I had would
have to have at least an alternate form longer than 32 bits, despite
my efforts to squeeze it in to much less space than you use... I felt
that I needed to go back to an earlier iteration of Concertina for a
method of making it easier to use long instructions in programs.
>
Doing that, though, required me to reserve some opcode space, and one
of the consequence is that the instructions referred to above had to
be moved to an alternate instruction set!
I decided that this was unacceptable, and that I did not need to
reserve so much space for an alternate way of encoding long
instructions.
Instead of changing how most long instructions are encoded, I've kept
this new way of encoding long instructions, with less opcode space
reserved for it, for a special use: long instructions that might need
to vary in length in a complicated fashion. Instructions that are
entirely in the instruction stream as variable-length instructions
can't be like that, but if the excess over 32 bits is accessed by a
supplementary pointer in the same reserved area as used for
pseudo-immediate values, then it doesn't matter if the length of the
instruction varies because various fields are included or omitted in a
complicated fashion.
So now long instructions of this type only need a small amount of
opcode space, as only a few special ones are encoded this way.
John Savard