This commit is contained in:
Jeremy FLEURY
2019-07-17 11:51:13 +02:00
parent 748d10f4f3
commit 45e980b4e3
65 changed files with 6601 additions and 18 deletions

View File

@@ -6,7 +6,7 @@
/* By: jfleury <jfleury@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2018/11/05 15:35:42 by jfleury #+# #+# */
/* Updated: 2019/07/15 19:15:18 by igarbuz ### ########.fr */
/* Updated: 2019/07/17 11:49:39 by jfleury ### ########.fr */
/* */
/* ************************************************************************** */
@@ -18,7 +18,7 @@
# include <stdlib.h>
# include <stdarg.h>
# define BUFF_SIZE 32
# define BUFF_SIZE 1
# define CONV_ID_NB 13
# define FLAGS_NB 5
# define PRECI_GROUPS 3
@@ -120,8 +120,8 @@ char *ft_strstr(const char *str, const char *to_find);
char *ft_strsub(char const *s, unsigned int start, size_t len);
char *ft_strtrim(char const *s);
int ft_tolower(int c);
char *ft_itoa_base_int(unsigned int nb, int base);
char *ft_itoa_base_short(unsigned short nb, int base);
unsigned char *ft_itoa_base_int(unsigned int nb, int base);
unsigned char *ft_itoa_base_short(unsigned short nb, int base);
int ft_toupper(int c);
char *ft_strextend(char *s1, char const *s2);
char *ft_strnextend(char *s1, char const *s2, size_t len);

View File

@@ -6,7 +6,7 @@
/* By: jfleury <jfleury@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/01/23 15:05:04 by allefebv #+# #+# */
/* Updated: 2019/07/09 15:26:17 by jfleury ### ########.fr */
/* Updated: 2019/07/17 11:39:51 by jfleury ### ########.fr */
/* */
/* ************************************************************************** */
@@ -14,7 +14,7 @@
#include <stdlib.h>
#include <string.h>
static int ft_malloc_len(unsigned int nb, int base)
static int ft_malloc_len(unsigned int nb, int base)
{
int i;
@@ -27,11 +27,11 @@ static int ft_malloc_len(unsigned int nb, int base)
return (i);
}
char *ft_itoa_base_int(unsigned int nb, int base)
unsigned char *ft_itoa_base_int(unsigned int nb, int base)
{
unsigned int result;
int i;
char *str;
unsigned char *str;
char *tab;
tab = ft_strdup("0123456789abcdef");
@@ -40,7 +40,7 @@ char *ft_itoa_base_int(unsigned int nb, int base)
i = ft_malloc_len(nb, base);
if (nb == 0)
i++;
if (!(str = (char*)malloc(sizeof(char*) * i + 1)))
if (!(str = malloc(sizeof(unsigned char*) * i + 1)))
return (NULL);
str[i] = '\0';
if (nb == 0)

View File

@@ -6,7 +6,7 @@
/* By: jfleury <jfleury@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/01/23 15:05:04 by allefebv #+# #+# */
/* Updated: 2019/07/13 17:27:38 by tmaze ### ########.fr */
/* Updated: 2019/07/17 11:40:00 by jfleury ### ########.fr */
/* */
/* ************************************************************************** */
@@ -14,9 +14,9 @@
#include <stdlib.h>
#include <string.h>
static int ft_malloc_len(unsigned short nb, int base)
static int ft_malloc_len(unsigned short nb, int base)
{
short i;
short i;
i = 0;
while (nb != 0)
@@ -27,12 +27,12 @@ static int ft_malloc_len(unsigned short nb, int base)
return (i);
}
char *ft_itoa_base_short(unsigned short nb, int base)
unsigned char *ft_itoa_base_short(unsigned short nb, int base)
{
unsigned short result;
short i;
char *str;
char *tab;
unsigned short result;
short i;
unsigned char *str;
char *tab;
tab = ft_strdup("0123456789abcdef");
if (base < 2 || base > 16)
@@ -40,7 +40,7 @@ char *ft_itoa_base_short(unsigned short nb, int base)
i = ft_malloc_len(nb, base);
if (nb == 0)
i++;
if (!(str = (char*)malloc(sizeof(char*) * i + 1)))
if (!(str = malloc(sizeof(unsigned char*) * i + 1)))
return (NULL);
str[i] = '\0';
if (nb == 0)

BIN
test_tool/asm_zaz Executable file

Binary file not shown.

241
test_tool/champion/42.s Normal file
View File

@@ -0,0 +1,241 @@
.name "42"
.comment "Just a basic Winner Program"
entree: live %42 # entree
ld %0,r5
ld %0,r5
zjmp %:bite
tir: sti r1,%:tirb,%1
ld %2304,r10
ld %1,r5
ld %0,r11
ld %4,r3
tirf: live %42
fork %:tirop
live %742
sub r3,r5,r3
zjmp %:top
ld %0,r11
fork %:tirvd
live %42
sti r10,%-510,%0
sti r10,%-404,%0
sti r10,%-303,%0
sti r10,%-202,%0
ld %0,r11
zjmp %:tirf
tirop: ld %368,r2
ld %0,r3
ld %4,r4
tirb: live %1
sti r10,%-510,r2
sti r10,%-510,r3
add r4,r5,r4
add r3,r4,r3
sub r2,r4,r2
zjmp %:tirop
ld %0,r11
zjmp %:tirb
zjmp %:infi
p32deb: zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
p32: sub r6,r4,r6
add r6,r6,r11
ldi %:p32deb,r6,r7
sti r7,%-510,r11
p32li: live %1
ld %0,r10
sti r7,%-250,r6
zjmp %-192
tirvd: zjmp %:tirvd2
bite: sti r1,%:copie,%2
ldi %:copie,%3,r2 # met le ld a l'entree
sti r2,%:entree,%-4
ldi %:copie,%-1,r2
sti r2,%:entree,%-8
sti r1,%:p32li,%1
sti r1,%:b0,%1
ld %0,r2
ld %8,r3 # prepare les fork
ld %1,r4
ld %0,r6
b0: live %1 # boucle fork
sub r3,r4,r3
zjmp %:tart
fork %:b1
st r5,r2
xor r10,r10,r10 # pour rien
add r10,r10,r10 # pour rien
add r6,r6,r6
ld %0,r10
zjmp %:b0
b1: add r2,r4,r2
add r6,r6,r6
add r6,r4,r6
ld %0,r10
zjmp %:b0
top: live %42
ld %9,r3
sti r3,%:p32deb,%-6
ld %2,r3
sti r3,%:p32deb,%-16
ld %0,r3
zjmp %:topd
infi: sti r1,%:l0,%1
sti r1,%:l1,%1
sti r1,%:l2,%1
sti r1,%:l3,%1
sti r1,%:l4,%1
sti r1,%:l5,%1
sti r1,%:l6,%1
sti r1,%:l7,%1
sti r1,%:l8,%1
sti r1,%:l9,%1
sti r1,%:l10,%1
l0: live %1
l1: live %1
l2: live %1
l3: live %1
l4: live %1
l5: live %1
l6: live %1
l7: live %1
l8: live %1
l9: live %1
l10: live %1
zjmp %:l0
p1: zjmp %:infi
live %0 # pour boucher l'entree
copie: ld %1,r1
tart: sti r1,%:p64li,%1
or r2,r2,r2 # selection vers les modules
zjmp %:p64
sub r2,r4,r2
zjmp %:p32
ld %0,r2
zjmp %:infi
tirvd2: zjmp %:tirdow
topd: ld %9,r3
sti r3,%:fin,%-6
ld %2,r3
sti r3,%:fin,%-16
ld %0,r3
zjmp %:infi
p64deb: zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
zjmp %0
p64: ld %10,r8
sub r6,r8,r6
and r6,%2147483648,r8
zjmp %:cont
ld %118,r8
add r6,r8,r6
cont: add r6,r6,r6
ld %272,r8
ld %29,r9
ldi %:p64deb,r6,r7
sti r7,r8,r6
sti r7,r9,r6
p64li: live %1
ld %0,r10
zjmp %186
tirdow: ld %425,r2
ld %0,r3
ld %4,r4
tird: live %42
sti r10,%:fin,r2
sti r10,%:fin,r3
add r4,r5,r4
add r3,r4,r3
sub r2,r4,r2
zjmp %:tirdow
ld %0,r11
zjmp %:tird
zjmp %:p1
fin: live %633

View File

@@ -0,0 +1,158 @@
.name "King Sombra"
.comment "Crystal empire is mine!"
init:
rest:
fork %:go
live %0
fork %:go2
prelive:
ld %251658255, r2
ld %1, r12
ld %40, r11
st r1, 11
st r16, -4
shield:
live %0
st r16, -300
st r2, -301
st r2, -302
sub r11, r12, r11
zjmp %:fork
ld %0, r16
zjmp %:shield
go:
ld %0, r16
zjmp %:assaut1
go2:
ld %0, r16
zjmp %:assaut2
fork:
ldi %:shield, %1, r13
ld %0, r16
st r13, 6
forkcycle:
live %0
fork %:forkcycle
eraser:
st r13, 6
live %0
fork %:part2
part1:
ld %190056971, r10 # sti r10,r11
ld %135004416, r7 # r8,r12 live
ld %273, r8
ld %270, r11
ld %0, r12
fork %:start1
zjmp %:start2
part2:
ld %202068999, r10 # r12 sti r7
st r13, r7
ld %276, r8
ld %274, r11
ld %0, r12
fork %:start1
zjmp %:start2
start1:
zjmp %3
sti r10, r11, r12
sti r7, r8, r12
live %0
sti r10, r11, r12
sti r7, r8, r12
live %0
sti r10, r11, r12
sti r7, r8, r12
live %0
sti r10, r11, r12
sti r7, r8, r12
live %0
sti r10, r11, r12
sti r7, r8, r12
live %0
sti r10, r11, r12
sti r7, r8, r12
live %0
sti r10, r11, r12
sti r7, r8, r12
live %0
sti r10, r11, r12
sti r7, r8, r12
live %0
sti r10, r11, r12
sti r7, r8, r12
live %0
sti r10, r11, r12
sti r7, r8, r12
live %0
sti r10, r11, r12
sti r7, r8, r12
live %0
sti r10, r11, r12
sti r7, r8, r12
live %0
sti r10, r11, r12
sti r7, r8, r12
live %0
sti r10, r11, r12
sti r7, r8, r12
live %0
sti r10, r11, r12
sti r7, r8, r12
live %0
sti r10, r11, r12
sti r7, r8, r12
live %0
sti r10, r11, r12
sti r7, r8, r12
live %0
start2:
sti r10, r11, r12
sti r7, r8, r12
live %0
assaut2:
live %0
ld %190055943, r10 # sti r6, r7
ld %84476405, r11 # r5 jump 01F5 (501)
ld %150994956, r3 #0x0900000c
ld %150994956, r6 #0x0900000c
ld %26, r7
ld %495, r4
ld %0, r5
zjmp %:jump
assaut1:
live %0
ld %190055943, r10 # sti r6, r7
ld %84476405, r11 # r5 jump 01F5 (501)
fork %:second
ld %190055172, r3 #0x0B540304
ld %190055172, r6 #0x0B540304
ld %507, r7
ld %24, r4
ld %0, r5
zjmp %:jump
second:
live %0
ld %84475923, r3 #0x0509001b
ld %84475923, r6
ld %511, r7
ld %28, r4
ld %0, r5
zjmp %:jump
jump:
live %0
st r10, 511
st r11, 510
zjmp %501

75
test_tool/champion/Car.s Normal file
View File

@@ -0,0 +1,75 @@
#deassembler par msa 1.8, made by joe
.name "Tching tching(Intercepteur), Bouh!Bouh!(bruits d'anti-jeu)"
.comment ""
fork %:label00 # 3,0,281
ld %-272,r3 # 7,3,278
live %0 # 5,10,271
fork %:label01 # 3,15,266
ld %-272,r3 # 7,18,263
fork %:label02 # 3,25,256
ld %0,r2 # 7,28,253
ld %0,r4 # 7,35,246
zjmp %:label03 # 3,42,239
label02: ld %4,r2 # 7,45,236
ld %0,r4 # 7,52,229
zjmp %:label03 # 3,59,222
label01: ld %-202,r3 # 7,62,219
fork %:label04 # 3,69,212
ld %0,r2 # 7,72,209
ld %0,r4 # 7,79,202
zjmp %:label05 # 3,86,195
label04: ld %4,r2 # 7,89,192
ld %0,r4 # 7,96,185
zjmp %:label05 # 3,103,178
label00: ld %400,r3 # 7,106,175
live %0 # 5,113,168
fork %:label06 # 3,118,163
fork %:label07 # 3,121,160
ld %0,r2 # 7,124,157
ld %0,r4 # 7,131,150
zjmp %:label08 # 3,138,143
label07: ld %4,r2 # 7,141,140
ld %0,r4 # 7,148,133
zjmp %:label08 # 3,155,126
label06: fork %:label09 # 3,158,123
ld %0,r4 # 7,161,120
zjmp %:label10 # 3,168,113
label09: ld %0,r4 # 7,171,110
zjmp %:label11 # 3,178,103
label03: ldi r2,%:label12,r6 # 6,181,100
ld %0,r4 # 7,187,94
live %1 # 5,194,87
label12: sti r6,r2,r3 # 5,199,82
zjmp %-277 # 3,204,77
label08: ldi r2,%:label13,r6 # 6,207,74
ld %0,r4 # 7,213,68
live %1 # 5,220,61
label13: sti r6,r2,r3 # 5,225,56
zjmp %395 # 3,230,51
label05: ldi r2,%:label14,r6 # 6,233,48
ld %0,r4 # 7,239,42
live %1 # 5,246,35
label14: sti r6,r2,r3 # 5,251,30
zjmp %-207 # 3,256,25
label10: live %1 # 5,259,22
fork %:label10 # 3,264,17
zjmp %:label10 # 3,267,14
label11: live %1 # 5,270,11
fork %:label11 # 3,275,6
zjmp %:label11 # 3,278,3

View File

@@ -0,0 +1,159 @@
.name "Douceur-power"
.comment "La douceur de la quenelle"
sl:
st r1, 7
ld %4242, r1
st r2, :sl
sti r2, %:sl, %1
fork %:ff1
sti r1, %:l1, %1
sti r1, %:a3, %1
ld %252645135, r9
ld %4294967041, r10
ld %655202, r12
ld %17432564, r15
ld %42991616, r16
ld %0, r2
l1:
live %12345
fork %:a0
wall:
live %12345
st r15, -467
st r16, -478
st r1, -487
st r10, -496
st r2, -491
st r9, -45
st r9, -60
st r9, -75
st r9, -90
st r9, -105
st r9, -120
st r9, -135
st r9, -150
zjmp %:wall
ff2:
live %12345
sti r2, r3, r3
zjmp %-509
ff1:
live %12345
fork %:pp2
pp1:
ld %-252, r3
ld %190055683, r2
ld %190056451, r5
ld %-12, r9
ld %190056457, r8
ld %0, r16
zjmp %:ff2
pp2:
ld %-250, r3
ld %50986499, r2
ld %50986499, r5
ld %-10, r9
ld %151650275, r8
ld %0, r16
zjmp %:ff2
a0:
live %12345
fork %:f1
zjmp %:a3
a1:
live %12345
fork %:a3
a2:
live %12345
fork %:a3
ttt:
live %12345
fork %:a8
zjmp %:a1
a3:
live %12345
fork %:a5
a4:
live %12345
fork %:a7
ld %0, r9
zjmp %:a1
a5:
live %12345
fork %:a6
live %12345
ld %190054658, r1
ld %6, r2
ld %4, r3
ld %0, r9
zjmp %:final
a6:
live %12345
ld %8, r2
ld %4, r2
ld %2, r3
ld %0, r9
zjmp %:final
a7:
live %12345
ld %50397184, r1
ld %7, r2
ld %7, r3
ld %0, r9
zjmp %:final
a8:
live %12345
ld %1111638594, r1
ld %254, r2
ld %254, r3
ld %0, r9
zjmp %:final
final:
sti r1, r2, r3
f1:
fork %:p2
p1:
ld %242, r3
ld %190055683, r2
ld %190056451, r5
ld %12, r9
ld %190056457, r8
ld %0, r16
zjmp %:f2
p2:
ld %244, r3
ld %50921951, r2
ld %50921951, r5
ld %14, r9
ld %151584787, r8
ld %0, r16
zjmp %:f2
f2:
live %12345
sti r2, r3, r3
zjmp %479

View File

@@ -0,0 +1,146 @@
.name "Explosive Kitty"
.comment "Jan-ken-pon
Ce qui reste éternellement incompréhensible dans la nature, cest quon puisse la comprendre.
Celui qui ne peut plus éprouver ni étonnement ni surprise, est pour ainsi dire mort : ses yeux sont éteints. Albert Einstein
Si vous voulez trouver les secrets de l'univers pensez en termes de fréquences, d'énergies et de vibrations. - Nikola Tesla
Pas la pour etre ici. - Silicon Val[list]
Dieu est la plus belle invention.
Tapis dans l'ombre je veille. - Minou"
start:
ld -42, r2
zjmp %:begin
first_attack:
sti r10, r15, r9
live %42
zjmp %-410
p2:
ld %50986512, r10 # 02 90 03 09 fe 10 0a
ld %-392, r9
ld %84540929, r2 # 02 90 05 09 fe 01 02
ld %-487, r3
ld %118095856, r4 # 02 90 07 09 ff f0 04
ld %-502, r5
ld %-7, r7
ld -511, r1
zjmp %:first_attack
begin:
ld %55575553, r8 # 02 90 03 50 04 01 08
st r1, r15 # 03 50 01 0f
st r8, -4 # 03 70 08 ff fc
fork %:def
live %42
fork %:p2
p1:
ld %190054913, r10 # 02 90 0b 54 02 01 0a
ld %-396, r9
ld %190055425, r2 # 02 90 0b 54 04 01 02
ld %-491, r3
st r2, r4
ld %-506, r5
ld %-11, r7
ld -511, r1
zjmp %:first_attack
store_def:
st r4, -37
st r4, -47
st r4, -57
st r4, -67
st r4, -77
st r4, -87
st r4, -97
st r4, -107
st r4, -117
st r4, -127
st r4, -137
st r4, -147
st r4, -157
st r4, -167
st r4, -177
st r4, -187
st r4, -197
st r4, -207
st r4, -217
st r4, -227
st r4, -237
st r4, -247
st r4, -257
st r4, -267
st r4, -277
st r4, -287
st r4, -297
st r4, -307
st r4, -317
st r4, -327
st r4, -337
st r4, -347
st r4, -357
st r4, -367
st r4, -377
st r4, -387
st r4, -397
st r4, -407
st r4, -417
st r4, -427
st r4, -437
st r4, -447
st r4, -457
st r4, -467
st r4, -477
live %42
zjmp %:store_def
def:
ld %252645135, r4 # 02 90 0f 0f 0f 0f 04
live %42
ld 511, r1
fork %:second_attack
st r15, -27
inside:
live %42
zjmp %:store_def
second_attack:
# st r15, 6
live %42
fork %:store_def
# st r15, 104
live %42
fork %:second_bis
live %42
fork %:s3
s1:
ld %5, r3
ld %511, r5
ld %190055429, r2 # 0b 54 04 05
ld %33554431, r6 # 01 ff ff ff
ld 511, r1
zjmp %:go_erase
second_bis:
live %42
fork %:s4
s2:
ld %9, r3
ld %506, r5
ld %17519622, r2 # 01 0b 54 06
# st r15, 11
ld 17, r6
ld 511, r1
zjmp %:go_erase
unused:
live %42
sti r2, r3, r1
s3:
ld %13, r3
ld %501, r5
ld %50401039, r2 # 03 01 0f 0f
st r2, r6
ld 511, r1
zjmp %:go_erase
s4:
st r15, -42
ld %511, r3
ld %496, r5
st r4, r2
st r4, r6 # 0f 0f 0f 0f
zjmp %:go_erase #just for waiting 20 cycles
go_erase:
sti r2, r3, r1

View File

@@ -0,0 +1,70 @@
.name "Celebration Funebre v0.99pl42"
.comment "Jour J"
ld %0,r3
label: zjmp %:avantdebut
zjmp %0 # pour eviter ecrasement
# de l'instruction suivante
code: live %42 # 5
sti r15,%0,r14 # 6
zjmp %-200 # 3
live %42 # 5
sti r15,%0,r14 # 6
zjmp %-200 # 3
live %42 # 5
sti r15,%0,r14 # 6
zjmp %-200 # 3
live %42 # 5
sti r15,%0,r14 # 6
zjmp %-200 # 3
sti r15,%0,r14 # 6
zjmp %-200 # 3
sti r15,%0,r14 # 6
zjmp %-200
avantdebut: sti r1,%:code,%1 # #7
sti r1,%:code,%15 # #7
sti r1,%:code,%29 # #7
sti r1,%:code,%43 # #7
sti r1,%:code,%57 # #7
sti r1,%:code,%71 # #7
init: ld %393216,r4 #7
ld %917504,r12 #7
ld %1,r11 #7
ld %6,r10 #7
debut: live %42 #5
sti r4,%:label , %1 #7
add r4,r12,r4 #5
sub r10,r11,r10 #5
zjmp %:init #3
fork %:debut
live %3
level0: fork %:level10
level11: live %4
fork %:level111
level110: live %42
ldi %8, %:code, r15 #set des octets 9-12
ld %-186, r14 #=$A-6-8
ld %0,r2
zjmp %:label
level10: live %42
fork %:level100
level101: live %42
ldi %4, %:code, r15 #set des octets 5-8
ld %-190, r14 #=$A-6-4
ld %0,r2
zjmp %:label
level111: live %42
ldi %12, %:code, r15 #set des octets 13-16
ld %-182, r14 # $A -6 -12
ld %0,r2
zjmp %:label
level100: live %42
ldi %0, %:code, r15 #set des octets 1-4
ld %-194, r14 # $A -6 -0
ld %0,r2 #
zjmp %:label #

236
test_tool/champion/Kappa.s Normal file
View File

@@ -0,0 +1,236 @@
# **************************************************************************** #
# #
# ::: :::::::: #
# Kappa.s :+: :+: :+: #
# +:+ +:+ +:+ #
# By: gudepard <gudepard@student.42.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2014/02/13 21:37:45 by gudepard #+# #+# #
# Updated: 2014/02/15 01:27:59 by gudepard ### ########.fr #
# #
# **************************************************************************** #
.name "Kappa"
.comment "AKA Kappa Sandwich."
# st r2, 15
# st r3, -1
# live %1 | r1 |
# 0370 0200 0f03 7003 ffff 01xx xxxx xx
# 57672192 251883523 4294902016 xx
# p1 -> r2 : 57672192
# -> r3 : 19 st r3 -> 1303 7003 -> 318992387
# p2 -> r2 : 251883523
# -> r3 : 23 st r3 -> 1703 7003 -> 386101251
# p3 -> r2 : 4294902016
# -> r3 : 26 st r3 -> 1A03 7003 -> 436432899
# p4 -> r2 : r1
# -> r3 : 15 st r3 -> 0f03 7003 -> 251883523
#### REVERSE
# st r2, -18
# st r3, -1
# live %1 -7 -3
# zjmp %-15 | r1 |
# 0370 02ff ee03 7003 ffff 01xx xxxx xx 09ffdf[03]
# 57672447 3993202691 4294902016 xx 167763715
# p1 -> r2 : 57672447
# -> r3 : -14 st r3 -> f203 7003 -> 4060311555
# p2 -> r2 : 3993202691
# -> r3 : -10 st r3 -> f603 7003 -> 4127420419
# p3 -> r2 : 4294902016
# -> r3 : -7 st r3 -> f903 7003 -> 4177752067
# p4 -> r2 : r1
# -> r3 : -3 st r3 -> fd03 7003 -> 4244860931
# p5 -> r2 : 167763715
# -> r3 : -18 st r3 -> ee03 7003 -> 3993202691
# 0000 0370 02ff ee03 7003 ffff 0100 0000 0109 ffdf
# 880 50327043 1879310335 16777216 17432543
sti r1, %:alive, %1
ld %75, r13
aff r13
fork %:init_forward
live %1337
init_backward:
ld %880, r5 # 7
ld %50327043, r6 # 7
ld %1879310335, r7 # 7
ld %16777216, r8 # 7
ld %17432543, r9 # 7
st r5, -80 # 5
st r6, -81 # 5
st r7, -82 # 5
st r8, -83 # 5
st r9, -84 # 5
fork %:r_p5 # 3
live %42 # 5
fork %:r_p4 # 3
live %42 # 5
fork %:r_p3 # 3
live %42 # 5
fork %:r_p2 # 3
live %42 # 5
fork %:r_p1 # 3
ld %0, r2 # 7 carry = 1
zjmp %:init_forward # 3
r_p1:
ld %57672447, r2 # 7
ld %4060311555, r3 # 7
ld %0, r4 # 7
r_p1_2:
live %42 # 5
fork %:r_p1_2 # 3
zjmp %-177 # 3
r_p2:
live %42 # 5
ld %3993202691, r2 # 7
ld %4127420419, r3 # 7
or r12, r12, r12 # 5
ld %0, r4 # 7
fork %:alive # 3
r_p2_2:
live %42 # 5
fork %:r_p2_2 # 3
zjmp %-222 # 3
r_p3:
live %42 # 5
ld %4294902016, r2 # 7
ld %4177752067, r3 # 7
or r12, r12, r12 # 5
or r12, r12, r12 # 5
ld %0, r4 # 7
fork %:alive # 3
live %42 # 5
fork %:alive # 3
r_p3_2:
live %42 # 5
fork %:r_p3_2 # 3
zjmp %-280 # 3
r_p4:
live %42 # 5
st r1, r2 # 7
ld %4244860931, r3 # 7
or r12, r12, r12 # 5
or r12, r12, r12 # 5
or r12, r12, r12 # 5
ld %0, r4 # 7
fork %:alive # 3
live %42 # 5
fork %:alive # 3
live %42 # 5
fork %:alive # 3
r_p4_2:
live %42 # 5
fork %:r_p4_2 # 3
zjmp %-348 # 3
r_p5:
live %42 # 5
ld %167763715, r2 # 7
ld %3993202691, r3 # 7
or r12, r12, r12 # 5
or r12, r12, r12 # 5
or r12, r12, r12 # 5
or r12, r12, r12 # 5
ld %0, r4 # 7
fork %:alive # 3
live %42 # 5
fork %:alive # 3
live %42 # 5
fork %:alive # 3
live %42 # 5
fork %:alive # 3
r_p5_2:
live %42 # 5
fork %:r_p5_2 # 3
zjmp %-432 # 3
init_forward:
live %42
fork %:p4
live %42
fork %:p3
live %42
fork %:p2
live %42
fork %:p1
ld %0, r2 # carry = 1
alive:
live %42
zjmp %:alive
p1:
ld %57672192, r2
ld %318992387, r3
ld %0, r4 # carry = 1
p1_2:
live %42
fork %:p1_2
zjmp %:move_forward
p2:
live %42
ld %251883523, r2
ld %386101251, r3
or r12, r12, r12
ld %0, r4 # carry = 1
fork %:alive
p2_2:
live %42
fork %:p2_2
zjmp %:move_forward
p3:
live %42
ld %4294902016, r2
ld %436432899, r3
or r12, r12, r12
or r12, r12, r12
ld %0, r4 # carry = 1
fork %:alive
live %42
fork %:alive
p3_2:
live %42
fork %:p3_2
zjmp %:move_forward
p4:
live %42
st r1, r2
ld %251883523, r3
or r12, r12, r12
or r12, r12, r12
or r12, r12, r12
ld %0, r4 # carry = 1
fork %:alive
live %42
fork %:alive
live %42
fork %:alive
p4_2:
live %42
fork %:p4_2
zjmp %:move_forward
move_forward:
st r2, 15
st r3, -1
live %1337

View File

@@ -0,0 +1,104 @@
.name "Kittystrophic"
.comment "Jan-ken-pon ()
Ce qui reste éternellement incompréhensible dans la nature, cest quon puisse la comprendre.
Celui qui ne peut plus éprouver ni étonnement ni surprise, est pour ainsi dire mort : ses yeux sont éteints. Albert Einstein
Si vous voulez trouver les secrets de l'univers pensez en termes de fréquences, d'énergies et de vibrations. - Nikola Tesla
Pas la pour etre ici. - Silicon Val[list]
Dieu est la plus belle invention.
Tapis dans l'ombre je veille. - Minou"
magic_poney:
fork %:g00dbye_kitty
live %252645135
fork %:poorkitty
ld %252645135, r2
ld %511, r15
st r2, r5
st r2, r3
st r2, r6
st r2, r4
st r2, r7
st r15, r14
st r2, r1
st r15, r8
ld %190056971, r9
ld %190057744, r10
ld %507, r11
ld %139725068, r13
ld %505, r16
ld %0, r12
zjmp %:kittyrecuperable
poorkitty:
ld %190055695, r2
ld %5, r15
ld %190055183, r5
ld %190055951, r3
ld %190055439, r6
ld %190056206, r4
ld %160370433, r7
ld %10, r14
ld %1409421068, r1
ld %14, r8
ld %201916918, r9
ld %201916916, r10
ld %511, r11
ld %151783691, r13
ld %507, r16
st r1, r1
st r1, r1
st r1, r1
st r1, r1
st r1, r1
xor r12, r12, r12
zjmp %:kittyrritable
g00dbye_kitty:
live %252645135
fork %:kittysaurus_rex
ld %34540555, r2
ld %2, r15
ld %84872203, r5
ld %51317771, r3
ld %101649419, r6
ld %68094987, r4
ld %190054664, r7
ld %5, r14
ld %201916918, r9
ld %201916916, r10
ld %511, r11
ld %151737346, r13
ld %509, r16
ld 23, r1
ld %11, r8
xor r12, r12, r12
zjmp %:kittyrritable
live %42
sti r15, r1, r1
kittysaurus_rex:
st r1, -9
st r2, -4
ld %1409617676, r2
ld %6, r15
ld %1409486604, r5
ld %1409683212, r3
ld %1409552140, r6
ld %1409748492, r4
ld %1409353740, r7
st r15, r14
ld %33554431, r1
ld %8, r8
ld %190056971, r9
ld %190057744, r10
ld %507, r11
ld %1409421068, r13
ld %511, r16
st r1, r1
st r1, r1
st r1, r1
ld %0, r12
zjmp %:kittyrecuperable
kittyrritable:
st r9, 24
zjmp %15
kittyrecuperable:
st r9, 12
zjmp %7

View File

@@ -0,0 +1,70 @@
.name "Machine-gun"
.comment "yipikai mother fucker"
entry: sti r1, %:live, %1
ld %0, r2
live %10
ld %47, r3
zjmp %:def
wall: ld %70, r3
zjmp %:wall2
ld %15, r3
ld 10, r4
sub r3, r4, r3
st r3, -162
st r3, -173
st r3, -184
st r3, -195
st r3, -206
live: live %15
zjmp %3
def: st r2, -270
zjmp %:wall
st r2, -261
st r2, -252
st r2, -243
st r2, -254
st r2, -265
st r2, -276
st r2, -287
st r2, -298
st r2, -309
st r2, -318
st r2, -327
st r2, -336
st r2, -345
st r2, -354
st r2, -363
st r2, -372
st r2, -381
st r2, -390
zjmp %:def
zjmp %:live
wall2: live %130000
st r5, 66
st r5, 75
st r5, 84
st r5, 93
st r5, 102
st r5, 111
st r5, 120
st r5, 129
st r5, 138
st r5, 147
st r5, 156
st r5, 165
st r5, 174
st r5, 183
st r5, 192
st r5, 201
st r5, 210
st r5, 219
st r5, 228
live %131
zjmp %:entry

View File

@@ -0,0 +1,112 @@
.name "MKP"
.comment "SaR ez Gg"
sti r1, %:live, %1
st r1, 6
live %433
#sti r1, %:relive, %1
ld %1, r2
live %45223
ld %1, r3
live %13123
sti r1, %:wall, %1
ld %0, r15
spawn:
live %45223
fork %:spawn2
ld %0, r15
add r2, r3, r2
zjmp %:wall
spawn2:
live %651
fork %:spawn3
ld %0, r15
ld %0, r15
ld %0, r15
zjmp %:spawn2
spawn3:
live %9814
fork %:spawn
wall:
live %4902343
st r2, -24
st r2, -33
st r2, -42
st r2, -51
st r2, -60
st r2, -69
st r2, -78
st r2, -87
st r2, -96
st r2, -105
st r2, -114
st r2, -123
st r2, -132
st r2, -141
st r2, -150
st r2, -159
st r2, -168
st r2, -177
st r2, -186
st r2, -195
st r2, -204
st r2, -213
st r2, -222
st r2, -231
st r2, -240
st r2, -249
st r2, -258
st r2, -267
st r2, -276
st r2, -285
st r2, -294
st r2, -303
st r2, -312
st r2, -321
st r2, -330
st r2, -339
st r2, -348
st r2, -357
st r2, -366
st r2, -375
st r2, -384
st r2, -393
st r2, -402
st r2, -411
st r2, -420
st r2, -429
st r2, -438
st r2, -447
st r2, -456
st r2, -465
st r2, -474
st r2, -483
st r2, -492
st r2, -501
st r2, -510
zjmp %:wall
forks:
live %651264
add r2, r3, r2
xor r2, %15, r4
zjmp %:forks
live:
live %1
zjmp %:live
relive:
live %6514
zjmp %:forks
ld %0, r4
zjmp %:relive
endwhile:
live %9751364
ld %0, r4

View File

@@ -0,0 +1,206 @@
.name "Misaka Mikoto"
.comment "Misaka Mikoto (Misaka Mikoto) (born May 2) is a main heroine in Toaru Majutsu no Index and the main protagonist of Toaru Kagaku no Railgun. Introduced in the first volume of the light novels, her role in the story was later expanded in the third volume as well as the release of the Toaru Kagaku no Railgun manga, making her the main heroine of the science side and the second main heroine of the series.
She is the third ranked Level 5 esper in Academy City, and is nicknamed the Railgun due to her signature move. Kamijou Touma coined the nickname Biri-Biri (a Japanese onomatopoeia imitating the sound of electricity) for her and whenever the two meet he usually calls her that, even after his amnesia"
entry:
sti r1, %:run, %1 ; live :run
sti r1, %:f1_a, %1 ; live :f2_a
sti r1, %:f1_b, %1 ; live :f2_b
sti r1, %:f2_a, %1 ; live :f2_c
sti r1, %:f2_d, %1 ; live :f2_d
st r2, :entry ; clear entry + 0
nothing:
fork %:clear
add r3, r3, r3
zjmp %:loader
filler:
zjmp %:run
zjmp %:run
zjmp %:run
zjmp %:run
zjmp %:run
zjmp %:run
clear:
live %404
add r3, r3, r3
fork %:f0_z
zjmp %:f1_a
f0_z:
zjmp %:f1_b
f1_a:
live %404
fork %:f1_z
zjmp %:f2_a
f1_b:
live %404
fork %:f1_y
zjmp %:f2_b
f1_z:
zjmp %:f2_c
f1_y:
zjmp %:f2_d
f2_a:
live %404
fork %:f2_z
zjmp %:f3_a
f2_b:
live %404
fork %:f2_y
zjmp %:f3_b
f2_c:
live %404
fork %:f2_w
zjmp %:f3_c
f2_d:
live %404
fork %:f2_x
zjmp %:f3_d
f2_z:
zjmp %:f3_e
f2_y:
zjmp %:f3_f
f2_x:
zjmp %:f3_g
f2_w:
zjmp %:f3_h
f3_b: ;snipe run + 12
ld %-498, r9
ldi %0, %:bomb_b, r8
add r3, r3, r3
zjmp %:run
f3_f: ;snipe before + 4
ld %-504, r9
ldi %0, %:bomb_b, r8
add r3, r3, r3
zjmp %:run
f3_d: ;snipe after - 8
ld %508, r9
ldi %0, %:bomb_a, r8
add r3, r3, r3
zjmp %:run
f3_c: ;snipe after
ld %516, r9
ldi %0, %:bomb_a, r8
add r3, r3, r3
zjmp %:run
f3_g: ;snipe after - 4
ld %512, r9
ldi %0, %:bomb_a, r8
add r3, r3, r3
zjmp %:run
f3_a: ;run + 8
ld %19, r9
ldi %8, %:run, r8
add r3, r3, r3
zjmp %:run
f3_e: ;run + 0
ld %11, r9
ldi %0, %:run, r8
add r3, r3, r3
zjmp %:run
f3_h: ;run + 4
ld %15, r9
ldi %4, %:run, r8
add r3, r3, r3
zjmp %:run
run:
live %777
sti r8, %:run, r9
sti r8, %:run, r9
sti r8, %:run, r9
sti r8, %:run, r9
sti r8, %:run, r9
sti r8, %:run, r9
sti r8, %:run, r9
sti r8, %:run, r9
bomb_b:
lfork %-50
bomb_a:
zjmp %0
data_miner:
live %404
loader:
ldi %0, %:data_miner, r3
shotgun:
ldi %7, %:shotgun, r2
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
st r2, 256
live %404
st r3, 256

View File

@@ -0,0 +1,10 @@
;basic.s
.name "basic"
.comment "this is a basic stuff"
loop:
st r1, 6
live %0
ld %0, r2
zjmp %:loop

View File

@@ -0,0 +1,15 @@
.name "Survivor"
.comment "Invincible"
live %1
fork %:f1
zjmp %:j1
f1: ld %4, r2
zjmp %:run
j1:
run: xor r0, r0, r0
l1: st r2, 1
live %1
zjmp %:l1

View File

@@ -0,0 +1,138 @@
.name "thunder"
.comment "you've been thunderstruck..."
main:
sti r1, %:start, %1
sti r1, %:back, %1
sti r1, %:front, %1
sti r1, %:live, %1
ld %0, r16
fork %:start
live:
live %42
ld %0, r2
ld %0, r16
fork %:front
back:
live %42
st r2, -24
st r2, -33
st r2, -42
st r2, -51
st r2, -60
st r2, -69
st r2, -78
st r2, -87
st r2, -96
st r2, -105
st r2, -114
st r2, -123
st r2, -132
st r2, -141
st r2, -150
st r2, -159
st r2, -168
st r2, -177
st r2, -186
st r2, -195
st r2, -204
st r2, -213
st r2, -222
st r2, -231
st r2, -240
st r2, -249
st r2, -258
st r2, -267
st r2, -276
st r2, -285
st r2, -294
st r2, -303
st r2, -312
st r2, -321
st r2, -330
st r2, -339
st r2, -348
st r2, -357
st r2, -366
st r2, -375
st r2, -384
st r2, -393
st r2, -402
st r2, -411
st r2, -420
st r2, -429
st r2, -438
st r2, -447
st r2, -456
st r2, -465
st r2, -474
st r2, -483
st r2, -492
st r2, -501
st r2, -510
zjmp %:back
start:
live %42
zjmp %:start
front:
live %42
st r2, 24
st r2, 33
st r2, 42
st r2, 51
st r2, 60
st r2, 69
st r2, 78
st r2, 87
st r2, 96
st r2, 105
st r2, 114
st r2, 123
st r2, 132
st r2, 141
st r2, 150
st r2, 159
st r2, 168
st r2, 177
st r2, 186
st r2, 195
st r2, 204
st r2, 213
st r2, 222
st r2, 231
st r2, 240
st r2, 249
st r2, 258
st r2, 267
st r2, 276
st r2, 285
st r2, 294
st r2, 303
st r2, 312
st r2, 321
st r2, 330
st r2, 339
st r2, 348
st r2, 357
st r2, 366
st r2, 375
st r2, 384
st r2, 393
st r2, 402
st r2, 411
st r2, 420
st r2, 429
st r2, 438
st r2, 447
st r2, 456
st r2, 465
st r2, 474
st r2, 483
st r2, 492
st r2, 501
st r2, 510
zjmp %:front

View File

@@ -0,0 +1,72 @@
.name "Varimathras"
.comment "If I have wings, why am I always walking?"
piege:
st r1, r9 #/ ld nous, r9
live %0
ld %656, r1
ld %151162880, r2
sti r1, %:piege, %0
sti r9, %:piege, %4
sti r2, %:piege, %8
init_buldog:
ld %0, r1
ld %4, r3
ld %88, r4
sti r9, %:buldog, %1
sti r9, %:live1, %1
sti r9, %:live2, %1
sti r9, %:live3, %1
buldog:
live %0
ldi %:buldog, r1, r2
live1:
live %0
sti r2, %:fin, r1
live2:
live %0
add r1, r3, r1
xor r1, r4, r16
zjmp %:suite
live3:
live %0
and %0, %0, r16
zjmp %:buldog
suite:
ld %0, r1
and %0, %0, r16
zjmp %:fin
complicate:
live %0
live %0
live %0
live %0
live %0
live %0
live %0
live %0
live %0
live %0
live %0
live %0
live %0
live %0
live %0
live %0
live %0
live %0
live %0
live %0
live %0
live %0
live %0
live %0
live %0
live %0
live %0
live %0
live %0
fin:

84
test_tool/champion/Wall.s Normal file
View File

@@ -0,0 +1,84 @@
.name "Wall"
.comment "Werror(you) Wextra(me)"
start:
ld %1, r14
zjmp %:wallstart
st r15, -8 # 15
stlive:
sti r1, %:wall, %1 # 7
sti r1, %:alive, %1
sti r1, %:forklive, %1
sti r1, %:wallstart, %1
sti r1, %:fork, %1
sti r1, %:fork, %9
sti r1, %:kta, %1
sti r1, %:kta, %9
sti r1, %:kta, %17 # 63
# 78
fork:
live %66
fork %:wallstart
live %66
fork %:fork # 16
# 94
kta:
live %2576980377 # 99
lfork %925
live %66 # 107
lfork %1941
live %66 # 115
lfork %2957
forklive:
live %66
fork %:forklive
aff r1
alive:
live %66
ld %0, r16
zjmp %:alive
wallstart:
live %66
ld %42991616, r2
ld %265, r3
ld %4294508544, r4
fork %:wallstart
wall:
live %66
st r2, -300
st r3, -301
st r4, -302
st r2, -303
st r3, -304
st r4, -305
st r2, -306
st r3, -307
st r4, -308
st r2, -309
st r3, -310
st r4, -311
st r2, -312
st r3, -313
st r4, -314
st r2, -315
st r3, -316
st r4, -317
st r2, -318
st r3, -319
st r4, -320
st r2, -321
st r3, -322
st r4, -323
st r2, -324
st r3, -325
st r4, -326
st r2, -327
st r3, -328
st r4, -329
ld %0, r16
zjmp %:wall

155
test_tool/champion/_.s Normal file
View File

@@ -0,0 +1,155 @@
.name "Underscore"
.comment "__UNDERSCORE_S__"
first:
ld %0, r2
zjmp %:begin
zjmp %-511
defdessus:
live %-42
sti r10, r11, r13
add r12, r13, r13
xor r13, %-255, r14
zjmp %:zero
ld %0, r14
zjmp %:defdessus
zero:
ld %0, r13
zjmp %:defdessus
#plein de truck pour remplir
lasertop:
live %-42
ld %-128, r6
fork %:lasera
ld %190056198, r7
ld %0, r5
ld %0, r16
zjmp %:laser
lasera:
ld %84541307, r7
ld %4, r5
ld %190056198, r16
dec1:
st r16, -490
dec2:
st r7, -491
laser:
ld %0, r2
zjmp %-511
empty:
lldi %42, %42, r16
#def du dessus
atj1:
live %-42
sti r1, %:defdessus, %1
ld %57672959, r10
ld %-30, r11
ld %-5, r12
st r1, 6
defplus:
live %-42
fork %:defdessus
ld %-165, r13
ld %0, r2
zjmp %:defplus
at2:
sti r1, %:li1, %1
sti r1, %:proc1, %1
fork %:atj1
st r1, 6
live %-42
or r1, r1, r7
ld %1880161814, r9
ld %1879571989, r10
ld %34209281, r11
#live + def dessous + attack
atf:
fork %:proc1
li1:
live %-42
fork %:head
ld %0, r2
zjmp %:brain
head:
ld %191104768, r7
ld %5, r6
ld %0, r2
zjmp %:forklive
proc1:
live %-42
fork %:tail
corps:
ld %101056768, r7
ld %9, r6
ld %0, r2
zjmp %:forklive
tail:
ld %0, r2
ld %12, r6
ld %0, r2
zjmp %:forklive
forklive:
st r1, 6
live %-42
sti r7, r6, %317
ld %0, r2
zjmp %309
beginnewattack:
sti r16, %:modme, %1
fork %:def_at
ld %24, r16
sti r16, %:modme, %1
st r1, 6
live %-42
golive:
ld %0, r2
zjmp %511
brain:
ld %16, r12
add r12, r9, r9
add r12, r10, r10
add r12, r11, r11
st r1, 6
live %-42
ld %0, r2
sti r1, %:lasertop, %1
sti r9, %:dec1, %1
sti r10, %:dec2, %1
sti r11, %:laser, %6
fork %:lasertop
zjmp %:atf
begin:
ld %16777216, r16
sti r16 ,%:first, %6
st r1, 117
sti r1, %:sst, %1
ld %507, r4
ld %507, r6
st r1, 6
live %-42
def_at:
ld %190055170, r8
ld %67699190, r9
st r8, 511
st r9, 510
modme:
ld %24, r8
fork %:at2
at1:
fork %:sjmp
sst:
live %-1
ld %0, r2
ld %190055682, r3
ld %190056194, r5
ld %190056194, r7
ld %0, r16
zjmp %448
sjmp:
live %0
ld %4, r2
ld %101253622, r3
ld %134807571, r5
ld %134807571, r7
ld %0, r16
zjmp %405

View File

@@ -0,0 +1,225 @@
.name "HoneyBadger"
.comment "This is where I'd put the forks. IF I HAD ANY"
ld %0, r2
zjmp %:var2
var1:
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
var2:
zjmp %:var225
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
lfork %:var1
var225:
ld %57672449, r4
ld %4278780410, r5
ld %151087104, r3
ld %0, r2
st r4, 511
st r5, 510
zjmp %501

View File

@@ -0,0 +1,5 @@
.name "test_comment"
.comment "
Hello"
add r1, r1,r1

View File

@@ -0,0 +1,218 @@
.name "Barriere"
.comment "Envoie des torpilles a l'avant et se protege avec des barrieres a l'avant et a l'arriere"
and r6, %0, r6
zjmp %:init
# On bombarde derriere notre programme
arriere: ld %-5, r5
ld %1024,r4
arriere2: ld %-5, r3
arriere_live: live %42
sti r4, %:arriere, r3
add r3, r5, r3
sti r4, %:arriere, r3
add r3, r5, r3
sti r4, %:arriere, r3
add r3, r5, r3
sti r4, %:arriere, r3
add r3, r5, r3
sti r4, %:arriere, r3
add r3, r5, r3
xor r3,%-430,r15
zjmp %:arriere2
and r6, %0, r6
zjmp %:arriere_live
fork_arriere: live %42
fork %:arriere
zjmp %:fork_arriere
# On commence les lives en serie
live_live: live %42
sti r1, %:live100, r9
sti r1, %:live102, r9
sti r1, %:live104, r9
sti r1, %:live106, r9
sti r1, %:live108, r9
sti r1, %:live110, r9
sti r1, %:live112, r9
sti r1, %:live114, r9
sti r1, %:live116, r9
sti r1, %:live118, r9
sti r1, %:live120, r9
sti r1, %:live122, r9
sti r1, %:live124, r9
sti r1, %:live126, r9
sti r1, %:live128, r9
sti r1, %:live130, r9
sti r1, %:live132, r9
sti r1, %:live134, r9
sti r1, %:live136, r9
sti r1, %:live138, r9
sti r1, %:live140, r9
sti r1, %:live142, r9
sti r1, %:live144, r9
sti r1, %:live146, r9
sti r1, %:live148, r9
xor r9,%6,r10
zjmp %:fork_live
ld %6,r9
and r6,%0,r6
zjmp %:live_live
init: fork %:kmissile
live %42
sti r1, %:arriere_live, %1
fork %:fork_arriere
live %42
sti r1, %:avant_live, %1
fork %:fork_avant
live %42
ld %1,r9
and r6,%0,r6
zjmp %:live_live
fork_live: live %42
fork %:live100
live %42
fork %:fork_live
live %42
zjmp %:fork_live
live100: live %42
live101: live %42
live102: live %42
live103: live %42
live104: live %42
live105: live %42
live106: live %42
live107: live %42
live108: live %42
live109: live %42
live110: live %42
live111: live %42
live112: live %42
live113: live %42
live114: live %42
live115: live %42
live116: live %42
live117: live %42
live118: live %42
live119: live %42
live120: live %42
live121: live %42
live122: live %42
live123: live %42
live124: live %42
live125: live %42
live126: live %42
live127: live %42
live128: live %42
live129: live %42
live130: live %42
live131: live %42
live132: live %42
live133: live %42
live134: live %42
live135: live %42
live136: live %42
live137: live %42
live138: live %42
live139: live %42
live140: live %42
live141: live %42
live142: live %42
live143: live %42
live144: live %42
live145: live %42
live146: live %42
live147: live %42
live148: live %42
live149: live %42
zjmp %:live101
fork_avant: live %42
fork %:avant
zjmp %:fork_avant
avant: ld %-5, r5
ld %12, r4
avant2: ld %10, r3
avant_live: live %1
sti r4, %:fin, r3
sub r3, r5, r3
sti r4, %:fin, r3
sub r3, r5, r3
sti r4, %:fin, r3
sub r3, r5, r3
sti r4, %:fin, r3
sub r3, r5, r3
sti r4, %:fin, r3
sub r3, r5, r3
xor r3,%435,r15
zjmp %:avant2
and r6, %0, r6
zjmp %:avant_live
fin: zjmp %:avant_live
kmissile: live %42
fork %:kfork1
live %42
fork %:kfork2
live %42
fork %:kfork4
ld %12,r2
ld %192,r5
and r6,%0,r6
zjmp %:kdebut
kfork1: live %42
fork %:kfork3
live %42
fork %:kfork6
ld %0,r2
ld %180,r5
and r6,%0,r6
zjmp %:kdebut
kfork2: live %42
fork %:kfork5
live %42
ld %8,r2
ld %188,r5
and r6,%0,r6
zjmp %:kdebut
kfork3: live %42
fork %:live100
ld %4,r2
ld %184,r5
and r6,%0,r6
zjmp %:kdebut
kfork4: ld %16,r2
ld %196,r5
and r6,%0,r6
zjmp %:kdebut
kfork5: ld %20,r2
ld %200,r5
and r6,%0,r6
zjmp %:kdebut
kfork6: ld %24,r2
ld %204,r5
and r6,%0,r6
zjmp %:kdebut
kdebut: ldi %:kdebut,r2,r3
sti r3,r5,%:kfin
live %42
and r6,%0,r6
kfin: zjmp %180

View File

@@ -0,0 +1,24 @@
.name "stayin' alive"
.comment "Ha, Ha, Ha, stayiiiiin' aliiiiiiiiiive"
sti r1, %:live, %1 ;change live by the right value
sti r1, %:live2, %1 ;change live by the right value
ld %1, r3
ld %33, r6
#While (r2 < 10)
forks:
add r2, r3, r2 ;increment r2
xor r2, %15, r4 ;if (r4) {carry = 0}
live2:
live %4
zjmp %:endwhile ;if (carry)
fork %:forks
ld %0, r4 ;carry = 1
zjmp %:forks
#EndWhile
endwhile:
ld %0, r4 ;carry = 1
live:
live %4
zjmp %:live

View File

@@ -0,0 +1,79 @@
# **************************************************************************** #
# #
# ::: :::::::: #
# big_feet.s :+: :+: :+: #
# +:+ +:+ +:+ #
# By: clafleur <marvin@42.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2014/02/16 20:28:04 by clafleur #+# #+# #
# Updated: 2014/03/02 17:23:26 by clafleur ### ########.fr #
# #
# **************************************************************************** #
.name "top defense plus plus"
.comment "la meilleure defense c'est d'avoir une bonne defense"
start:
start_piege:
ld %-16, r5 # r2 = soustraction de start pr aller a r2 : carry a 1
ld %-12, r4 # r4 = suite (soustraction de start pr aller a r3 : suite du carry)
ld %-8, r6 # r6 = soustration de start pr aller a r10 : zjmp
ld %150994944, r10 # r10 = zjmp
ld %42991616, r2 # debut de carry a 1
ld %256, r3 # suite du carry a 1
ld %16, r16 # decrementation de start
ld %12, r7 # r7 = addition de end pr aller a r7 : carry a 1
ld %16, r9 # r9 = suite (addition de end pr aller a r9 : suite du carry)
ld %20, r11 # r11 = addition de end pr aller a r11 : zjmp
ld %23, r12 # compteur pour le nombres de pieges
ld %1, r13
ld %0, r8 # carry = 1
sti r1, %:piege1, %1
sti r1, %:piege2, %1
sti r1, %:begin, %1
sti r1, %:live, %1
fork %:begin
piege1: # while(1)
live %118978653103279 # je suis en vie
sti r2, %:start, r5
sti r3, %:start, r4
sti r10, %:start, r6
sub r5, r16, r5
sub r4, r16, r4
sub r6, r16, r6
sub r12, r13, r12 # decrementation du compteur
zjmp %:start_piege # reviens en debut de boucle
ld %0, r8 # carry = 1
zjmp %:piege1 # reviens en debut de boucle
begin:
live %13371337
fork %:piege1
live %42424242
fork %:piege2
live %123456789
fork %:begin
live %08395432657
fork %:live
zjmp %:begin
live:
live %23456789456780987
zjmp %:begin
piege2:
live %198562346853412
sti r2, %:end, r7
sti r3, %:end, r9
sti r10, %:end, r11
add r7, r16, r7
add r9, r16, r9
add r11, r16, r11
sub r12, r13, r12 # decrementation du compteur
zjmp %:start_piege # reviens en debut de boucle
ld %0, r8 # carry = 1
zjmp %:piege2 # reviens en debut de boucle
end:

View File

@@ -0,0 +1,90 @@
.name "bigzork"
.comment "I know i cant win"
ld %0, r2
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
st r1, 211
loop:
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
zjmp %:loop

9
test_tool/champion/bw.s Normal file
View File

@@ -0,0 +1,9 @@
.name "sebc Hello World"
.comment "sebc Hello World"
l3: ldi %:l2, r2, r4
add r2, r3, r2
xor r4, r4, r4
zjmp %:l3
l2:

View File

@@ -0,0 +1,63 @@
.name "CASIMIR"
.comment "GLOUBIBOULGA"
ld %880, r2
ld %16778753, r3
ld %4, r4
ld %72618000, r5
ld %269090801, r6
st r1, 6
live %456
fork %:live
add r16, r16, r16
zjmp %:forknikator
live:
st r1, 6
live %546
st r2, 1023
st r3, 1022
st r4, 1021
st r5, 1020
st r6, 1019
fork %993
sti r1, %:live2, %1
fork %:live2
add r16, r16, r16
zjmp %:live
live2:
live %4
add r16, r16, r16
zjmp %:live2
forknikator:
st r1, 6
live %37
fork %:protect1
fork %:protect2
add r16, r16, r16
zjmp %:forknikator
protect1:
st r1, 6
live %789
st r2, -129
st r3, -130
st r4, -131
st r5, -132
st r6, -133
st r16, -134
st r16, -135
st r16, -136
add r16, r16, r16
zjmp %:protect1
protect2:
st r1, 6
live %212
st r2, -219
st r3, -220
st r4, -221
st r5, -222
st r6, -223
st r16, -224
st r16, -225
st r16, -226
add r16, r16, r16
zjmp %:protect2

131
test_tool/champion/champ.s Normal file
View File

@@ -0,0 +1,131 @@
;******************************************************************************;
; ;
; ::: :::::::: ;
; champ.s :+: :+: :+: ;
; +:+ +:+ +:+ ;
; By: aelola <aelola@student.42.fr> +#+ +:+ +#+ ;
; +#+#+#+#+#+ +#+ ;
; Created: 2014/02/25 11:56:47 by aelola #+# #+# ;
; Updated: 2014/02/25 11:56:48 by aelola ### ########.fr ;
; ;
;******************************************************************************;
.name "lazer"
.comment "Mundo dit beaucoup son nom pour pas l'oublier, pck c deja arriver!"
entry:
sti r1, %:live, %1
sti r1, %:mov, %1
sti r1, %:wall, %1
sti r1, %:torpille_front, %1
sti r1, %:write_front, %1
and r1, %0, r1
ld %100, r4
fork %:wall
zjmp %:mov
live:
live %1566
fork %:write_front
lfork %:mov
zjmp %:live
init_write:
ld %0, r8
ld %5, r15
write_front:
af:
live %2
ldi %:init_write, r8, r16
sti r16, %:up, r8
add r15, r8, r8
sti r16, %:up, r8
bf:
live %3
xor r8, r3, r9
zjmp %:init_write
cf:
ld %0, r9
zjmp %:write_front
wall:
live %42
ld %1111638594, r2
st r2, -69
st r2, -74
st r2, -83
st r2, -92
st r2, -101
st r2, -109
st r2, -115
st r2, -123
st r2, -132
st r2, -141
st r2, -150
st r2, -159
st r2, -168
st r2, -177
st r2, -186
st r2, -195
st r2, -204
st r2, -213
st r2, -222
st r2, -231
st r2, -240
st r2, -249
st r2, -258
st r2, -267
st r2, -276
st r2, -285
st r2, -294
st r2, -303
st r2, -312
st r2, -321
st r2, -330
st r2, -339
st r2, -348
st r2, -357
st r2, -366
st r2, -375
st r2, -384
st r2, -393
st r2, -402
st r2, -411
st r2, -420
st r2, -429
st r2, -438
st r2, -447
st r2, -456
st r2, -465
st r2, -474
st r2, -483
st r2, -492
st r2, -501
st r2, -510
zjmp %:wall
mov_init:
ld %4, r8
ld %0, r4
ld %1111638594, r6
# zjmp %:mov_init
mov:
live %99
sti r6, :up, r4
add r4, r8, r4
sti r6, :up, r4
add r4, r8, r4
fork %:mov
zjmp %:mov
torpille_front:
live %4242
add r4, r8, r4
sti r6, r4, %:up
add r4, r8, r4
sti r6, r4, %:up
zjmp %:torpille_front
up:

View File

@@ -0,0 +1,11 @@
.name "laugh"
.comment "aff, just kidding"
hello:
sti r1, %:alive, %1
fork %:alive
add r2, r3, r4
alive:
live %0
zjmp %:alive

View File

@@ -0,0 +1,68 @@
.name "Xx_DaRk_SaSuKe_93_xX"
.comment "The Dirty Hamster"
st r1, 235
st r1, 205
ld %8, r15
ld %1, r16
ld %-400, r13
ld %0, r11
ld %0, r16
zjmp %:start
lf:
live %9999999
lfork %:lf
start:
ld -3, r9
ld -13, r7
ld -17, r8
ld %300, r10
fork %:forward
live %999999
fork %:backward
ld %0, r16
zjmp %:initlive
initlive:
st r1, 58
st r1, 58
st r1, 58
st r1, 58
st r1, 58
st r1, 58
st r1, 58
st r1, 58
st r1, 58
st r1, 58
ld %0, r16
live:
live %93999
live %93999
live %93999
live %93999
live %93999
live %93999
live %93999
live %93999
live %93999
live %93999
zjmp %:live
backward:
live %9999999
sub r13, r15, r13
sti r9, r10, r13
ld %0, r16
zjmp %:backward
forward:
live %9999999
add r11, r15, r11
sti r7, r10, r11
sti r8, r10, r11
ld %0, r16
zjmp %:forward

154
test_tool/champion/doge.s Normal file
View File

@@ -0,0 +1,154 @@
.name "Candy"
.comment ""
st r1, r12
ld %0 , r14
zjmp %:base
def:
st r9, -256
st r10, -256
st r14, -9
st r4, -21
st r14, -30
st r4, -256
st r4, -256
st r4, -256
st r4, -256
st r4, -256
st r4, -256
st r4, -256
st r4, -256
st r4, -256
st r4, -256
st r4, -256
st r9, -256
st r10, -256
st r14, -9
st r4, -21
st r14, -30
st r4, -256
st r4, -256
st r4, -256
st r4, -256
st r4, -256
st r4, -256
st r4, -256
st r4, -256
st r4, -256
st r4, -256
st r4, -256
st r4, -256
st r4, -256
st r4, -256
st r4, -256
st r4, -256
st r4, -256
st r10, -256
st r14, -9
st r4, -21
st r14, -30
ld %0 , r15
zjmp %:def
liv:
live %42
fork %:live3
ld %0 , r16
zjmp %:base
base:
live %42
ld %57672449, r3
ld %57672959, r4
ld %42991616, r9
ld %235536380, r10
ld %16777216 ,r11
xor r12, r14, r15
sti r15, %:live1, %1
sti r15, %:liv, %1
sti r15, %:live2, %1
zjmp %:live1
live1:
live %42
fork %:def
fork %:save
ld %0 , r15
zjmp %:liv
live3:
st r3, 256
st r3, 256
st r3, 256
live %1
st r3, 256
st r3, 256
st r3, 256
st r3, 256
live %1
st r3, 256
live %1
st r3, 256
live %1
st r3, 256
st r3, 256
st r3, 256
st r3, 256
live %1
st r3, 256
live %1
st r3, 256
live %1
st r3, 256
live %1
st r3, 256
live %1
st r3, 256
st r3, 256
st r3, 256
st r3, 256
live %1
st r3, 256
live %1
st r3, 256
live %1
st r3, 256
live %1
st r3, 256
zjmp %:live3
attak:
live %42
st r9, 256
st r9, 256
st r9, 256
st r9, 256
st r9, 256
st r9, 256
st r9, 256
st r9, 256
st r9, 256
st r9, 256
st r9, 256
st r9, 256
st r9, 256
st r9, 256
st r9, 256
st r9, 256
st r9, 256
st r9, 256
st r9, 256
st r9, 256
st r9, 256
st r9, 256
st r9, 256
zjmp %:attak
live2:
live %1
save:
live %1
fork %:attak
st r4, 254
zjmp %:save

22
test_tool/champion/dubo.s Normal file
View File

@@ -0,0 +1,22 @@
.name "dubo"
.comment "Tu veux du pain"
pede:
live %1
live %1
live %1
live %1
live %1
live %1
live %1
zjmp %:pede
nodeadplz:
live %1
live %1
live %1
live %3
live %2
live %2
zjmp %:nodeadplz

7
test_tool/champion/ex.s Normal file
View File

@@ -0,0 +1,7 @@
.name "zork"
.comment "just a basic living prog"
l2: sti r1,%:live,%0
and r1,%0,r1
live: live %1
zjmp %:live

View File

@@ -0,0 +1,147 @@
#by zaz, it's not very good, but what did you expect, rainbowdash is way better
#2013
.name "fluttershy"
.comment "oh, my, what a scary project"
entry:
fork %:coregeni
st r1, 6
live %42
fork %:torpgeni
st r1, 6
live %42
fork %:avdefgeni
ardeftgt:
ardefgeni:
st r1, 6
ardefgen:
live %213904
fork %:ardefgen
ardefinit:
sti r1, %:ardefl1, %1
st r1, 6
live %43123
sti r1, %:ardefchk, %1
ld %-6, r2
ld %-6, r3
ld %150994953, r4
ld %-186, r5
ardefwrite:
ardefl1:
live %295423
sti r4, %:ardeftgt, r2
add r2, r3, r2
sti r4, %:ardeftgt, r2
add r2, r3, r2
ardefchk:
live %3940641
xor r2, r5, r15
zjmp %:ardefinit
ardefloop:
ld %0, r16
zjmp %:ardefwrite
coregeni:
st r1, 6
coregen:
live %123012
fork %:coregen
coreinit:
st r1, 58
st r1, 58
st r1, 58
st r1, 58
st r1, 58
st r1, 58
st r1, 58
st r1, 58
st r1, 58
st r1, 58
ld %0, r16
corelive:
live %985341
live %985341
live %985341
live %985341
live %985341
live %985341
live %985341
live %985341
live %985341
live %985341
zjmp %:corelive
avdefgeni:
st r1, 6
avdefgen:
live %213904
fork %:avdefgen
avdefinit:
sti r1, %:avdefl1, %1
st r1, 6
live %43123
sti r1, %:avdefchk, %1
ld %0, r2
ld %6, r3
ld %150994953, r4
ld %180, r5
avdefwrite:
avdefl1:
live %295423
sti r4, %:avdeftgt, r2
add r2, r3, r2
sti r4, %:avdeftgt, r2
add r2, r3, r2
avdefchk:
live %3940641
xor r2, r5, r15
zjmp %:avdefinit
avdefloop:
ld %0, r16
zjmp %:avdefwrite
torpgeni:
st r1, 6
torpgen:
live %96824
fork %:torpgen
torpinit:
ld %0, r2
ld %4, r3
ld %96, r5
sti r1, %:torpchk, %1
st r1, 6
torpwrite:
torpl1:
live %8008135
ldi %:torpinit, r2, r4
sti r4, %400, r2
add r2, r3, r2
ldi %:torpinit, r2, r4
sti r4, %383, r2
add r2, r3, r2
torpchk:
live %89523
xor r2, r5, r15
zjmp %362
torploop:
ld %0, r15
zjmp %:torpwrite
avdeftgt:

176
test_tool/champion/gateau.s Normal file
View File

@@ -0,0 +1,176 @@
.name "🎂"
.comment "🎂"
wall:
ld %0, r10
zjmp %:debut
def:
live %2
ld %251658240, r2
ld %0, r10
fork %:ouais
boucle1:
st r2, -511
st r2, -505
st r2, -499
st r2, -493
st r2, -487
st r2, -481
st r2, -475
st r2, -469
zjmp %:boucle1
ouais:
live %2
boucle2:
st r2, -471
st r2, -465
st r2, -459
st r2, -453
st r2, -447
st r2, -441
st r2, -435
zjmp %:boucle2
aff:
ld %71, r1
aff r1
ld %82, r1
aff r1
ld %79, r1
aff r1
ld %83, r1
aff r1
ld %32, r1
aff r1
ld %83, r1
aff r1
ld %65, r1
aff r1
ld %67, r1
aff r1
ld %32, r1
aff r1
ld %71, r1
aff r1
ld %82, r1
aff r1
ld %79, r1
aff r1
ld %83, r1
aff r1
ld %32, r1
aff r1
ld %83, r1
aff r1
ld %65, r1
aff r1
ld %67, r1
aff r1
ld %32, r1
aff r1
lfork %0
lfork %0
lfork %0
lfork %0
lfork %0
lfork %0
lfork %0
lfork %0
lfork %0
lfork %0
lfork %0
lfork %0
lfork %0
lfork %0
lfork %0
lfork %0
lfork %0
lfork %0
lfork %0
lfork %0
live %2
debut:
st r1, :wall
st r16, -5
st r1, 143
st r16, -5
fork %:def
live %2
fork %:aaaaah
super:
live %2
apocalypse:
fork %:super
live %2
fork %:salut2
or r2, %32, r2
salut2:
live %2
fork %:salut3
or r2, %16, r2
salut3:
live %2
fork %:salut4
or r2, %8, r2
salut4:
live %2
fork %:salut5
or r2, %4, r2
salut5:
ldi %:prog, r2, r16
ld %0, r15
prog:
sti r16, %64, r2
sti r16, %122, r2
sti r16, %180, r2
sti r16, %238, r2
sti r16, %296, r2
sti r16, %354, r2
live %2
live %2
sti r16, %402, r2
sti r16, %448, r2
zjmp %442
live %2
aaaaah:
live %2
ld %507, r6
ld %8, r8
ld %139, r10
fork %:sjmp
vite:
live %2
ld %4, r2
ld %101253622, r3
ld %101253622, r5
ld %168362119, r7
ld %262144, r9
ld %0, r16
zjmp %:rush
sjmp:
live %2
ld %0, r2
ld %190055682, r3
ld %190056194, r5
ld %190056706, r7
ld %134443017, r9
ld %0, r16
zjmp %:rush
rush:
sti r3, r2, r6
zjmp %502

View File

@@ -0,0 +1,79 @@
.name "Gédéon le Cochon"
.comment "Tout est bon dans Gédéon"
tmp:
sti r1, %:youshallnotpass, %1
sti r1, %:core, %1
sti r1, %:core, %9
sti r1, %:core, %17
sti r1, %:core, %25
sti r1, %:live1, %1
sti r1, %:live2, %1
sti r1, %:youshallnotpass2, %1
ld %0, r1
fork %:core
trap:
ld %0, r1
youshallnotpass:
live %1337
st r1, -16
st r1, -25
st r1, -34
st r1, -43
st r1, -52
st r1, -61
st r1, -70
st r1, -79
st r1, -88
st r1, -97
st r1, -106
st r1, -115
st r1, -124
st r1, -133
st r1, -142
st r1, -151
st r1, -160
st r1, -410
st r1, -411
st r1, -412
st r1, -413
st r1, -414
st r1, -425
st r1, -416
st r1, -417
st r1, -418
st r1, -419
ld %0, r1
zjmp %:youshallnotpass
core:
live %1337
fork %:youshallnotpass
live %1337
fork %:youshallnotpass2
live %1337
fork %:live1
live %1337
fork %:core
#ld %0, r1
zjmp %:core
live1:
live %1337
fork %:live1
ld %0, r1
live2:
live %1337
zjmp %:live2
youshallnotpass2:
live %1337
st r1, 30
st r1, 29
st r1, 28
st r1, 27
ld %0, r1
zjmp %:youshallnotpass2

View File

@@ -0,0 +1,147 @@
#by zaz, still not as good as rainbowdash though
#2013
.name "helltrain"
.comment "choo-choo, motherf*****s !"
entry:
sti r1, %:beegees_gen, %1
sti r1, %:beegees, %1
sti r1, %:cc_spawn, %1
sti r1, %:wall, %1
sti r1, %:cc4, %1
sti r1, %:cc4, %9
sti r1, %:cc4, %17
sti r1, %:cc4l, %1
sti r1, %:cc4ld, %2
sti r1, %:cc3, %1
sti r1, %:cc3, %9
sti r1, %:cc2, %1
ld %0, r16
fork %:cc_spawn
wall_prep:
ld %0, r2
ld %0, r16
wall:
live %4902343
st r2, -24
st r2, -33
st r2, -42
st r2, -51
st r2, -60
st r2, -69
st r2, -78
st r2, -87
st r2, -96
st r2, -105
st r2, -114
st r2, -123
st r2, -132
st r2, -141
st r2, -150
st r2, -159
st r2, -168
st r2, -177
st r2, -186
st r2, -195
st r2, -204
st r2, -213
st r2, -222
st r2, -231
st r2, -240
st r2, -249
st r2, -258
st r2, -267
st r2, -276
st r2, -285
st r2, -294
st r2, -303
st r2, -312
st r2, -321
st r2, -330
st r2, -339
st r2, -348
st r2, -357
st r2, -366
st r2, -375
st r2, -384
st r2, -393
st r2, -402
st r2, -411
st r2, -420
st r2, -429
st r2, -438
st r2, -447
st r2, -456
st r2, -465
st r2, -474
st r2, -483
st r2, -492
st r2, -501
st r2, -510
zjmp %:wall
beegees_gen:
live %4239423
fork %:beegees_gen
ld %0, r16
beegees:
live %3442302
zjmp %:beegees
cc_spawn:
live %4320423
zjmp %3
fork %:cc_spawn
cc4:
live %4329034
fork %:cc3
live %3401123
fork %:cc2
live %4590543
fork %:cc1
cc4ld:
ld %0, r2
ld %251883523, r3
ld %0, r16
cc4l:
live %4930423
ld %0, r16
zjmp %:choochoo
cc2:
live %4342342
fork %:wall_prep
ld %251883523, r2
ld %386101251, r3
ld %0, r16
ld %0, r16
zjmp %:choochoo
cc3:
live %4239013
fork %:cc4
live %4093282
fork %:beegees_gen
ld %4294902016, r2
ld %436432899, r3
ld %0, r16
ld %0, r16
ld %0, r16
zjmp %:choochoo
cc1:
ld %57672192, r2
ld %318992387, r3
ld %0, r16
zjmp %:choochoo
choochoo:
st r2, 15
st r3, -1
cc_live:
live %0

97
test_tool/champion/jinx.s Normal file
View File

@@ -0,0 +1,97 @@
.name "Jinx"
.comment "Stay still, I'm trying to shoot you..!"
init:
st r1, :replic1
st r6, -4
ld :replic1, r1
start1:
ld %0, r7
zjmp %:start2
stuff1:
live %66
ldi %-5, r3, r1
sti r1, %-173, r3
add r3, r4, r3
xor r5, r3, r6
zjmp %:stuff2
stuff2:
xor r3, r3, r3
zjmp %-207
replic1:
st r1, r1
start2:
sti r1, %:live0, %1
live0:
live %66
sti r2, %:start1, %-60
ld %4, r4
st r2, 512
replic2:
ld %48, r5
sti r1, %:stuff1, %1
sti r1, %:stuff3, %1
sti r1, %:live1, %1
sti r1, %:live2, %1
sti r1, %:live3, %1
sti r1, %:live4, %1
sti r1, %:live5, %1
live1:
live %66
live2:
live %66
live3:
live %66
live4:
live %66
live5:
live %66
zjmp %:live1
xor r3, r3, r3
sti r1, %:live6, %1
live6:
live %66
fork %:live1
sti r1, %:loop, %1
sti r1, %:loop, %9
sti r1, %:loop, %17
sti r1, %:loop, %25
loop:
live %66
fork %:stuff1
live %66
fork %:loop
live %66
fork %:stuff3
live %66
zjmp %:stuff1
stuff3:
live %66
ldi %-5, r3, r1
sti r1, %147, r3
add r3, r4, r3
xor r5, r3, r3
zjmp %:stuff4
ld %0, r7
zjmp %:stuff4
ld %0, r7
zjmp %:stuff3
stuff4:
xor r3, r3, r3
zjmp %113

View File

@@ -0,0 +1,70 @@
#debut du mega truc qu'il est trop dur a faire
.name "Jumper !"
.comment "en fait C forker !"
gobepc: st r1,:buff
st r6,-4
ld :buff,r1
debut: ld %0,r7
zjmp %:suite
goboucle0: live %66
ldi %-5,r3,r1
sti r1,%-173,r3
add r3,r4,r3
xor r5,r3,r6
zjmp %:finboucle0
ld %0,r7
zjmp %:goboucle0
finboucle0: xor r3,r3,r3
zjmp %-207
buff: st r1,r1
suite: sti r1,%:livel,%1
livel: live %66
sti r2,%:debut,%-60
ld %4,r4
st r2,512
go: ld %48,r5
sti r1,%:goboucle0,%1
sti r1,%:goboucle1,%1
sti r1,%:live0,%1
sti r1,%:live1,%1
sti r1,%:live2,%1
sti r1,%:live3,%1
sti r1,%:live4,%1
live0: live %66
live1: live %66
live2: live %66
live3: live %66
live4: live %66
zjmp %:live0
xor r3,r3,r3
sti r1,%:livex,%1
livex: live %66
fork %:live0
sti r1,%:boucle,%1
sti r1,%:boucle,%9
sti r1,%:boucle,%17
sti r1,%:boucle,%25
boucle: live %66
fork %:goboucle0
live %66
fork %:boucle
live %66
fork %:goboucle1
live %66
zjmp %:goboucle0
goboucle1: live %66
ldi %-5,r3,r1
sti r1,%17,r3
add r3,r4,r3
xor r5,r3,r6
zjmp %:finboucle1
ld %0,r7
zjmp %:goboucle1
finboucle1: xor r3,r3,r3
zjmp %1

View File

@@ -0,0 +1,125 @@
.name "L'arene des abeilles"
.comment "Baby, baby, baby, oh !"
ertuen:
sti r1, %:label1, %1
sti r1, %:label2, %1
sti r1, %:label3, %1
sti r1, %:label4, %1
sti r1, %:label5, %1
sti r1, %:label6, %1
sti r1, %:label7, %1
sti r1, %:label8, %1
sti r1, %:label9, %1
ld %0, r16
fork %:label1
label4:
live %314
ld %31415926, r2
ld %0, r16
fork %:label3
label6:
live %314
ld %0, r16
fork %:label5
label7:
ld %62821932, r5
ld %0, r16
fork %:label8
label2:
live %314
st r2, -450
st r2, -450
st r2, -450
st r2, -450
st r2, -450
st r2, -450
st r2, -450
st r2, -450
st r2, -450
st r2, -450
st r2, -450
st r2, -450
st r2, -450
st r2, -450
st r2, -450
zjmp %:label2
label1:
live %314
zjmp %:label1
label3:
live %314
st r2, 450
st r2, 450
st r2, 450
st r2, 450
st r2, 450
st r2, 450
st r2, 450
st r2, 450
st r2, 450
st r2, 450
st r2, 450
st r2, 450
st r2, 450
st r2, 450
st r2, 450
zjmp %:label3
label5:
live %314
live %314
live %314
live %314
live %314
live %314
live %314
live %314
live %314
live %314
live %314
live %314
live %314
live %314
live %314
live %314
live %314
live %314
live %314
live %314
zjmp %:label6
label8:
zjmp %:label9
st r5, 500
st r5, 500
st r5, 500
st r5, 500
st r5, 500
st r5, 500
st r5, 500
st r5, 500
st r5, 500
st r5, 500
st r5, 500
st r5, 500
label9:
st r5, 500
st r5, 500
st r5, 500
st r5, 500
st r5, 500
st r5, 500
st r5, 500
st r5, 500
st r5, 500
st r5, 500
st r5, 500
st r5, 500

View File

@@ -0,0 +1,47 @@
.name "Little Puppy"
.comment "Wang Wang!!!!"
ld %0, r3
live %42
sti r15, %0, r14
live %42
sti r15, %0, r14
live %42
sti r15, %0, r14
live %42
sti r15, %0, r14
sti r15, %0, r14
sti r15, %0, r14
sti r1, %65462, %1
sti r1, %65455, %15
sti r1, %65448, %29
sti r1, %65441, %43
sti r1, %65434, %57
sti r1, %65427, %71
ld %393216, r4
ld %917504, r12
ld %1, r11
ld %6, r10
live %42
sti r4, %65381, %1
add r4, r12, r4
sub r10, r11, r10
live %3
live %4
live %42
ldi %8, %65343, r15
ld %-186, r14
ld %0, r2
live %42
live %42
ldi %4, %65306, r15
ld %-190, r14
ld %0, r2
live %42
ldi %12, %65277, r15
ld %-182, r14
ld %0, r2
live %42
ldi %0, %65248, r15
ld %-194, r14
ld %0, r2

127
test_tool/champion/live.s Normal file
View File

@@ -0,0 +1,127 @@
.name "zdoh"
.comment "w8 for da next one"
lol: sti r3, -1, %1
and r3, %0, r3
jmp: fork %:start
ld 0, r4
st r4, -6
zjmp %:jmp
start: live %0
live %42
fork %:live
fork %:live
fork %:live
fork %:live
fork %:live
fork %:live
fork %:live
fork %:live
fork %:live
fork %:live
fork %:start
fork %:start
fork %:live
fork %:start
fork %42
fork %42
fork %:wall
fork %:wall
fork %:wall
fork %:wall
fork %:wall
fork %:wall
fork %:wall
fork %:wall
fork %:wall
fork %:wall
fork %:wall
fork %:wall
fork %:start
live:
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
live %1
fork %:wall
fork %:live
wall: live %42
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-500
st r8,-500
st r8,-500
st r8,-500
st r8,-500
st r8,-500
st r8,-500
st r8,-500
st r8,-500
st r8,-500
st r8,-500
st r8,-500
st r8,-500
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
st r8,-400
zjmp %:wall

156
test_tool/champion/loose.s Normal file
View File

@@ -0,0 +1,156 @@
.name "loose"
.comment "loooose"
start:
lfork %2048
sti r1, %:wall, %1
sti r1, %:loop_live, %1
sti r1, %:loop_live, %16
sti r1, %:next_wall, %1
st r2, -14
st r2, -13
wall:
live %53165
st r2, -10
st r2, -15
st r2, -24
st r2, -33
st r2, -42
st r2, -51
st r2, -60
st r2, -69
st r2, -78
st r2, -87
st r2, -96
st r2, -105
st r2, -114
st r2, -123
st r2, -132
st r2, -141
st r2, -150
st r2, -159
st r2, -168
st r2, -177
st r2, -186
st r2, -195
st r2, -204
st r2, -213
st r2, -222
st r2, -231
st r2, -240
st r2, -249
st r2, -258
st r2, -267
st r2, -276
st r2, -285
st r2, -294
st r2, -303
st r2, -312
st r2, -321
st r2, -330
st r2, -339
st r2, -348
st r2, -357
st r2, -366
st r2, -375
st r2, -384
st r2, -393
st r2, -402
st r2, -411
st r2, -420
st r2, -429
st r2, -438
st r2, -447
st r2, -456
st r2, -465
st r2, -474
st r2, -483
st r2, -492
st r2, -501
st r2, -510
zjmp %:wall
ld %0, r2
loop_live:
live %654664
ld %0, r2
fork %:wall
live %354534
fork %:next_wall
zjmp %:loop_live
next_wall:
live %65468435
ld %0, r2
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
st r2, 511
zjmp %:next_wall
# ld %251883523, r2
# ld %386101251, r3
# st r2, 15
# st r3, -1
# st r2, 15
# st r3, -1

View File

@@ -0,0 +1,96 @@
.name "mandragore"
.comment "you can see me, you can't anymore, you can, you can't !"
entry:
sti r1, %:fwall, %1
sti r1, %:petale, %1
fork %:petale
sti r1, %:spore, %1
ld %0, r2
fwall:
live %569092
st r2, -24
st r2, -33
st r2, -42
st r2, -51
st r2, -60
st r2, -69
st r2, -78
st r2, -87
st r2, -96
st r2, -105
st r2, -114
st r2, -123
st r2, -132
st r2, -141
st r2, -150
st r2, -159
st r2, -168
st r2, -177
st r2, -186
st r2, -195
st r2, -204
st r2, -213
st r2, -222
st r2, -231
st r2, -240
st r2, -249
st r2, -258
st r2, -267
st r2, -276
st r2, -285
st r2, -294
st r2, -303
st r2, -312
st r2, -321
st r2, -330
st r2, -339
st r2, -348
st r2, -357
st r2, -366
st r2, -375
st r2, -384
st r2, -393
st r2, -402
st r2, -411
st r2, -420
st r2, -429
st r2, -438
st r2, -447
st r2, -456
st r2, -465
st r2, -474
st r2, -483
st r2, -492
st r2, -501
st r2, -510
ld %0, r2
zjmp %:fwall
petale:
live %235894
fork %:petale
zjmp %:feuille
spore:
live %265924
fork %:petale
zjmp %:petale
second_entry:
sti r1, %:feuille, %1
ld %1, r3
ld %512, r5
ld %1024, r7
tige:
add r6, r3, r6
zjmp %:spore
feuille:
live %568724
add r6, r5, r7
sti r7, r5, r7
fork %:petale
zjmp %:tige

View File

@@ -0,0 +1,75 @@
.name " maxidef "
.comment " module de defense"
loop: live %0
zjmp %8
gobepc: st r1,6 # 03 70 01 00 06 5
live %66 # 01 00 00 00 42 10
ld -4,r1 # 02 d0 ff fc 01 5
st r2,-14 # 03 70 02 ff f2 5
ld %0,r5
zjmp %:init
slide2: zjmp %-492
slide1: live %1
st r2,-385
st r4,-386
defm: st r3,-510
st r3,-510
st r3,-510
st r3,-510
st r3,-510
st r3,-510
st r3,-510
st r3,-510
st r3,-510
st r3,-510
st r3,-510
st r3,-510
st r3,-510
st r3,-510
st r3,-510
st r3,-510
st r3,-510
st r3,-510
st r3,-510
st r3,-510
st r3,-510
st r3,-510
st r3,-510
deflv: live %1
zjmp %:defm
init: ld %57672703,r3
#ld %57672560,r3
sti r1,%:loop,%1
sti r1,%:source,%1
sti r1,%:source,%9
sti r1,%:arbre,%1
sti r1,%:gen21,%1
sti r1,%:gen22,%1
sti r1,%:deflv,%1
sti r1,%:slide1,%1
ld :deflv,r2
ldi %:deflv,%4,r4
ld %0,r5
source: live %1
fork %-5
live %1
zjmp %:arbre
arbre: live %1
fork %:gen22
gen21: live %1
zjmp %:slide1
gen22: live %1
zjmp %:slide2

View File

@@ -0,0 +1,132 @@
.name "Meow Luigi"
.comment "Here we meoooooow !"
shield2:
zjmp %:shield2
start:
ld %0, r16
sti r1, %:mloop, %1
fork %:protect
mloop:
live %0
fork %:main
zjmp %:mloop
proloop:
live %0
st r15, -200
st r15, -201
st r15, -202
st r15, -203
st r15, -204
st r15, -205
st r15, -206
st r15, -207
proloop_2:
live %0
st r15, -213
st r15, -214
st r15, -215
st r15, -216
st r15, -217
zjmp %:proloop
protect2:
live %0
fork %:proloop
zjmp %:protect2
protect:
live %0
fork %:protect2
zjmp %:protect
main:
sti r1, %:replicate, %1
sti r1, %:mloop, %1
sti r1, %:main2, %1
sti r1, %:main3, %1
sti r1, %:main4, %1
sti r1, %:replicate_loop, %1
sti r1, %:protect, %1
sti r1, %:protect2, %1
sti r1, %:proloop, %1
sti r1, %:proloop_2, %1
sti r1, %:loop, %1
sti r1, %:loop, %6
sti r1, %:loop, %11
sti r1, %:loop, %16
sti r1, %:loop, %21
sti r1, %:loop, %26
sti r1, %:loop, %31
sti r1, %:loop, %36
sti r1, %:loop, %41
sti r1, %:loop, %46
sti r1, %:loop, %51
sti r1, %:loop, %56
sti r1, %:loop, %61
sti r1, %:loop, %66
sti r1, %:loop, %71
sti r1, %:loop, %76
fork %:protect
main2:
live %0
fork %:replicate
main3:
live %0
fork %:main4
zjmp %:main3
main4:
live %0
fork %:loop
zjmp %:main4
loop:
live %42
live %42
live %42
live %42
live %42
live %42
live %42
live %42
live %42
live %42
live %42
live %42
live %42
live %42
live %42
live %42
zjmp %:loop
replicate:
live %0
ld %0, r4
ld %8, r5
ld %4, r6
ld %220, r8
fork %:replicate_loop
ld %4, r4
replicate_loop:
live %0
ldi %:main2, r4, r2
sti r2, %:replicated, r4
add r4, r5, r4
sub r4, r8, r16
zjmp %:replicated
sub r16, r6, r16
zjmp %:replicated
ld %0, r16
zjmp %:replicate_loop
replicated:
live %0

View File

@@ -0,0 +1,151 @@
.name "mise_a_jour_windows95"
.comment "Votre version de windows est obselete, votre mémoire vas être mise jour, veuillez ne pas eteindre vore ordinateur au risque de voir toutes vos donnees se faire ecrasées"
begin:
live %1
ld %252645135,r2
ld %57672449,r3
ld %16777216,r5
fork %:begin_coromp2
fork %:lefork
sub r4,r4,r4
zjmp %:live3
live %1
fork %-511
st r4, -100
st r4, -100
st r4, -100
st r4, -100
st r4, -100
st r4, -100
st r4, -100
st r4, -100
st r4, -100
st r4, -100
st r4, -100
st r4, -100
st r4, -100
st r4, -100
st r4, -100
st r4, -100
st r4, -100
st r4, -100
st r4, -100
st r4, -100
st r4, -100
st r4, -100
st r4, -100
st r4, -100
st r4, -100
st r4, -100
live3:
live %1
st r2, -511
st r2, -510
st r2, -509
st r2, -508
st r2, -507
st r2, -506
st r2, -505
st r2, -504
st r2, -503
st r2, -502
st r2, -501
st r2, -500
st r2, -499
st r2, -498
st r2, -497
st r2, -496
st r2, -495
st r2, -494
st r2, -493
st r2, -492
live2:
live %1;
st r16, -262
st r16, -245
st r16, -244
st r16, -243
st r16, -242
st r16, -240
st r16, -238
st r16, -236
st r16, -234
st r16, -232
st r16, -230
st r16, -228
st r16, -226
st r16, -224
st r16, -222
st r16, -220
st r16, -218
st r16, -216
st r16, -214
st r16, -212
zjmp %:live3
lefork:
st r1, -212
st r1, 69
st r1, -117
st r16, -15
st r16, -15
st r16, -15
ld %1879245026, r4
ld %5,r10
live1:
live %1;
fork %:live3
live4:
live %1
fork %:live1
live %1
fork %:machinerie
sub r4, r4, r4
live5:
live %1
zjmp %-5
begin_coromp2:
live %1
ld %495,r08
ld %16,r11
ld %-9,r12
ld %103, r13
ld %269025348, r14 #ld %369885440, r14 269222120
ld %0,r10
fork %:corruption_second
ld %4,r10
corruption_first:
ld %185139211,r9
ld %134808042,r7
ld %134808042,r6
ld %134808042,r15
sub r16, r16, r16
zjmp %:end1
corruption_second:
ld %190056714,r9
ld %190056714,r7
ld %190056202,r6
ld %190055946,r15
zjmp %:end1
end1:
add r13, r12, r13
sti r15,r10,r13 #102
live %1
add r14, r12, r14
st r14, -109 #-67
st r13,-121 #-79
st r14, 9
and r16, r16, r16
lancement:
zjmp %258
live %1
zjmp %:end1
machinerie:
fork %:begin_coromp2
live %0
add r4, r10, r4
st r4, 6
st r3, 200
and r16, r16, r16
zjmp %-25

View File

@@ -0,0 +1,60 @@
.name "Booster !"
.comment "Alors la, si ca marche, trop content ! :)"
boost: ld %12,r2
ld %3,r3
ld %4,r4
ld %5,r7
sti r1,%:live1,%1
live1: live %66
sti r1,%:fork0,%1
sti r1,%:fork1,%1
sti r1,%:fork2,%1
sti r1,%:wait,%1
sti r1,%:master,%1
sti r1,%:numero1,%1
sti r1,%:numero2,%1
sti r1,%:live,%-4
ldi %:live,%-2,r6
fork0: live %66
fork %:numero1
fork1: live %66
fork %:numero2
fork2: live %66
# fork %:fork0
master: live %66
ld %0,r3
ld %16777216,r6
# ldi %:master,%0,r6
ld %0,r5
zjmp %:ready
numero1: live %66
ld %3,r3
ld %68436,r2
# ldi %:live,%-2,r6
ld %0,r5
zjmp %:ready
numero2: live %66
ld %6,r3
ld %1409680135,r6
# ldi %:tampon,%1,r6
ld %0,r5
zjmp %:ready
tampon: sti r6,r3,r5
live: sti r1,r5,r5
ready: sti r6,r3,%:ecriture
wait: live %66
zjmp %:ecriture
ecriture: zjmp %:wait

View File

@@ -0,0 +1,178 @@
# ------------------------------------------------------------------------------
# By: pzarmehr <pzarmehr@student.42.fr> ----------------------------------------
# ------------------------------------------------------------------------------
.name "Overwatch"
.comment "Reinhardt, Pharah, Mercy, Mei, Symmetra & Torbjorn"
# ------------------------------------------------------------------------------
# Defend objective A -----------------------------------------------------------
# ------------------------------------------------------------------------------
ld %1, r16
st r1, 6
mei:
live %0
zjmp %:mei
st r15, -12
st r16, -22
# ------------------------------------------------------------------------------
# Escort the payload -----------------------------------------------------------
# ------------------------------------------------------------------------------
fork %:reinhardt
pharah:
st r1, 6
live %0
fork %:symmetra
st r1, 6
live %0
ld %589824, r13 # r13 = 0x00090000 (0x00 zjmp %0)
ld %8, r14
ld %-511, r15
ld %0, r16
zjmp %:payload
payload:
ld %190057742, r11 # r11 = 0x0b540d0e (sti r13 r14 ..)
ld %269090402, r12 # r12 = 0x1009fe62 (.. r16 zjmp -414)
ld %0, r16
st r11, -501 #-491
st r12, -502 #-492
#st r1, 6
#live %0
zjmp %-511
reinhardt:
st r1, 6
live %0
fork %:mercy
st r1, 6
live %0
ld %190057743, r13 # r13 = 0x0b540d0f (sti r13 r15 ..)
ld %-409, r14
ld %-21, r15
ld %0, r16
zjmp %:payload
mercy:
st r1, 6
live %0
ld %269090790, r13 # r13 = 0x1009ffe6 (.. r16 zjmp %-26)
ld %-405, r14
ld %-17, r15
ld %0, r16
zjmp %:payload
# ------------------------------------------------------------------------------
# ------------------------------------------------------------------------------
# ------------------------------------------------------------------------------
lfork %0 # . B@M@B@MMM@B@B@B@MMM@@@M@B
lfork %0 # @B@B.i@MBB@B@B@@BM@::B@B@
lfork %0 # B@@@ .B@B.:@B@ :B@B @B@O
lfork %0 # :0 r@B@ B@@ .@B@: P:
lfork %0 # vMB :@B@ :BO7
lfork %0 # ,B@B
lfork %0 #
lfork %0 # :PB@Bk:
lfork %0 # ,jB@@B@B@B@BBL.
lfork %0 # 7G@B@B@BMMMMMB@B@B@Nr
lfork %0 # :kB@B@@@MMOMOMOMOMMMM@B@B@B1,
lfork %0 # :5@B@B@B@BBMMOMOMOMOMOMOMM@@@B@B@BBu.
lfork %0 # 70@@@B@B@B@BXBBOMOMOMOMOMOMMBMPB@B@B@B@B@Nr
lfork %0 # G@@@BJ iB@B@@ OBMOMOMOMOMOMOM@2 B@B@B. EB@B@S
lfork %0 # @@BM@GJBU. iSuB@OMOMOMOMOMOMM@OU1: .kBLM@M@B@
lfork %0 # B@MMB@B 7@BBMMOMOMOMOMOBB@: B@BMM@B
lfork %0 # @@@B@B 7@@@MMOMOMOMM@B@: @@B@B@
lfork %0 # @@OLB. BNB@MMOMOMM@BEB rBjM@B
lfork %0 # @@ @ M OBOMOMM@q M .@ @@
lfork %0 # @@OvB B:u@MMOMOMMBJiB .BvM@B
lfork %0 # @B@B@J 0@B@MMOMOMOMB@B@u q@@@B@
lfork %0 # B@MBB@v G@@BMMMMMMMMMMMBB@5 F@BMM@B
lfork %0 # @BBM@BPNi LMEB@OMMMM@B@MMOMM@BZM7 rEqB@MBB@
lfork %0 # B@@@BM B@B@B qBMOMB@B@B@BMOMBL B@B@B @B@B@M
lfork %0 # J@@@@PB@B@B@B7G@OMBB. ,@MMM@qLB@B@@@BqB@BBv
lfork %0 # iGB@,i0@M@B@MMO@E : M@OMM@@@B@Pii@@N:
lfork %0 # . B@M@B@MMM@B@B@B@MMM@@@M@B
lfork %0 # @B@B.i@MBB@B@B@@BM@::B@B@
lfork %0 # B@@@ .B@B.:@B@ :B@B @B@O
lfork %0 # :0 r@B@ B@@ .@B@: P:
lfork %0 # vMB :@B@ :BO7
lfork %0 # ,B@B
lfork %0 #
lfork %0 # :PB@Bk:
lfork %0 # ,jB@@B@B@B@BBL.
lfork %0 # 7G@B@B@BMMMMMB@B@B@Nr
lfork %0 # :kB@B@@@MMOMOMOMOMMMM@B@B@B1,
lfork %0 # :5@B@B@B@BBMMOMOMOMOMOMOMM@@@B@B@BBu.
lfork %0 # 70@@@B@B@B@BXBBOMOMOMOMOMOMMBMPB@B@B@B@B@Nr
lfork %0 # G@@@BJ iB@B@@ OBMOMOMOMOMOMOM@2 B@B@B. EB@B@S
lfork %0 # @@BM@GJBU. iSuB@OMOMOMOMOMOMM@OU1: .kBLM@M@B@
lfork %0 # B@MMB@B 7@BBMMOMOMOMOMOBB@: B@BMM@B
lfork %0 # @@@B@B 7@@@MMOMOMOMM@B@: @@B@B@
lfork %0 # @@OLB. BNB@MMOMOMM@BEB rBjM@B
lfork %0 # @@ @ M OBOMOMM@q M .@ @@
lfork %0 # @@OvB B:u@MMOMOMMBJiB .BvM@B
lfork %0 # @B@B@J 0@B@MMOMOMOMB@B@u q@@@B@
lfork %0 # B@MBB@v G@@BMMMMMMMMMMMBB@5 F@BMM@B
lfork %0 # @BBM@BPNi LMEB@OMMMM@B@MMOMM@BZM7 rEqB@MBB@
lfork %0 # B@@@BM B@B@B qBMOMB@B@B@BMOMBL B@B@B @B@B@M
lfork %0 # J@@@@PB@B@B@B7G@OMBB. ,@MMM@qLB@B@@@BqB@BBv
lfork %0 # iGB@,i0@M@B@MMO@E : M@OMM@@@B@Pii@@N:
lfork %0 # . B@M@B@MMM@B@B@B@MMM@@@M@B
lfork %0 # @B@B.i@MBB@B@B@@BM@::B@B@
lfork %0 # B@@@ .B@B.:@B@ :B@B @B@O
lfork %0 # :0 r@B@ B@@ .@B@: P:
lfork %0 # vMB :@B@ :BO7
lfork %0 # ,B@B
lfork %0 #
lfork %0 # :PB@Bk:
lfork %0 # ,jB@@B@B@B@BBL.
lfork %0 # 7G@B@B@BMMMMMB@B@B@Nr
lfork %0 # :kB@B@@@MMOMOMOMOMMMM@B@B@B1,
lfork %0 # :5@B@B@B@BBMMOMOMOMOMOMOMM@@@B@B@BBu.
lfork %0 # 70@@@B@B@B@BXBBOMOMOMOMOMOMMBMPB@B@B@B@B@Nr
# ------------------------------------------------------------------------------
# Capture objective B ----------------------------------------------------------
# ------------------------------------------------------------------------------
symmetra:
ldi %:mei, %0, r1 # r1 = 0x01?????? (live ?? ?? ?? ..)
ldi %:mei, %4, r2 # r2 = 0x??09fffb (..?? zjmp %-5)
ld %196608, r3 # r3 = 0x00030000
add r2, r3, r3 # r3 = 0x??0cfffb (..?? fork %-5)
torbjorn:
ld %57671937, r16 # r16 = 0x03700101 (st r1 0x01 ..)
st r16, 511
ld %4278415363, r16 # r16 = 0xff037003 (.. 0xff st r3 ..)
st r16, 503
ld %33424240, r16 # r16 = 0x01fe0370 (.. 0x01fe st ..)
st r16, 495
ld %16907523, r16 # r16 = 0x0101fd03 (.. r1 0x01fd st..)
st r16, 487
ld %1879245308, r16 # r16 = 0x700301fc (.. r3 0x01fc)
st r16, 479
ld %57671937, r16 # r16 = 0x03700101 (st r1 0x01 ..)
st r16, 471
ld %4211306498, r16 # r16 = 0xfb037002 (.. 0xfb st r2..)
st r16, 463
ld %33162096, r16 # r16 = 0x01fa0370 (.. 0x01fa st ..)
st r16, 455
ld %285205251, r16 # r16 = 0x10ffe303 (.. r16 0xffe3 st ..)
st r16, 447
ld %1880162275, r16 # r16 = 0x7010ffe3 (.. r16 0xffe3)
st r16, 439
ld %57676031, r16 # r16 = 0x037010ff (st r16 0xff ..)
st r16, 431
ld %3808653328, r16 # r16 = 0xe3037010 (.. 0xe3 st r16..)
st r16, 423
ld %4293067632, r16 # r16 = 0xffe30370 (.. 0xffe3 st ..)
st r16, 415
ld %285205251, r16 # r16 = 0x10ffe303 (.. r16 0xffe3 st ..)
st r16, 407
ld %1880162275, r16 # r16 = 0x7010ffe3 (.. r16 0xffe3)
st r16, 399
ld %151110400, r16 # r16 = 0x0901c300 (zjmp %451)
st r16, 391
ld %0, r16
zjmp %319

5
test_tool/champion/pdf.s Normal file
View File

@@ -0,0 +1,5 @@
.name "some name"
.comment "some comments"
and %6, %:test, r7
test: and %3, %7, r1

View File

@@ -0,0 +1,104 @@
.name "run Kitty RUN"
.comment "Jan-ken-pon ()
Ce qui reste éternellement incompréhensible dans la nature, cest quon puisse la comprendre.
Celui qui ne peut plus éprouver ni étonnement ni surprise, est pour ainsi dire mort : ses yeux sont éteints. Albert Einstein
Si vous voulez trouver les secrets de l'univers pensez en termes de fréquences, d'énergies et de vibrations. - Nikola Tesla
Pas la pour etre ici. - Silicon Val[list]
Dieu est la plus belle invention.
Tapis dans l'ombre je veille. - Minou
J'te KHABBAR"
gomugomu:
fork %:gear_second
live %252645135
fork %:gear_fourth
ld %190056971, r9
ld %190057744, r10
ld %506, r11
ld %139725068, r13
ld %505, r16
ld %252645135, r2
ld %511, r15
st r2, r5
st r2, r3
st r2, r6
st r2, r4
st r2, r7
st r15, r14
st r2, r1
st r15, r8
ld %0, r12
zjmp %:j_te_khabbar
gear_fourth:
st r1, 6
live %42
ld %1879178767, r1
st r1, -16
ld %201916917, r9
ld %201916916, r10
ld %510, r11
ld %151783691, r13
ld %507, r16
ld %190055695, r2
ld %5, r15
ld %190055183, r5
ld %190055951, r3
ld %190055439, r6
ld %190056206, r4
ld %160370433, r7
ld %10, r14
ld %1409421068, r1
ld %14, r8
xor r12, r12, r12
zjmp %:haki_of_kings
gear_second:
live %252645135
fork %:gear_third
ld %201916917, r9
ld %201916916, r10
ld %510, r11
ld %151737348, r13
ld %509, r16
ld %34540555, r2
ld %2, r15
ld %84872203, r5
ld %51317771, r3
ld %101649419, r6
ld %68094987, r4
ld %190054664, r7
ld %5, r14
ld 23, r1
ld %11, r8
xor r12, r12, r12
zjmp %:haki_of_kings
live %42
sti r15, r1, r1
gear_third:
st r1, -9
ld %1879114239, r1
st r1, -11
st r15, r15
st r15, r15
ld %190056971, r9
ld %190057744, r10
ld %506, r11
ld %1409552140, r13
ld %511, r16
ld %1409617676, r2
ld %6, r15
ld %1409486604, r5
ld %1409683212, r3
ld %1409552140, r6
ld %1409748492, r4
ld %1409353740, r7
st r15, r14
ld %33554431, r1
ld %8, r8
ld %0, r12
zjmp %:j_te_khabbar
haki_of_kings:
st r9, 20
zjmp %11
j_te_khabbar:
st r9, 8
zjmp %3

View File

@@ -0,0 +1,25 @@
# **************************************************************************** #
# #
# ::: :::::::: #
# salamahenagalabadoun.s :+: :+: :+: #
# +:+ +:+ +:+ #
# By: gjestin <gjestin@student.42.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2014/02/21 22:08:42 by gjestin #+# #+# #
# Updated: 2014/02/25 21:02:17 by gjestin ### ########.fr #
# #
# **************************************************************************** #
.name "salamahenagalabadoun"
.comment "sussKBO hin hin"
ld 32, r3
ld 4, r4
ld 190, r5
st r1, 6
loop:
live %666
sti r5, r5, r3
add r3, r4, r5
ld %0, r16
zjmp %:loop

151
test_tool/champion/skynet.s Normal file
View File

@@ -0,0 +1,151 @@
.name "skynet"
.comment "j'aime les chats"
setlive:
st r1, 7
ld %323, r1
ld %0, r2
st r2, :setlive
sti r2, %:setlive, %1
sti r1, %:wall, %1
sti r1, %:wall, %1
sti r1, %:wall2, %1
sti r1, %:live, %1
sti r1, %:live1, %1
sti r1, %:loop, %1
wall_prep:
ld %0, r2
ld %0, r16
fork %:wall
live1:
live %12345
fork %:wall2
zjmp %:loop
wall:
live %12345
st r2, -37
st r2, -46
st r2, -55
st r2, -64
st r2, -73
st r2, -82
st r2, -91
st r2, -100
st r2, -109
st r2, -118
st r2, -127
st r2, -136
st r2, -145
st r2, -154
st r2, -163
st r2, -172
st r2, -181
st r2, -190
st r2, -199
st r2, -208
st r2, -217
st r2, -226
st r2, -235
st r2, -244
st r2, -253
st r2, -262
st r2, -271
st r2, -280
st r2, -289
st r2, -298
st r2, -307
st r2, -316
st r2, -325
st r2, -334
st r2, -343
st r2, -352
st r2, -361
st r2, -370
st r2, -379
st r2, -388
st r2, -397
st r2, -406
st r2, -415
st r2, -424
st r2, -433
st r2, -442
st r2, -451
st r2, -460
st r2, -469
st r2, -478
st r2, -487
st r2, -496
st r2, -505
st r2, -511
zjmp %:wall
loop:
live %12345
fork %:live
zjmp %:loop
live:
live %12345
zjmp %:live
wall2:
live %12345
st r2, 273
st r2, 272
st r2, 271
st r2, 270
st r2, 269
st r2, 268
st r2, 267
st r2, 266
st r2, 265
st r2, 264
st r2, 263
st r2, 262
st r2, 261
st r2, 260
st r2, 259
st r2, 258
st r2, 257
st r2, 256
st r2, 255
st r2, 254
st r2, 253
st r2, 252
st r2, 251
st r2, 250
st r2, 249
st r2, 248
st r2, 247
st r2, 246
st r2, 245
st r2, 244
st r2, 243
st r2, 242
st r2, 241
st r2, 240
st r2, 239
st r2, 238
st r2, 237
st r2, 236
st r2, 235
st r2, 234
st r2, 233
st r2, 232
st r2, 231
st r2, 230
st r2, 229
st r2, 228
st r2, 227
st r2, 226
st r2, 225
st r2, 223
st r2, 222
st r2, 221
st r2, 220
zjmp %:wall2

View File

@@ -0,0 +1,116 @@
.name "Sliders"
.comment "And the winner is ..."
sti r1,%:leon_live,%1
sti r1,%:fork1,%1
sti r1,%:fork2,%1
sti r1,%:roger_live,%1
sti r1,%:torp,%1
sti r1,%:torp_,%1
sti r1,%:fork3,%1
sti r1,%:fork_live,%1
sti r1,%:live,%1
sti r1,%:live,%6
sti r1,%:live,%11
sti r1,%:live,%16
sti r1,%:live,%21
sti r1,%:live,%26
sti r1,%:live,%31
sti r1,%:live,%36
sti r1,%:live,%41
sti r1,%:live,%46
sti r1,%:live,%51
sti r1,%:live,%56
sti r1,%:live,%61
sti r1,%:live,%66
sti r1,%:live,%71
sti r1,%:live,%76
sti r1,%:live,%81
sti r1,%:live,%86
sti r1,%:live,%91
sti r1,%:live,%96
sti r1,%:live,%101
sti r1,%:live,%106
sti r1,%:live,%111
sti r1,%:live,%116
ld %48,r14
ld %4,r4
ld %48,r6
ld %48,r13
ld %:leon_ecrit,r8
ld %330,r9
add r8,r9,r8
ld %:roger,r12
sub r12,r8,r12
fork1: live %42
fork %:fork_live
fork2: live %42
fork %:leon
fork3: live %42
fork %:roger
ld %0,r15
zjmp %:torp
leon: ld %0,r2
leon_live: live %42
ldi %:leon,r2,r3
sti r3,r8,r2
add r2,r4,r2
xor r13,r2,r7
zjmp %415
ld %0,r15
leon_ecrit: zjmp %:leon_live
roger: ld %0,r10
roger_live: live %42
ldi %:roger,r10,r11
sti r11,r12,r10
add r10,r4,r10
xor r6,r10,r7
zjmp %-361
ld %0,r15
roger_ecrit: zjmp %:roger_live
torp: live %42
fork %:leon
torp_: live %42
fork %:roger
ld %0,r15
zjmp %:torp
live: live %42
live %42
live %42
live %42
live %42
live %42
live %42
live %42
live %42
live %42
live %42
live %42
live %42
live %42
live %42
live %42
live %42
live %42
live %42
live %42
live %42
live %42
live %42
live %42
zjmp %:live
fork_live: live %42
fork %:live
ld %0,r15
zjmp %:fork_live

View File

@@ -0,0 +1,57 @@
.name "terminator"
.comment "Hasta la vista, baby!"
live:
live %1
fork %-10
live %1
fork %-10
live %1
fork %-10
live %1
fork %-10
live %1
fork %-10
live %1
fork %-10
live %1
fork %-10
live %1
fork %-10
live %1
fork %-10
protection:
zjmp %:live
ld %25, r4
st r4, -500
st r4, -500
st r4, -500
st r4, -500
st r4, -500
st r4, -500
st r4, -500
st r4, -500
st r4, -500
st r4, -500
st r4, -500
st r4, -500
st r4, -500
st r4, -500
st r4, -500
st r4, -500
st r4, -500
st r4, -500
st r4, -500
st r4, -500
st r4, -500
st r4, -500
st r4, -500
st r4, -500
st r4, -500
st r4, -500
st r4, -500
st r4, -500
st r4, -500
st r4, -500
zjmp %:protection

View File

@@ -0,0 +1,4 @@
.name "test_header"
.comment "test"
live %66

78
test_tool/champion/toto.s Normal file
View File

@@ -0,0 +1,78 @@
#
# Warrior qui a gagne
# l'annee derniere
# VOALA
#
.name "Celebration Funebre v0.99pl42"
.comment "Jour J"
ld %0,r3
label: zjmp %:avantdebt
zjmp %0 # pour eviter ecrasement
# de l'instruction suivante
code: live %42 # 5
sti r15,%0,r14 # 6
zjmp %-200 # 3
live %42 # 5
sti r15,%0,r14 # 6
zjmp %-200 # 3
live %42 # 5
sti r15,%0,r14 # 6
zjmp %-200 # 3
live %42 # 5
sti r15,%0,r14 # 6
zjmp %-200 # 3
sti r15,%0,r14 # 6
zjmp %-200 # 3
sti r15,%0,r14 # 6
zjmp %-200
avantdebt: sti r1,%:code,%1 # # mets a jour le live
sti r1,%:code,%15 # # mets a jour le live
sti r1,%:code,%29 # # mets a jour le live
sti r1,%:code,%43 # # mets a jour le live
sti r1,%:code,%57 # # mets a jour le live
sti r1,%:code,%71 # # mets a jour le live
init: ld %393216,r4 #7
ld %917504,r12 #7
ld %1,r11 #7
ld %6,r10 #7
debt: live %42 #5
sti r4,%:label,%1 #7
add r4,r12,r4 #5
sub r10,r11,r10 #5
zjmp %:init #3
fork %:debt
live %3
level0: fork %:level10
level11: live %4
fork %:level111
level110: live %42
ldi %8,%:code,r15 #set des octets 9-12
ld %-186,r14 #=$A-6-8
ld %0,r2
zjmp %:label
level10: live %42
fork %:level100
level101: live %42
ldi %4,%:code,r15 #set des octets 5-8
ld %-190,r14 #=$A-6-4
ld %0,r2
zjmp %:label
level111: live %42
ldi %12,%:code,r15 #set des octets 13-16
ld %-182,r14 # $A -6 -12
ld %0,r2
zjmp %:label
level100: live %42
ldi %0,%:code,r15 #set des octets 1-4
ld %-194,r14 # $A -6 -0
ld %0,r2 #
zjmp %:label #

View File

@@ -0,0 +1,98 @@
.name "turtle"
.comment "TURTLE FFS U LAMA"
entry:
sti r1, %:zork, %1
sti r1, %:ardef, %1
sti r1, %:avdef, %1
sti r1, %:entry_l1, %1
ld %0, r16
fork %:zork
entry_l1:
live %42
ld %439025904, r2
ld %0, r16
fork %:avdef
################################################################################
ardef:
live %42
st r2, -400
st r2, -400
st r2, -400
st r2, -400
st r2, -400
st r2, -400
st r2, -400
st r2, -400
st r2, -400
st r2, -400
st r2, -400
st r2, -400
st r2, -400
st r2, -400
st r2, -400
st r2, -400
st r2, -400
st r2, -400
st r2, -400
st r2, -400
st r2, -400
st r2, -400
st r2, -400
st r2, -400
st r2, -400
st r2, -400
st r2, -400
st r2, -400
st r2, -400
st r2, -400
st r2, -400
zjmp %:ardef
################################################################################
zork:
live %42
zjmp %:zork
################################################################################
avdef:
live %42
st r2, 400
st r2, 400
st r2, 400
st r2, 400
st r2, 400
st r2, 400
st r2, 400
st r2, 400
st r2, 400
st r2, 400
st r2, 400
st r2, 400
st r2, 400
st r2, 400
st r2, 400
st r2, 400
st r2, 400
st r2, 400
st r2, 400
st r2, 400
st r2, 400
st r2, 400
st r2, 400
st r2, 400
st r2, 400
st r2, 400
st r2, 400
st r2, 400
st r2, 400
st r2, 400
st r2, 400
zjmp %:avdef
################################################################################

229
test_tool/champion/ultima.s Normal file
View File

@@ -0,0 +1,229 @@
.name "Ultima"
.comment "Je suis l'Alpha
Je suis Le destructeur
Je suis Omega
Je suis La raison de ta peur
Ta puissance est ma puissance
Ton pouvoir est sans défence
Ma seule crainte est ta faiblesse
De mourrir d'une maladresse
Les plus puissants combattants
S'ront détruits d'un coup de dent
Les plus vifs et combatifs
S'ront finis d'un coup de griffe
Je suis un puits sans fond
Qui t'aspire dans ses tréfonds
La plaie sanglante et cruelle
Qui déchire tes organes frèles
La haine pur qui se diffuse
Sur ton code et le déturit
Prétrifié comme la méduse
Tu vivras son agonie
un poison ronge ton âme
L'obscurité noie tes flammes
Une mort glacée se répends
Le long d' tes veines et ton sang
Mais déjà tu m'appartients
Ton destin est dans mes mains
Pleur de rage, pleur de douleur
Noie tes larmes dans ton aigreur
Que mes attaques te pénêtre
A moi tu ne peux que te soumettre
Qu' ma puissance abime ton etre
Que j' te brise, petite soubrette
Mon pouvoir aspire tes forces
Aspire ton ame, et se renforce
Ma présence est ta souffrance
Ma raison d'etre ta défaite
Imposer, gifler tes tactiques
Abuser d' ton code heuristique
Dénuder ton code d'ses méthodes
Déchirer toutes tes ruses informes
Contraindre ton code aux pires outrages
Forcer, détruire tes stratégies
Tromper, corrompre tes algorithmes
Vicier, souiller tes procédés
Jusqu'a mon souffle je suis letal
Meme mon regard détruit ton âme
T'emporte au vent comme une pétale
Puis te consumme un vrai lance flammes
Tu viens pour ton exécution
Pas un combat une pendaison
Pas un proces, une mise a mort
Toi le taureau, moi l'matador
A tout jamais le championnat
Lesté de mon ADN, changera
Inséminé dans l'corps de mes proies
Etrange héritage sortira
Nées du tréfond de tes abats
Mais viens ici, entre mes griffes
Entre mes cros, t'ecorcher vif
Pour me repaitre de tes lambeaux
Pour te détruire en quelques mots
Abandonne tout idée osée,
de m'échapper, de me défier
car les roles sont deja figées.
Je Suis le Prédateur, tu est Ma Proie"
begin_coromp2:
st r1, :stock
ld %151068160,r1
st r1, :begin_coromp2
ld %506,r2
ld %100,r3
live %0
fork %:corruption_second2
corruption_first2:
ld %34144757,r4
st r4,r5
ld %50921567,r6
st r6,r7
st r6,r12
st r6,r13
st r6,r14
st r6,r15
st r4,r8
st r4,r9
st r4,r10
ld %167685120,r11
ld %4,r1
sub r16, r16, r16
zjmp %:end2
corruption_second2:
ld %190055681,r4
ld %190055937,r5
ld %190057473,r6
ld %190057729,r12
ld %190057985,r13
ld %190058241,r14
ld %190056193,r15
ld %190056449,r7
ld %190056705,r8
ld %190056961,r9
ld %151087617,r10
ld %151035392,r11
ld %0, r1
zjmp %:end2
live %0
live %0
live %0
live %0
live %0
live %0
aff r2
stock:
aff r2
live %0
live %0
live %0
rebond:
zjmp %:atterissage
aff r2
aff r2
aff r2
aff r2
live %0
live %0
live %0
atterissage:
ld :stock,r5
st r5,6
llll:
live %1
st r16, :begin_coromp2
ld %0,r6
ld %0,r7
ld %0,r8
ld %0,r11
ld %0,r12
ld %0,r13
ld %0,r14
ld %0,r15
and r1,r1,r16
zjmp %:part2
part1:
fork %:part3
ld %190055684, r5
ld %190055684, r9
ld %190056708, r10
ld %10, r4
sub r16, r16, r16
zjmp %:end
part2:
fork %:part4
ld %84149761, r5
ld %151259145, r10
st r5, r9
ld %12, r4
sub r16, r16, r16
zjmp %:end
part3:
ld %0000, r7
st r5, r9
ld %32768000, r10
aff r1
ld %16, r4
sub r16, r16, r16
zjmp %:end
part4:
live %1
ld %151587073, r5
st r5, r9
st r9, r10
ld %511, r4
sub r16, r16, r16
zjmp %:end
end:
ld %495, r8
add r16, r16, r16
sti r10, r8, r4
zjmp %500
aff r4
aff r4
aff r4
live %0
live %0
live %0
live %0
live %0
live %0
live %0
live %0
live %0
live %0
live %0
live %0
end2:
sti r4,r1,%505
zjmp %499
#deux jump a 500

View File

@@ -0,0 +1,433 @@
.name "Ultimate Surrender"
.comment "Y'en a qui vont prendre cher... :)"
ld %0, r2
zjmp %:var170
var1:
lfork %:var1
var2:
lfork %:var1
var3:
lfork %:var1
var4:
lfork %:var1
var5:
lfork %:var1
var6:
lfork %:var1
var7:
lfork %:var1
var8:
lfork %:var1
var9:
lfork %:var1
var10:
lfork %:var1
var11:
lfork %:var1
var12:
lfork %:var1
var13:
lfork %:var1
var14:
lfork %:var1
var15:
lfork %:var1
var16:
lfork %:var1
var17:
lfork %:var1
var18:
lfork %:var1
var19:
lfork %:var1
var20:
lfork %:var1
var21:
lfork %:var1
var22:
lfork %:var1
var23:
lfork %:var1
var24:
lfork %:var1
var25:
lfork %:var1
var26:
lfork %:var1
var27:
lfork %:var1
var28:
lfork %:var1
var29:
lfork %:var1
var30:
lfork %:var1
var31:
lfork %:var1
var32:
lfork %:var1
var33:
lfork %:var1
var34:
lfork %:var1
var35:
lfork %:var1
var36:
lfork %:var1
var37:
lfork %:var1
var38:
lfork %:var1
var39:
lfork %:var1
var40:
lfork %:var1
var41:
lfork %:var1
var42:
lfork %:var1
var43:
lfork %:var1
var44:
lfork %:var1
var45:
lfork %:var1
var46:
lfork %:var1
var47:
lfork %:var1
var48:
lfork %:var1
var49:
lfork %:var1
var50:
lfork %:var1
var51:
lfork %:var1
var52:
lfork %:var1
var53:
lfork %:var1
var54:
lfork %:var1
var55:
lfork %:var1
var56:
lfork %:var1
var57:
lfork %:var1
var58:
lfork %:var1
var59:
lfork %:var1
var60:
lfork %:var1
var61:
lfork %:var1
var62:
lfork %:var1
var63:
lfork %:var1
var64:
lfork %:var1
var65:
lfork %:var1
var66:
lfork %:var1
var67:
lfork %:var1
var68:
lfork %:var1
var69:
lfork %:var1
var70:
lfork %:var1
var71:
lfork %:var1
var72:
lfork %:var1
var73:
lfork %:var1
var74:
lfork %:var1
var75:
lfork %:var1
var76:
lfork %:var1
var77:
lfork %:var1
var78:
lfork %:var1
var79:
lfork %:var1
var80:
lfork %:var1
var81:
lfork %:var1
var82:
lfork %:var1
var83:
lfork %:var1
var84:
lfork %:var1
var85:
lfork %:var1
var86:
lfork %:var1
var87:
lfork %:var1
var88:
lfork %:var1
var89:
lfork %:var1
var90:
lfork %:var1
var91:
lfork %:var1
var92:
lfork %:var1
var93:
lfork %:var1
var94:
lfork %:var1
var95:
lfork %:var1
var96:
lfork %:var1
var97:
lfork %:var1
var98:
lfork %:var1
var99:
lfork %:var1
var100:
lfork %:var1
var101:
lfork %:var1
var102:
lfork %:var1
var103:
lfork %:var1
var104:
lfork %:var1
var105:
lfork %:var1
var106:
lfork %:var1
var107:
lfork %:var1
var108:
lfork %:var1
var109:
lfork %:var1
var110:
lfork %:var1
var111:
lfork %:var1
var112:
lfork %:var1
var113:
lfork %:var1
var114:
lfork %:var1
var115:
lfork %:var1
var116:
lfork %:var1
var117:
lfork %:var1
var118:
lfork %:var1
var119:
lfork %:var1
var120:
lfork %:var1
var121:
lfork %:var1
var122:
lfork %:var1
var123:
lfork %:var1
var124:
lfork %:var1
var125:
lfork %:var1
var126:
lfork %:var1
var127:
lfork %:var1
var128:
lfork %:var1
var129:
lfork %:var1
var130:
lfork %:var1
var131:
lfork %:var1
var132:
lfork %:var1
var133:
lfork %:var1
var134:
lfork %:var1
var135:
lfork %:var1
var136:
lfork %:var1
var137:
lfork %:var1
var138:
lfork %:var1
var139:
lfork %:var1
var140:
lfork %:var1
var141:
lfork %:var1
var142:
lfork %:var1
var143:
lfork %:var1
var144:
lfork %:var1
var145:
lfork %:var1
var146:
lfork %:var1
var147:
lfork %:var1
var148:
lfork %:var1
var149:
lfork %:var1
var150:
lfork %:var1
var151:
lfork %:var1
var152:
lfork %:var1
var153:
lfork %:var1
var154:
lfork %:var1
var155:
lfork %:var1
var156:
lfork %:var1
var157:
lfork %:var1
var158:
lfork %:var1
var159:
lfork %:var1
var160:
lfork %:var1
var161:
lfork %:var1
var162:
lfork %:var1
var163:
lfork %:var1
var164:
lfork %:var1
var165:
lfork %:var1
var166:
lfork %:var1
var167:
lfork %:var1
var168:
var169:
var170:
st r4, -503
zjmp %:var225
var171:
lfork %:var1
var172:
lfork %:var1
var173:
lfork %:var1
var174:
lfork %:var1
var175:
lfork %:var1
var176:
lfork %:var1
var177:
lfork %:var1
var178:
lfork %:var1
var179:
lfork %:var1
var180:
lfork %:var1
var181:
lfork %:var1
var182:
lfork %:var1
var183:
lfork %:var1
var184:
lfork %:var1
var185:
lfork %:var1
var186:
lfork %:var1
var187:
lfork %:var1
var188:
lfork %:var1
var189:
lfork %:var1
var190:
lfork %:var1
var191:
lfork %:var1
var192:
lfork %:var1
var193:
lfork %:var1
var194:
lfork %:var1
var195:
lfork %:var1
var196:
lfork %:var1
var197:
lfork %:var1
var198:
lfork %:var1
var199:
lfork %:var1
var200:
lfork %:var1
var201:
lfork %:var1
var202:
lfork %:var1
var203:
lfork %:var1
var204:
lfork %:var1
var205:
lfork %:var1
var206:
lfork %:var1
var207:
lfork %:var1
var208:
var209:
var210:
var211:
var225:
st r1, 6
live %0
ld %57672449, r4 ;ld %4278780395, r5
ld %4278780410, r5
ld %151088384, r3 ;st r4, 511
st r4, 511
st r5, 510
;; st r3, 509
ld %0, r2
zjmp %494

View File

@@ -0,0 +1,172 @@
.name "Oh, You Fork my TRALALA ..."
.comment "HMMMM, my ding-ding-dong !!"
# LD : charge la valeur du 1er param dans le registre
# ST : stocke la valeur du registre vers le second paramètre.
# ADD : Additionne les 2 premiers registres, et met le résultat dans le 3eme.
# SUB : Soustrait les 2 premiers registres, et met le résultat dans le 3eme.
# AND : Applique un & (ET bit-a-bit) sur les 2 premiers registres, et met le
# résultat dans le 3eme.
# OR : Applique un OU (bit-a-bit) sur les 2 premiers registres, et met le
#résultat dans le troisième.
# XOR : Fait un OU exclusif bit a bit (c'est comme un OU normal, mais 1^1 = 0)
# ZJMP : saute a l'adresse si le carry est a 1.
# LDI : additionne les 2 premiers, traite ca comme une adresse, y lit une valeur
# de la taille dun registre et la met dans le 3eme.
# STI : additionne les 2 derniers, utilise cette somme comme une adresse ou
# sera copiee la valeur du 1er param
# FORK : Crée un nouveau processus, qui hérite des diérents états de son père,
# à part son PC, qui est mis à (PC + (1er paramètre % IDX_MOD)).
# LLD : similaire a ld sans la restriction de IDX_MOD (ici 512) (a confirmer)
# LLDI : Pareil que ldi, mais napplique aucun modulo aux adresses.
# LFORK : Pareil quun fork sans modulo à l'adresse.
# AFF : affiche sur la sortie standard le char ASCII
entry:
st r1, 6
st r1, r3
live %42
fork %:hanibalsmith
zjmp %:move1
hanibalsmith:
live %42
st r15, -50
st r15, -64
st r15, -78
st r15, -92
st r15, -106
st r15, -120
st r15, -134
st r15, -148
st r15, -162
st r15, -176
st r15, -190
st r15, -204
st r15, -218
st r15, -232
st r15, -246
st r15, -260
st r15, -274
st r15, -288
st r15, -302
st r15, -318
st r15, -332
st r15, -346
st r15, -360
st r15, -374
st r15, -388
st r15, -402
st r15, -416
st r15, -430
st r15, -444
st r15, -458
st r15, -472
st r15, -486
st r15, -500
st r16, 1
live %42
fork %:hanibalsmith
zjmp %:hanibalsmith
forking:
live %898
fork %:move2
live %1892
fork %:move2
live %4024
fork %:move2
live %232
fork %:move2
move1:
st r1, 6
live %5
fork %:move1
zjmp %9
move2:
st r1, 6
live %42
fork %:move2
zjmp %1
move3:
st r1, 6
live %42
fork %:move3
zjmp %2
move4:
st r1, 6
live %7
fork %:move4
zjmp %3
move5:
st r1, 6
live %1
fork %:move5
zjmp %4
hanibalsmith2:
live %512
st r14, 1
st r14, -203
st r14, -406
st r14, -609
st r14, -803
st r14, -1006
st r14, -1209
st r14, -1403
st r14, -1606
st r14, -1809
st r14, -2003
st r14, -2206
st r14, -2409
st r14, -2603
st r14, -2806
st r14, -3009
st r14, -3203
st r14, -3406
st r14, -3609
st r14, -3803
st r14, -4006
st r14, -4209
st r14, -4403
st r14, -4606
st r14, -4809
st r14, -5003
st r14, -5206
st r14, -5409
st r14, -5603
st r14, -5806
st r14, -6009
st r14, -6203
st r14, -6406
st r14, -6609
st r14, -6803
st r14, -7006
st r14, -7209
st r14, -7403
st r14, -7606
st r14, -7809
st r14, -8003
st r1, 6
live %1
zjmp %:hanibalsmith2
fork %:hanibalsmith2

View File

@@ -0,0 +1,4 @@
.name "zork"
.comment "I'M ALIIIIVE"
ldi 3, %4, r4

87
test_tool/main.py Normal file
View File

@@ -0,0 +1,87 @@
# **************************************************************************** #
# #
# ::: :::::::: #
# main.py :+: :+: :+: #
# +:+ +:+ +:+ #
# By: mdchane <mdchane@student.42.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2019/07/04 12:01:58 by jfleury #+# #+# #
# Updated: 2019/07/15 18:04:59 by jfleury ### ########.fr #
# #
# **************************************************************************** #
#!/usr/bin/python3.7
# -*-coding:Utf-8 -*
import os
import glob
import sys
def init_project():
os.system("make")
os.system("clear")
print()
def search_files():
os.chdir("test_tool/champion")
list_files = glob.glob("*.s")
return list_files
def cal_file_cor(file):
str = file
str = str.split('.')
str[0] = str[0] + ".cor"
return (str[0])
def export_error(file, export_error):
str = file.split('.')
os.system("rm -f ../../error_" + str[0])
error_file = open("error_" + str[0], 'x')
hex_zaz = os.popen("hexdump test_zaz.cor", 'r').read()
hex_us = os.popen("hexdump test_us.cor", 'r').read()
error_file.write(export_error + "\n\n")
error_file.write("\tzaz hexdump :\n\n")
error_file.write(hex_zaz + "\n\n")
error_file.write("\tasm hexdump :\n\n")
error_file.write(hex_us)
os.system("mv error_" + str[0] + " ../../")
def check_cor(file):
name_cor = cal_file_cor(file)
#Zaz compile
os.system("../asm_zaz " + file + " > /dev/null")
try:
with open(name_cor): pass
except IOError:
print(file + "\t\t\t\x1B[31mzaz not compile\x1B[0m")
return
os.system("mv " + name_cor + " test_zaz.cor")
#Asm Compile
os.system("../../asm " + file + " > /dev/null")
try:
with open(name_cor): pass
except IOError:
print(file + "\t\t\t\x1B[31masm not compile\x1B[0m")
return
os.system("mv " + name_cor + " test_us.cor")
#Diff
exit_diff = os.popen("cmp test_zaz.cor test_us.cor", 'r').read()
#Check Diff
if not exit_diff:
print(file + "\t\t\t\x1B[32mok\x1B[0m")
else:
print(file + "\t\t\t\x1B[31mko\x1B[0m")
export_error(file, exit_diff)
os.system("rm test_us.cor test_zaz.cor")
if __name__ == "__main__":
init_project()
list_files = search_files()
print("\x1B[01m\x1B[04mFiles:\t\t\tresult:\x1B[0m")
i = 0
while i < len(list_files):
check_cor(list_files[i])
i = i + 1