Draft:Hasm

{{Draft article}}

{{Infobox programming language

| name = HASM

| logo =

| paradigm =

| year = {{start date and age|2024}}{{cite web|url=https://github.com/firelabs-io/HASM|title=hasm|website=GitHub}}

| designer = firelabs-io

| developer = firelabs-io

| latest_release_version =

| latest_release_date =

| latest_test_version =

| latest_test_date =

| typing = Strong typed

| implementations =

| dialects =

| influenced_by = Netwide Assembler

| operating_system =

| license =

| website =

| 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

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

{{Reflist}}

{{Draft categories|

Category:2024 software

}}

{{improve categories|date=December 2024}}

{{Drafts moved from mainspace|date=December 2024}}