* Implement TD2 exercice 3 completly
* Implement TD3 MIPS assembler MARS exercices
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
-#include <sys/types.h>
-#include <sys/wait.h>
-
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.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();
void show_proc_pids() {
pid_t current_pid = getpid();
pid_t parent_pid = getppid();
wait(NULL);
exit(EXIT_SUCCESS);
}
wait(NULL);
exit(EXIT_SUCCESS);
}
/* unreachable code */
return EXIT_SUCCESS;
}
/* unreachable code */
return EXIT_SUCCESS;
}
include $(wildcard $(patsubst %,$(DEPDIR)/%.d,$(basename $(SRCS))))
include $(wildcard $(patsubst %,$(DEPDIR)/%.d,$(basename $(SRCS))))
+run: $(BINARY_NAME)
+ ./$(BINARY_NAME)
+
clean:
@echo "[CLN]"
-@rm -r $(BUILDDIR)
clean:
@echo "[CLN]"
-@rm -r $(BUILDDIR)
} else if (cpid == 0) {
close(pipefd[0]);
dup2(pipefd[1], STDOUT_FILENO);
} 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 {
close(pipefd[1]);
exit(EXIT_SUCCESS);
} else {
-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
.text
la $t1,34
la $t2,63
la $a0,msg_addition
li $v0,4
syscall
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
+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
+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
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
-syscall
\ No newline at end of file
include $(wildcard $(patsubst %,$(DEPDIR)/%.d,$(basename $(SRCS))))
include $(wildcard $(patsubst %,$(DEPDIR)/%.d,$(basename $(SRCS))))
+run: $(BINARY_NAME)
+ ./$(BINARY_NAME)
+
clean:
@echo "[CLN]"
-@rm -r $(BUILDDIR)
clean:
@echo "[CLN]"
-@rm -r $(BUILDDIR)