From 9c2f38eab053a48a7c46ed267379764177cecdd8 Mon Sep 17 00:00:00 2001 From: Notkea Date: Wed, 6 Jun 2018 01:22:22 +0200 Subject: Blah blah --- doc/rapport.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/doc/rapport.md b/doc/rapport.md index 17a5719..b5bfad8 100644 --- a/doc/rapport.md +++ b/doc/rapport.md @@ -95,8 +95,15 @@ Pour des raisons de simplicité, il a été choisi de travailler principalement ## Fonctions +## Passage de paramètres + Il a été choisi d'effectuer le passage des paramamètres simples (de types `entier` et `caractere`) par copie pour des raisons de simplicité et de sécurité, pour permettre une certaine isolation des contextes lors de l'entrée dans une fonction. +Tous les paramètres sont implicitement convertis en type `entier`, la vérification du typage des paramètres s'avérant difficile. De plus, il n'est pas possible de passer un tableau en paramètre par référence. + + +## Retour de valeur + Les fonction valuées retournent leur valeur en suivant les conventions d'appel des fonctions C, c'est-à-dire en la plaçant dans le registre `rax`. L'appelant récupère ensuite cette valeur pour pouvoir la stocker dans la pile. L'analyse statique des branchements étant un problème relativement complexe, il a été choisi de retourner une valeur par défaut (`-1`) en cas d'absence d'instruction de retour dans une fonction valuée. -- cgit v1.2.3