diff --git a/README.md b/README.md new file mode 100644 index 0000000..230ddd6 --- /dev/null +++ b/README.md @@ -0,0 +1,72 @@ +# Assembleur + +## Usage + +```bash +./Assembleur [--help] [--version] [--output file] [--format type] file +``` + +There are 3 format types : + - "int" : 32 bits integers are written. Exemple : `10878976` + - "binint" (default) : bits are written. Exemple : `00000000 10100110 00000000 00000000` + - "bin" : the file is written in pure binary + +## Exemple + +```assembly +operations: + add R1 R2 R3 + sub R1 R2 #69 + and R0 R6 R3 + xor R1 R2 R3 + or R1 R7 R3 + sl R5 R2 #10 + sr R1 R2 R3 +io: + str R1 R2 R3 + ld R1 R2 R3 +sauts: + jmp controle + jequ R1 R2 io + jneq R1 R2 sauts + jsup R1 R2 operations + jinf R1 R2 controle +controle: + call io + ret +``` + +Produces + +``` +00000000 10100110 00000000 00000000 +00010100 10100000 00000000 01000101 +00100000 10100110 00000000 00000000 +01000000 10100110 00000000 00000000 +00110000 10100110 00000000 00000000 +01010000 10100110 00000000 00000000 +01100000 10100110 00000000 00000000 +01000001 01001100 00000000 00000000 +01010001 01001100 00000000 00000000 +11000000 00000000 00000000 00000101 +11010001 01010000 00000000 00000011 +11100001 01010000 00000000 00000010 +11110001 01010000 00000000 00001100 +11000001 01000000 00000000 00000001 +11010100 00000000 00000000 00000111 +11100000 00000000 00000000 00000000 +``` + +## Build + +You should have [xmake](https://xmake.io) installed + +```bash +xmake +``` + +## Run + +```bash +xmake run +``` \ No newline at end of file