Misplaced Pages

Draft:Hasm: Difference between revisions

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Browse history interactively← Previous editNext edit →Content deleted Content addedVisualWikitext
Revision as of 02:45, 25 December 2024 editSamuelbuch (talk | contribs)29 editsNo edit summary← Previous edit Revision as of 02:47, 25 December 2024 edit undoSamuelbuch (talk | contribs)29 editsmNo edit summaryNext edit →
Line 3: Line 3:
| logo = | logo =
| paradigm = | paradigm =
| year = {{start date and age|2024}}<ref>{{cite web|url=https://github.com/firelabs-io/HASM|title=hasm_(programming_language)|assembly}}</ref> | year = {{start date and age|2024}}<ref>{{cite web|url=https://github.com/firelabs-io/HASM|title=hasm|assembly}}</ref>
| designer = ] | designer = ]
| developer = ] | developer = ]
Line 19: Line 19:
| file_ext = .hasm .hsm | file_ext = .hasm .hsm
}} }}
{{UserboxCOI|1=hasm_(programming_language)}}
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 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



Revision as of 02:47, 25 December 2024

HASM
Designed byfirelabs-io
Developerfirelabs-io
First appeared2024; 0 years ago (2024)
Typing disciplineStrong typed
Filename extensions.hasm .hsm
Influenced by
Netwide Assembler
This user has publicly declared that they have a conflict of interest regarding the Misplaced Pages article hasm_(programming_language).

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

References

  1. "hasm". {{cite web}}: Text "assembly" ignored (help)
Category: