diff --git a/src/fg/Fg.java b/src/fg/Fg.java
index c306fd59e2633583fd7a07b50244db85c790c57b..7913ff4d759d87ded83305a1772461611f04cd97 100644
--- a/src/fg/Fg.java
+++ b/src/fg/Fg.java
@@ -47,8 +47,19 @@ public class Fg implements NasmVisitor <Void> {
 	
     }
 
-    public Void visit(NasmAdd inst){return null;}
-    public Void visit(NasmCall inst){return null;}
+    public Void visit(NasmAdd inst){
+        for(int i = 0; i < inst2Node.size();i++)
+        {
+            NasmInst nasmInst = nasm.sectionText.get(i);
+            if(nasmInst instanceof NasmAdd) {
+
+            }
+        }
+        return null;
+    }
+    public Void visit(NasmCall inst){
+        return null;
+    }
     public Void visit(NasmDiv inst){return null;}
     public Void visit(NasmJe inst){return null;}
     public Void visit(NasmJle inst){return null;}
diff --git a/src/nasm/C3a2nasm.java b/src/nasm/C3a2nasm.java
index 25b481df4342f9cb70688921e104d3e4418fdf1e..9171b7ed43915f99e15766d8bf82c7cc7320f8cb 100644
--- a/src/nasm/C3a2nasm.java
+++ b/src/nasm/C3a2nasm.java
@@ -46,16 +46,45 @@ public class C3a2nasm implements C3aVisitor <NasmOperand> {
         return null;
     }
     public NasmOperand visit(C3aInstCall inst){
+        NasmOperand label = (inst.label != null) ? inst.label.accept(this):null;
+        NasmOperand addr = inst.result.accept(this);
+        nasm.ajouteInst(new NasmCall(label,addr,""));
         return null;
     }
     private NasmOperand getLabelFromC3aInst(C3aInst inst) {
         return new NasmLabel(inst.label.toString());
     }
     public NasmOperand visit(C3aInstFBegin inst){
+        NasmOperand label = (inst.label != null) ? inst.label.accept(this) : null;
+        nasm.ajouteInst(new NasmInst() {
+            @Override
+            void addLabel(String formatInst, NasmOperand label) {
+                super.addLabel(formatInst, label);
+            }
+        });
+        return null;
+    }
+    public NasmOperand visit(C3aInst inst){
+        NasmOperand label = (inst.label != null) ? inst.label.accept(this) : null;
+        NasmOperand addr = inst.label.accept(this);
+        NasmOperand destination = inst.label.accept(this);
+        NasmOperand source = inst.label.accept(this);
+        nasm.ajouteInst(new NasmInst() {
+            void addLabel(String formatInst, NasmOperand label) {
+                super.addLabel(formatInst, label);
+            }
+        });
+        return null;
+    }
+    public NasmOperand visit(C3aInstJumpIfLess inst){
+        NasmOperand label = (inst.label != null) ? inst.label.accept(this): null;
+        NasmOperand oper1 = inst.op1.accept(this);
+        NasmOperand oper2 = inst.op2.accept(this);
+        NasmOperand result = inst.result.accept(this);
+        nasm.ajouteInst(new NasmCmp(label,oper1,oper2,""));
+        nasm.ajouteInst(new NasmJle(null, result, ""));
         return null;
     }
-    public NasmOperand visit(C3aInst inst){return null;}
-    public NasmOperand visit(C3aInstJumpIfLess inst){return null;}
     public NasmOperand visit(C3aInstMult inst){
         NasmOperand label = (inst.label != null) ? inst.label.accept(this) : null;
         nasm.ajouteInst(new NasmMov(label, inst.result.accept(this), inst.op1.accept(this),""));
@@ -84,16 +113,34 @@ public class C3a2nasm implements C3aVisitor <NasmOperand> {
         nasm.ajouteInst(new NasmSub(null, inst.result.accept(this), inst.op2.accept(this),""));
         return null;
     }
-    public NasmOperand visit(C3aInstAffect inst){return null;}
+    public NasmOperand visit(C3aInstAffect inst) {
+        NasmOperand label = (inst.label != null) ? inst.label.accept(this): null;
+        NasmOperand oper1 = inst.op1.accept(this);
+        NasmOperand result = inst.result.accept(this);
+        nasm.ajouteInst(new NasmMov(label, inst.result.accept(this), inst.op1.accept(this),""));
+        nasm.ajouteInst(new NasmInst() {
+            void addLabel(String formatInst, NasmOperand label) {
+                super.addLabel(formatInst, label);
+            }
+        });
+        return null;
+    }
 
     // à revoir
     public NasmOperand visit(C3aInstDiv inst){
         NasmOperand label = (inst.label != null) ? inst.label.accept(this) : null;
         nasm.ajouteInst(new NasmMov(label, inst.result.accept(this), inst.op1.accept(this),""));
-        //nasm.ajouteInst(new NasmDiv(null, inst.result.accept(this), inst.op2.accept(this),""));
+        nasm.ajouteInst(new NasmDiv(null, inst.result.accept(this), inst.op2.accept(this),""));
         return null;
     }
+     //à revoir
     public NasmOperand visit(C3aInstFEnd inst){
+        NasmOperand label = (inst.label != null) ? inst.label.accept(this) : null;
+        nasm.ajouteInst(new NasmInst() {
+            void addLabel(String formatInst, NasmOperand label) {
+                super.addLabel(formatInst, label);
+            }
+        });
         return null;
     }
     public NasmOperand visit(C3aInstJumpIfEqual inst){
@@ -121,6 +168,8 @@ public class C3a2nasm implements C3aVisitor <NasmOperand> {
         return null;
     }
     public NasmOperand visit(C3aInstParam inst){
+        NasmOperand label = (inst.label != null) ? inst.label.accept(this): null;
+        //nasm.ajouteInst(new NasmMov(label, ));
         return null;
     }
     public NasmOperand visit(C3aInstReturn inst){
diff --git a/src/nasm/NasmCall.java b/src/nasm/NasmCall.java
index d7a43e1e4cd8be9486944df4e20fa11a6dab5ed7..6aa2ba7617fd649e676502c6eaf7133a79b8fb49 100644
--- a/src/nasm/NasmCall.java
+++ b/src/nasm/NasmCall.java
@@ -8,6 +8,10 @@ public class NasmCall extends NasmInst {
 	this.comment = comment;
     }
 
+    public NasmCall() {
+
+    }
+
     public <T> T accept(NasmVisitor <T> visitor) {
         return visitor.visit(this);
     }
diff --git a/src/nasm/NasmDiv.java b/src/nasm/NasmDiv.java
index c3cc45f789610566e0dba0e60c68716a24d0c510..b55e5cdc0a1a7fe8daf1f6179edf66683871b2dd 100644
--- a/src/nasm/NasmDiv.java
+++ b/src/nasm/NasmDiv.java
@@ -9,6 +9,10 @@ public class NasmDiv extends NasmInst {
 	this.comment = comment;
     }
 
+    public NasmDiv(Object label, NasmOperand accept, NasmOperand accept1, String s) {
+        super();
+    }
+
     public <T> T accept(NasmVisitor <T> visitor) {
         return visitor.visit(this);
     }