Hasm
| Designed by | firelabs-io |
|---|---|
| Developer | firelabs-io |
| First appeared | 2024[1] |
| Typing discipline | Strong typed |
| Filename extensions | .hasm .hsm |
| Website | {{ |
| Influenced by | |
| Netwide Assembler | |
Search Hasm on Amazon.
| This user has made a public declaration indicating that they have a conflict of interest with regard to the following Wikipedia article(s): |
The High asm or High level asm is an asm but constructed on top of nasm to be able to code asm with some abstraction, can be used as IR to asm for compilers.
Syntax
Close to nasm but not nasm, here is a snippet of code for hello world:
output(ELF64)
_main:
$ spaces are not important
$ yes it uses $ as comment
string msg = "hello world!"
$ strings is immutable
call stdout msg
exit 0For comparison you use command c a b where command can be more, less or equals.
This case:
output(ELF64)
_main:
int a = 2
int b = 2
int c = 0
equal c a b
exit cSince a and b are equal, c is 1 (1 == true, 0 == false).
output(ELF64)
_main:
int a = 1
int b = 2
int c = 0
more c a b
exit cSince a is less than b, c is 0.
And use lc to call labels:
output(ELF64)
test:
string msg1 = "hello world!"
call stdout msg1
_main:
lc msg1
exit 0References
This article "Hasm" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Hasm. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.
