Skip to content

Releases: bracesoftware/newasm

beta

19 Aug 16:38
Compare
Choose a tag to compare
beta Pre-release
Pre-release
.

0.1.2-R1-test

15 Jan 22:17
Compare
Choose a tag to compare

Full Changelog: 0.1.1-R3-test...0.1.2-R1-test

NewASM Release Notes

Welcome to NewASM: interpreted low-level language that mimics assembly.

  • Version: 0.1.2
  • Release: 1
  • Release type: test

NOTE: This is a pre-release which means that this product version doesn't represent the final quality of the product - it may contain bugs and problems that aren't yet discovered.

What's new

  • If you try to use an end instruction without creating a procedure, you will get an exception with exit code 32. Namely:
_:start
    end ; error
    ; other stuff
  • Added the new -log argument.

  • Added the new dynamic library system which is explained in the README.md in details.

  • Added more exception codes.

What's changed

  • No changes were made to other existing systems.

Fixed issues

  • No fixed issues.

Building from source

  • Use the following command to compile your own build of NewASM; make sure that you have G++ installed:
C:\path_to_your_compiler\g++ -static -std=c++20 index.cpp -o index.exe
  • If you are using Windows Subsystem for Linux, use the following command:
wsl g++ -m32 -static -std=c++20 index.cpp -o index.out

Downloading

  • Download one of the following archives that suits your system. Once you have downloaded it, extract the archive into a folder of your choice and begin using the application.

Using the application

  • Use the following command to execute your NewASM programs on Windows:
newasm -input yourfile.asm
  • If you are on Linux, just add the .out extension:
./newasm.out -input yourfile.asm

Writing your first NewASM app

  • Create the file named yourfile.asm, or just name it whatever you like, and edit it with an editor of your choice:
_ : start
    mov . tlr , "Hello world!"
    mov . stl , %endl
    mov . fdx , 1
    syscall . 0 , %ios
    retn . 0 , 0

Output:

Hello world!

0.1.1-R3-test

20 Aug 16:23
Compare
Choose a tag to compare

Full Changelog: 0.1.1-R2-test...0.1.1-R3-test

NewASM Release Notes

Welcome to NewASM: interpreted low-level language that mimics assembly.

  • Version: 0.1.1
  • Release: 3
  • Release type: test

NOTE: This is a pre-release which means that this product version doesn't represent the final quality of the product - it may contain bugs and problems that aren't yet discovered.

What's new

  • This update introduces a new data type - char; or character. To declare a character, use:
_:data
    char $ myvariablename = 'c'
  • Added %ios system call 7. Now you can use this system call to print single characters.

  • Added %ios system call 8; you can use this system call to ask for single character input.

  • If you try to create an empty procedure (taking up space), you will get an exception.

What's changed

  • The cmp instrucion has been adapted to support character variables as well.

  • The load instruction used for the heap allocation now also supports the character data type.

  • If you try to change the section inside the procedure code block, you will get an invalid syntax exception:

proc.0, procedure
    _:config ; shouldn't be here
end

Fixed issues

  • No fixed issues.

Building from source

  • Use the following command to compile your own build of NewASM; make sure that you have G++ installed:
C:\path_to_your_compiler\g++ -static -std=c++20 index.cpp -o index.exe
  • If you are using Windows Subsystem for Linux, use the following command:
wsl g++ -m32 -static -std=c++20 index.cpp -o index.out

Downloading

  • Download one of the following archives that suits your system. Once you have downloaded it, extract the archive into a folder of your choice and begin using the application.

Using the application

  • Use the following command to execute your NewASM programs on Windows:
newasm -input yourfile.asm
  • If you are on Linux, just add the .out extension:
./newasm.out -input yourfile.asm

Writing your first NewASM app

  • Create the file named yourfile.asm, or just name it whatever you like, and edit it with an editor of your choice:
_ : start
    mov . tlr , "Hello world!"
    mov . stl , %endl
    mov . fdx , 1
    syscall . 0 , %ios
    retn . 0 , 0

Output:

Hello world!

0.1.1-R2-test

19 Aug 16:20
Compare
Choose a tag to compare

Full Changelog: 0.1.1...0.1.1-R2-test

NewASM Release Notes

Welcome to NewASM: interpreted low-level language that mimics assembly.

  • Version: 0.1.1
  • Release: 2
  • Release type: test

NOTE: This is a pre-release which means that this product version doesn't represent the final quality of the product - it may contain bugs and problems that aren't yet discovered.

What's new

  • If you create a struct that hasn't been closed, an interpreter will throw an exception. You can find more about this error in the exit code table.
  • If you attempt to create a struct within a struct code block, an interpreter will also throw an exception.

What's changed

  • Product version ID now also contains one of 3 following release type labels:
    1. test - the build is under the testing phase;
    2. stable - the build is stable and ready for use;
    3. unstable - the build is unstable, you may encounter issues with it.
  • Source code has been split into more modules, enhancing productivity.

Fixed issues

  • Fixed an issue where the contents of the tlr register were not printed using the 5th system call in the input and output stream module.

Building from source

  • Use the following command to compile your own build of NewASM; make sure that you have G++ installed:
C:\path_to_your_compiler\g++ -static -std=c++20 index.cpp -o index.exe
  • If you are using Windows Subsystem for Linux, use the following command:
wsl g++ -m32 -static -std=c++20 index.cpp -o index.out

Downloading

  • Download one of the following archives that suits your system. Once you have downloaded it, extract the archive into a folder of your choice and begin using the application.

Using the application

  • Use the following command to execute your NewASM programs on Windows:
newasm -input yourfile.asm
  • If you are on Linux, just add the .out extension:
./newasm.out -input yourfile.asm

Writing your first NewASM app

  • Create the file named yourfile.asm, or just name it whatever you like, and edit it with an editor of your choice:
_ : start
    mov . tlr , "Hello world!"
    mov . stl , %endl
    mov . fdx , 1
    syscall . 0 , %ios
    retn . 0 , 0

Output:

Hello world!

0.1.1

18 Aug 18:52
Compare
Choose a tag to compare

Full Changelog: 0.1.0...0.1.1

I really should make a changelog.

0.1.0

17 Aug 17:33
Compare
Choose a tag to compare

Full Changelog: 0.0.9...0.1.0

0.0.9

15 Aug 19:59
Compare
Choose a tag to compare
0.0.9 Pre-release
Pre-release

Full Changelog: 0.0.8...0.0.9

0.0.8

13 Aug 22:17
Compare
Choose a tag to compare
0.0.8 Pre-release
Pre-release

Full Changelog: 0.0.7...0.0.8

0.0.7

13 Aug 20:30
Compare
Choose a tag to compare
0.0.7 Pre-release
Pre-release

Full Changelog: 0.0.6...0.0.7

Support for different architectures. Linux builds coming soon...

0.0.6

13 Aug 13:54
Compare
Choose a tag to compare
0.0.6 Pre-release
Pre-release

Full Changelog: 0.0.5...0.0.6

Currently, only x64 binaries are available.