summaryrefslogtreecommitdiff
path: root/doc.txt
diff options
context:
space:
mode:
authorAlex AUVOLAT <alex.auvolat@ens.fr>2013-12-25 23:19:14 +0100
committerAlex AUVOLAT <alex.auvolat@ens.fr>2013-12-25 23:19:14 +0100
commit62d931b6b52bbb952a2c280823dcc8bb5bd591bd (patch)
tree1afdbb73acd089f7b38ec47ea4f2d4047e549bde /doc.txt
parent7ede04f410c1df7cfe3e96e4101db1570c2a16ae (diff)
downloadLPC-Projet-62d931b6b52bbb952a2c280823dcc8bb5bd591bd.tar.gz
LPC-Projet-62d931b6b52bbb952a2c280823dcc8bb5bd591bd.zip
Begin code generation (many bugs...)
Diffstat (limited to 'doc.txt')
-rw-r--r--doc.txt19
1 files changed, 19 insertions, 0 deletions
diff --git a/doc.txt b/doc.txt
new file mode 100644
index 0000000..44d3bd7
--- /dev/null
+++ b/doc.txt
@@ -0,0 +1,19 @@
+Pour une fonction f(x, y) on a sur la pile :
+
+ | ..... |
+ | y | construit par
+ | x | l'appelant
+ ----------------------------------
+ | sauv. $fp | construit par
+ $fp--> | sauv. $ra | l'appelé
+ | z |
+ | ..... |
+
+La valeur renvoyée par une fonction est passée dans le registre a0.
+
+
+---
+
+Tous les calculs se font en utilisant a0 comme sommet de pile (les seuls valeurs
+plus grosses qu'un registre ne sont jamais manipulées en tant que valeurs mais toujours
+en tant qu'adresses... donc tout va bien)