Gauging Interest

SealabJaster sealabjaster at gmail.com
Mon Feb 28 00:34:50 UTC 2022


Hi, I've been thinking about going back to a project, but feeling 
a bit demotivated, so I wanted to ask here if there's any 
potential interest in it before deciding whether to work on it 
some more, or just drop it completely.

Basically, it's a library to provide a statically typed way to 
construct x86_64 instructions, and then emit the machine code for 
them.

So given a description of the instructions: 
https://github.com/BradleyChatha/jupiter/blob/master/views/isa/x86_64.txt

It'll spit out code based off of those descriptions: 
https://github.com/BradleyChatha/jupiter/blob/master/source/jupiter/x86_64/ir.d#L297

(You can then use something like SumType to easily encapsulate 
all the instructions under one type.)

It's currently missing support for encoding VEX and EVEX, which 
is probably the first thing I want to do if I go back to the 
project because I've already had to skip a decent amount of 
instructions due to not supporting it, and I'm only up to the 
letter C in terms of mnemonics ;_;

But my main question is, does anyone see this as useful at all? 
Is this a project worth pursuing? Is there anything in particular 
you'd like to see to make this useful?

(Completely useless but fun fact: This project was originally an 
assembler, before I decided I needed a library just to help 
describe the machine code so that the assembler itself could be 
made sanely, so once this is in a good state I might go back to 
making an assembler)

The *very* long term goal of this project was to provide a 
similar interface for different architectures. Again, is this 
something worth pursuing?


More information about the Digitalmars-d mailing list