Revision as of 00:50, 25 December 2024 editWiiformii (talk | contribs)Extended confirmed users, Pending changes reviewers, Rollbackers29,509 editsm Typo fixing, typo(s) fixed: constrcuted → constructed, then → thanTag: AWB← Previous edit | Revision as of 02:34, 25 December 2024 edit undoSamuelbuch (talk | contribs)29 editsNo edit summaryNext edit → | ||
Line 62: | Line 62: | ||
since a is less than b, c is 0 | since a is less than b, c is 0 | ||
and use lc to call labels | |||
<syntaxhighlight> | |||
output(ELF64) | |||
test: | |||
string msg1 = "hello world!" | |||
call stdout msg1 | |||
_main: | |||
lc msg1 | |||
exit 0 | |||
</syntaxhighlight> | |||
==References== | ==References== | ||
{{Reflist}} | {{Reflist}} |
Revision as of 02:34, 25 December 2024
Designed by | firelabs-io |
---|---|
Developer | firelabs-io |
First appeared | 2024; 0 years ago (2024) |
Typing discipline | Strong typed |
Filename extensions | .hasm .hsm |
Influenced by | |
Netwide Assembler |
The High asm or High level asm is an asm but constructed on top of nasm to be able code asm with some abstraction, can be used as ir to asm for compilers
syntax
close to nasm but not nasm, here snippet of code for hello world
output(ELF64) _main: $ spaces are not important $ yes it uses $ as comment string msg = "hello world!" $ strings is imultible call stdout msg exit 0
for comparasion 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 c
since a and b is 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 c
since 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 0