IML TD(take2):
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Mon, 19 Jun 2017 19:35:48 +0000 (21:35 +0200)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Mon, 19 Jun 2017 19:35:48 +0000 (21:35 +0200)
* Implement TD2 exercice 3 completly
        * Implement TD3 MIPS assembler MARS exercices

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
.gitignore
TD1/part_two/exo.c
TD2/exercise2/Makefile
TD2/exercise3/exercise.c
TD3/mips3.asm
exo_skel/Makefile

index 063ef1e8486158061f9b52065eae736b79b88ea1..fd3edea500fb08744323838470fb27d3c2f83958 100644 (file)
@@ -19,6 +19,8 @@ balle
 *.swp
 *~
 
+*.txt
+
 .build
 
 thumbs.db
index 430e74c089d001f28eb25490c34b7dc2914b776a..2f5e419062f7be8cdbbb37bc8ab14e23916da617 100644 (file)
@@ -1,11 +1,11 @@
-#include <sys/types.h>
-#include <sys/wait.h>
-
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
 
+#include <sys/types.h>
+#include <sys/wait.h>
+
 void show_proc_pids() {
     pid_t current_pid = getpid();
     pid_t parent_pid = getppid();
@@ -48,7 +48,7 @@ int main() {
         wait(NULL);
         exit(EXIT_SUCCESS);
     }
-    
+
     /* unreachable code */
     return EXIT_SUCCESS;
 }
index 8c707d7cb4396e4b684befe5d02369b56952c8c7..d3527af003f4d374e953807b6acfa61c54564391 100644 (file)
@@ -67,6 +67,9 @@ $(DEPDIR)/%.d: ;
 
 include $(wildcard $(patsubst %,$(DEPDIR)/%.d,$(basename $(SRCS))))
 
+run: $(BINARY_NAME)
+       ./$(BINARY_NAME)
+
 clean:
        @echo "[CLN]"
        -@rm -r $(BUILDDIR)
index c4e9e4102b0445357a0edacbc31da488abedac5a..1d20fc50192850bce84bb111c0509dcf84da7ba3 100644 (file)
@@ -23,8 +23,7 @@ int main() {
     } else if (cpid == 0) {
         close(pipefd[0]);
         dup2(pipefd[1], STDOUT_FILENO);
-        printf("[%d] Hey Jude\n", getpid());
-        //execl("/bin/ls", "ls", (char*)NULL);
+        execl("/bin/ls", "ls", (char*)NULL);
         close(pipefd[1]);
         exit(EXIT_SUCCESS);
     } else {
index 080f63b25a724420a4f431486e1724805561370a..2f3018c9ecdcdcdbf1b6670815007e7e3059b540 100644 (file)
@@ -1,8 +1,10 @@
 .data
-msg_addition: .asciiz "Valeur attendue 97, obtenue"
-msg_soustraction: .asciiz "Valeur attendue 63, obtenue"
-msg_multiplication: .asciiz "Valeur attendue 6111, obtenue"
-msg_division: .asciiz "Valeur attendue , obtenue"
+msg_addition: .asciiz "Valeur attendue 97, obtenue "
+msg_soustraction: .asciiz "Valeur attendue 63, obtenue "
+msg_multiplication: .asciiz "Valeur attendue 6111, obtenue "
+msg_division_quotient: .asciiz "Valeur quotient attendue 1, obtenue "
+msg_division_reste: .asciiz "Valeur reste attendue 29, obtenue "
+saut_de_ligne: .asciiz "\n"
 .text
 la $t1,34
 la $t2,63
@@ -10,15 +12,50 @@ add $t3,$t2,$t1
 la $a0,msg_addition
 li $v0,4
 syscall
+add $a0,$t3,$zero
+li $v0,1
+syscall
+la $a0,saut_de_ligne
+li $v0,4
+syscall
 sub $t4,$t3,$t1
+la $a0,msg_soustraction
+li $v0,4
+syscall
+add $a0,$t4,$zero
+li $v0,1
+syscall
+la $a0,saut_de_ligne
+li $v0,4
+syscall
 mult $t3,$t4
 mflo $t5
+la $a0,msg_multiplication
+li $v0,4
+syscall
+add $a0,$t5,$zero
+li $v0,1
+syscall
+la $a0,saut_de_ligne
+li $v0,4
+syscall
 div $t2,$t1
 mflo $t6
 mfhi $t7
-
-
-
-
+la $a0,msg_division_quotient
+li $v0,4
+syscall
+add $a0,$t6,$zero
+li $v0,1
+syscall
+la $a0,saut_de_ligne
+li $v0,4
+syscall
+la $a0,msg_division_reste
+li $v0,4
+syscall
+add $a0,$t7,$zero
+li $v0,1
+syscall
 la $v0,10
-syscall 
\ No newline at end of file
+syscall 
index 8adb5d0ad46f862fe2d69e37435d354cca442345..5af208daa5704c4a0f668fbb3612b89a7ccca2ba 100644 (file)
@@ -67,6 +67,9 @@ $(DEPDIR)/%.d: ;
 
 include $(wildcard $(patsubst %,$(DEPDIR)/%.d,$(basename $(SRCS))))
 
+run: $(BINARY_NAME)
+       ./$(BINARY_NAME)
+
 clean:
        @echo "[CLN]"
        -@rm -r $(BUILDDIR)