By whygee on Thursday 19 March 2009, 14:50 - Updates and news
Development of and around YASEP is going on in a weird way, but it still continues...
Why so much caution ? Because the changes to the architecture are quite deep. The instructions forms are increasingly complex and I've pushed the design beyond what I intended in the beginning.
If you don't remember, YASEP had only two ways to address data previously :
short form :
Reg1 OP Reg2 => Reg1 (16 bits)
long form :
Reg1 OP Imm16 => Reg2 (32 bits)
Now a few bits are freed and this gives much more "flexibility", so I added :
Short Immediate :
Reg1 OP Imm4 => Reg1 (16 bits)
Long Register :
Reg1 OP Reg2 => Reg3 (32 bits)
And because there was still some room, this last form has more elaborate versions :
Long conditional :
Reg1 OP Reg2 IF{NOT} Reg4{LSB/MSB/Zero/ready} => Reg3 (32 bits)
And other versions come up when the Reg2 field is interpreted as Imm4 :
Long conditional short Imm: (excuse the name)
Reg1 OP Imm4 IF{NOT} Reg4{LSB/MSB/Zero/ready} => Reg3 (32 bits)
Or without condition :
Reg1 OP Imm4 => Reg3 (32 bits)
This applies to the computation instructions, the control instructions are still too undefined yet.
Code density should increase, which is worth the efforts. I don't know if it will reach the level of ARM or x86 but it is certainly a major advance. However, this breaks a lot of the assembler's mechanisms, so I prefer to rewrite it. This takes a while because the rest must be adapted too : the Instruction Set, the manual pages, the validators...
If you can't stand the wait, have a look at a present, broken version at http://yasep.org/~whygee/yasep2009/, at least it is more recent than the main site.
20200407:
Code density comes at the cost of coding complexity...
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.