Liste des Groupes | Revenir à c arch |
It is ok to *try* decoding a length from a token that might be an
instruction as long as you toss it away when you later find that it wasn't.
You use the tail of the first instruction to select the start of the second.
You use the tail of the first pair to select the start of the second pair.
You use the tail of the first quad to select the start of the second quad.
For example, if instructions can be 1..4 tokens long
then the next instruction comes from one of 4 following tokens,
the next instruction pair comes from one of 7 following instruction pairs,
the next instruction quad comes from one of 13 following instruction quads.
Decode0 Decode1 Decode2 Decode3 Decode4 Decode5...
| | | | | |
v v v v v v
Length0->[--------4:1 Select Mux----------][----------...
| | | | | |
v v | | | |
Inst0 Inst1 v v v v
Length1->[----------7:1 Select Mux---------------------]
| | | |
v v v v
Inst2 Inst3 [----------13:1 Select Mux-----------]
| | | |
v v v v
Inst4 Inst5 Inst6 Inst7
<---first pair---><--second pair--><--third pair---><---fourth pair--->Treeifying::
<-----------first quad------------><--------second quad--------------->
Les messages affichés proviennent d'usenet.