push
This commit is contained in:
172
test_tool/champion/youforkmytralala.s
Normal file
172
test_tool/champion/youforkmytralala.s
Normal 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 d’un 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 diffé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 n’applique aucun modulo aux adresses.
|
||||
|
||||
# LFORK : Pareil qu’un 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
|
Reference in New Issue
Block a user