Comment

Comment by gingerBill

> It supports x86, too

Well I assumed so because amd64 is a superset of x86. But nice to know you're working on arm64 too.

Regarding Intel-syntax, I think there is a little miscommunication here since I try to explain what I mean in the article. Intel-ordering is a good idea, but using nothing but the Intel-syntax wholesale is not universal enough, and needs modifying, especially for AMD64 and other ISAs. Odin's is Intel-like too, but fully Intel by design.

> That's so the source code can be tokenized and parsed without needing special behavior inside the asm { ... }.

This is why Odin's asm templates have their own universalized syntax. Thus the entire article.

> Not sure what you mean. RAX means register RAX. %RAX is not accepted.

This: https://github.com/dlang/dmd/blob/master/druntime/src/core/i...

It's why I referred to your "trick", which is something I wanted to need in the first place.

> That just makes it easier to parse!

For Odin's asm template syntax, it's not about being easier to parser, it's about having a context free grammar that is the same across ISAs. If I was to allow for prefixes directly in the grammar, either prefixes would have to have their special syntax or you'd need to have a context-sensitive grammar.

parent gingerBill 2 months ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton