zlacker

[parent] [thread] 7 comments
1. IshKeb+(OP)[view] [source] 2025-01-15 07:51:28
This is very cool. On the topic of assembly, does anyone know of a language that is higher level than assembly, but retains the property that the output doesn't depend on the compiler or its flags?

I want it for low level CPU benchmarks and tests. Using C or assembly for those both suck.

I don't really know exactly how this would look (is the register allocator part of the spec?) but has anyone tried something like this?

replies(5): >>Levita+99 >>asgeir+qe >>action+kj >>gianca+IK >>pjmlp+jX
2. Levita+99[view] [source] 2025-01-15 09:28:29
>>IshKeb+(OP)
> but retains the property that the output doesn't depend on the compiler or its flags?

That's not an inherent property of assemblers, and not the case in practice either.

replies(1): >>IshKeb+Ba
◧◩
3. IshKeb+Ba[view] [source] [discussion] 2025-01-15 09:43:53
>>Levita+99
Yes I know there are some minor caveats with pseudo-instructions and relocations but in general it is basically true. You can't wildly change the output without changing the source like you can with C.
4. asgeir+qe[view] [source] 2025-01-15 10:22:08
>>IshKeb+(OP)
Have you tried looking into something like NASM's macro functionality?
5. action+kj[view] [source] 2025-01-15 11:12:22
>>IshKeb+(OP)
That sounds like a tall order. If you want it for CPU benchmarks, you presumably want to be able to use all real CPU machine instructions. Or a simpler language instruction set but with an optimizer, but it's hard to write an optimizer and then you could never change the optimizer.
6. gianca+IK[view] [source] 2025-01-15 14:47:07
>>IshKeb+(OP)
There was a post on HN where someone implemented a new language compiler purely from Assembly, and shows you from nothing to the very end where it looked mostly like a LISP assembly language. It was really neat. Sadly I dont have the buzzwords for Google to find it anymore, used to be able to find the powerpoint slides for it.

I forgot about HLA (High Level Assembly) though I have not used it personally, there were also a few others like C-- as well:

https://en.wikipedia.org/wiki/High_Level_Assembly

replies(1): >>French+s11
7. pjmlp+jX[view] [source] 2025-01-15 15:38:37
>>IshKeb+(OP)
Naturally, it is time for some Forth. :)
◧◩
8. French+s11[view] [source] [discussion] 2025-01-15 15:52:30
>>gianca+IK
something like this: http://web.archive.org/web/20061108010907/http://www.rano.or... ?
[go to top]