#Expand Instructions Area?
1 messages · Page 1 of 1 (latest)
yes, this is an obvious improvement, and people mentioned it before multiple times (before the "feature request" forum was there)
I suggest making it so that there is an option so that: A) You can define several rulesets (E.X. Define a ruleset for arguments, output locations, and commands) and B) You can have a command that forces some bits of the arguments to be true or takes multiple bytes. Another idea is a small parser that lets you say something like 0b11aabb01 aaaabbbb bbbbaaaa cccccccc where a, b, and c would be substituted somehow.
not having this is the main thing keeping me from using data widths higher than 8-bit rn (tracking the rules by hand is painful lol)
My current project has wide instructions, but I don't need to care what bit-patterns they are (except for the top bit) as I use a ROM microcode lookup to drive the result.
yeah, im currently using a digital spreadsheet to design my isa, painful😢
I gave in and wrote a bunch of assembler rules using this https://github.com/hlorenzi/customasm
It spits out binaries i can insspect and type in by hand or load into ROM
Still quite painful tho
💻 An assembler for custom, user-defined instruction sets! https://hlorenzi.github.io/customasm/web/ - GitHub - hlorenzi/customasm: 💻 An assembler for custom, user-defined instruction sets! https://...
Yeah we used customasm in #etc-architecture before deciding we could do better with our own assembler written in python and then just did that
(we've since ported GAS, but this is a lot of work and not an acceptable workaround for most people doing projects/experiments with new ISAs)
I used a simple c# program to create my ROM contents and it also output it as a program, but having 2 program components isn't quite supported.
What about 2 program components isn't supported?
Multiple programs were buggy in like the free or days but it seems to work fine now
My last post in show and tell is using two and I never had a problem
or just like the bits themselves: 8 bit, 16 bit, 32 bit and 64 bit