Skip to content
Snippets Groups Projects
Commit ac7f3e03 authored by Lucas B's avatar Lucas B
Browse files

Debut du projet (structure) : En attente de savoir dans quoi on enregistre les donnees

parent 400e0dfd
Branches
No related tags found
No related merge requests found
section .data
;/***************************************************************************************************************************/
;/************************************************* Different Texte Utiliser ************************************************/
;/***************************************************************************************************************************/
; Texte pour le menu
t_menu: db "1 Enregistrer du personnel", 10, "2 Lister des personnes enregistrées", 10, "3 Supprimer une personne spécifique", 10, "4 Afficher la personne la plus âgée, et la personne la plus jeune.", 10, "5 Afficher lge moyen de toutes les personnes enregistrées", 10, "6 Quitter le programme", 10
lent_menu: equ $ - t_menu
; Texte pour l'enregistrement
t_enregistrement: db "Enregistrement des personnes:", 10
lent_enregistrement: equ $ - t_enregistrement
; Texte pour le listing
t_lister: db "Liste des personnes:", 10
lent_lister: equ $ - t_lister
; Texte pour la suppresion
t_supprimer: db "Suppression la personne", 10
lent_supprimer: equ $ - t_supprimer
t_supprimerValid1: db "Personne "
lent_supprimerValid1: equ $ - t_supprimerValid1
t_supprimerValid2: db " a ete supprimée !", 10
lent_supprimerValid2: equ $ - t_supprimerValid2
t_supprimerErreur: db "Cette personne n'existe pas !", 10
lent_supprimerErreur: equ $ - t_supprimerErreur
; Texte pour la recherche
t_recherche: db "Plus âgée et plus jeune:", 10
lent_recherche: equ $ - t_recherche
; Texte pour la moyenne
t_moyenne: db "Age en moyenne:", 10
lent_moyenne: equ $ - t_moyenne
t_po: db "("
lent_po: equ $ - t_po
t_pf: db ")"
lent_pf: equ $ - t_pf
;/***************************************************************************************************************************/
;/*********************************************** Differente Variable Utiliser **********************************************/
;/***************************************************************************************************************************/
; Variable pour le choix de l'operation a effectuer
v_choix: db "12"
lenv_choix: equ $ - v_choix
section .text
global _start
_start:
;/***************************************************************************************************************************/
;/***************************************************** Gestion du menu *****************************************************/
;/***************************************************************************************************************************/
l_menu:
;/************ Affichage du menu ************/
mov eax, 4 ; Appel systeme write
mov ebx, 1 ; Sur la sortie standart
mov ecx, t_menu ; On affiche le contenu a partir du pointeur t_menu
mov edx, lent_menu ; On affiche lent_menu variable
int 80h ; On execute l'appel Systeme
;/************ Choix de l'action a effectuer ************/
mov eax, 3 ; Appel systeme read
mov ebx, 1 ; Sur la sortie standart
mov ecx, v_choix ; On enregistre a partir du pointeur v_choix
mov edx, 2 ; On enregistre les 2 premiers caractere (le chiffre + entrer)
int 80h ; On execute l'appel Systeme
;/************ Redirection dans le programme ************/
cmp byte [v_choix], '1' ; Si le choix est 1 (Enregistrer une personne)
je l_enregistrement ; Je vais vers le label l_enregistrement
cmp byte [v_choix], '2' ; Si le choix est 2 (Lister les personnes)
je l_lister ; Je vais vers le label l_lister
cmp byte [v_choix], '3' ; Si le choix est 3 (Supprimer une personne)
je l_supprimer ; Je vais vers le label l_supprimer
cmp byte [v_choix], '4' ; Si le choix est 4 (rechercher la personne la plus agée et la plus jeune)
je l_recherche ; Je vais vers le label l_recherche
cmp byte [v_choix], '5' ; Si le choix est 5 (Calculer la moyenne d'age)
je l_moyenne ; Je vais vers le label l_moyenne
cmp byte [v_choix], '6' ; Si le choix est 6 (Quitter le programme)
je l_exit ; Je vais vers le label l_exit
jmp l_menu ; Sinon je reaffiche le menu (l_menu)
;/***************************************************************************************************************************/
;/************************************************** Choix 1 Enregistrement *************************************************/
;/***************************************************************************************************************************/
l_enregistrement:
;/************ Affichage du message d'enregistrement ************/
mov eax, 4 ; Appel systeme write
mov ebx, 1 ; Sur la sortie standart
mov ecx, t_enregistrement ; On affiche le contenu a partir du pointeur t_enregistrement
mov edx, lent_enregistrement ; On affiche lent_enregistrement variable
int 80h ; On execute l'appel Systeme
; TODO
jmp l_menu ; lorsque on a terminer on raffiche le menu
;/***************************************************************************************************************************/
;/****************************************************** Choix 2 Lister *****************************************************/
;/***************************************************************************************************************************/
l_lister:
;/************ Affichage du message pour le listing ************/
mov eax, 4 ; Appel systeme write
mov ebx, 1 ; Sur la sortie standart
mov ecx, t_lister ; On affiche le contenu a partir du pointeur t_lister
mov edx, lent_lister ; On affiche lent_lister variable
int 80h ; On execute l'appel Systeme
; TODO
jmp l_menu ; lorsque on a terminer on raffiche le menu
;/***************************************************************************************************************************/
;/***************************************************** Choix 3 Supprimer ***************************************************/
;/***************************************************************************************************************************/
l_supprimer:
;/************ Affichage du message pour la suppression ************/
mov eax, 4 ; Appel systeme write
mov ebx, 1 ; Sur la sortie standart
mov ecx, t_supprimer ; On affiche le contenu a partir du pointeur t_supprimer
mov edx, lent_supprimer ; On affiche lent_supprimer variable
int 80h ; On execute l'appel Systeme
; TODO
jmp l_lister ; lorsque on a terminer on affiche la lister des personnes mise a jours
jmp l_menu ; Si il y a une erreur on reafiche le menu
;/***************************************************************************************************************************/
;/***************************************************** Choix 4 Recherche ***************************************************/
;/***************************************************************************************************************************/
l_recherche:
;/************ Affichage du message pour la recherche du plus âgée et du plus jeune ************/
mov eax, 4 ; Appel systeme write
mov ebx, 1 ; Sur la sortie standart
mov ecx, t_recherche ; On affiche le contenu a partir du pointeur t_recherche
mov edx, lent_recherche ; On affiche lent_recherche variable
int 80h ; On execute l'appel Systeme
; TODO
jmp l_menu ; lorsque on a terminer on raffiche le menu
;/***************************************************************************************************************************/
;/****************************************************** Choix 5 Moyenne ****************************************************/
;/***************************************************************************************************************************/
l_moyenne:
;/************ Affichage du message pour la moyenne ************/
mov eax, 4 ; Appel systeme write
mov ebx, 1 ; Sur la sortie standart
mov ecx, t_moyenne ; On affiche le contenu a partir du pointeur t_moyenne
mov edx, lent_moyenne ; On affiche lent_moyenne variable
int 80h ; On execute l'appel Systeme
; TODO
jmp l_menu ; lorsque on a terminer on raffiche le menu
;/***************************************************************************************************************************/
;/*********************************************** Choix 6 Quitter le programme **********************************************/
;/***************************************************************************************************************************/
l_exit:
;/************ Arret du programme ************/
mov eax, 1 ; Appel systeme exit
mov ebx, 0 ; Code de retour 0 (succes)
int 80h ; On execute l'appel Systeme
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment