build 5 (beta)
Full Changelog: b4.1417691487.1046871164-beta...build-5
NewASM Release Notes
Welcome to NewASM: an interpreted low-level programming language which combines explicit memory and register control, giving it a breeze of assembly-like feel, with high-level functionalities such as objects, threads and more.
- Version:
build 5
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
- Added I/O ports for disk management.
- Added namespaces:
.data
./locals
[lock]
txt variable: "hi"
[!lock]
./!locals
.start
mov tlr, locals::variable
mov stl, 0c1
mov bos, 2
mov fdx, 1
sysenter %ios
syscall
ret 0What's changed
- The following instructions have had their deprecated suffix part removed:
push,pop - Removed the
-testargument.
Fixed issues
- No important fixes.
- We've been focused on code optimisation.
Important notes
- Added support for older versions of Windows (Vista, 7, 8, 8.1).
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.outDownloading
- 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
NewASMprograms on Windows:
newasm -input yourfile.asm- If you are on Linux, just add the
.outextension:
./newasm.out -input yourfile.asmWriting 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:
.$using %ios
.data
txt string : "Hello world!"
num len : $-string
.start
mov tlr, string
mov stl, 0c1
mov bos, len
mov fdx, 1
sysenter %ios
syscall
ret 0Output:
Hello world!