Ases

From Esolang
Jump to navigation Jump to search
Ases
Paradigm(s) imperative
Designed by Luiz Felipe
Appeared in 2017
Computational class Unknown
Major implementations GitHub
Influenced by Assembly, brainfuck
File extension(s) .ases

Ases (Assembly esotérico, or in English "esoteric Assembly") is an esoteric programming language developed by a Brazilian called Luiz Felipe. The objective of the esolang is to be as functional as possible in order for it to be possible to develop more complex algorithms but with limitations in order to turn it into a challenge.

Some characteristics of the language (like registers and stack) are based on the Assembly language of the x86 architecture.

Interpreter

The interpreter of the esolang was developed in C. The source code is distributed under the MIT license and can be found in the GitHub repository of the language.

Characteristics

One-line comments in Ases are defined with the ; (semicolon) character. Any character that is not an instruction is ignored.

Ases has a memory with a size of 256 bytes and a maximum code size of 256 bytes. This limit is because pointers have a size of 1 byte. Thus it is only possible to point to 256 different bytes in memory.

All instructions in Ases are just one character long.

Examples

Hello World in Ases

+++++ +++++ c ; C = 10
---         b ; B = 7

@
	C4     ; A += C
	D++++d ; D += 4
B-b%)      ; Repeat B times

D++++d     ; D += 4

; A = C * B
; D = 32

.++ 4   ; A += 2

.+++++! ; Memory[0] = 5

A1            ; "H"
=44444-4   A1 ; "e"
=4---4     A1 ; "l"
            1 ; "l"
.+++ 4 A>!< 1 ; "o" - Memory[1] = 'o'
           D1 ; " "
=5555-5    A1 ; "W"
>=a<       A1 ; "o"
.+++ 4     A1 ; "r"
=5 .+ 5    A1 ; "l"
=5--5 A1      ; "d"