diff --git a/README.md b/README.md index 8374108..9935871 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,7 @@ The interpreter works for linux as well, but some API's are Windows only (for no TODO : - get rid of the CRT (so we can get a smaller PE) +- blank IAT # Documentation The documentation is available [here](docs/documentation.md), it *should* cover everything you have to know before writing scripts. @@ -42,3 +43,4 @@ Then link the library to your program, see [this example](tests/lib_use.c).
- [polynomial calculator](examples/poly.pasm) - [pointers usage example](examples/ptr.pasm) - [functions test](examples/test.pasm) +- [shellcode execution](examples/shellcode.pasm) diff --git a/docs/documentation.md b/docs/documentation.md index cacdb6f..5e289ca 100644 --- a/docs/documentation.md +++ b/docs/documentation.md @@ -95,6 +95,16 @@ All the operands are case-sensitive, meaning that `ADD` will be an invalid opera Please note that additional operands will be added in the future.
You can use the `&` and the `*` keywords just like in C to get the address and/or dereference and address. Example : `mov a1, &eax` +## Arrays +You can define an array using the keyword `set` like so : +``` +set msg "hello, world !\0" +set arr 1, 2, 3, 4, 5 +``` + +Here, `msg` and `arr` are pointers to the first element of the array, as expected.
+Arrays are R/W. + ### Calling APIs APIs can be added in the [api.c](https://github.com/ALittlePatate/pasm/blob/main/src/api.c) and [api.h](https://github.com/ALittlePatate/pasm/blob/main/src/api.h) files. For the moment only `put` and `GetAsyncKeyState` can be called.