القائمة الرئيسية

الصفحات

قراءة و عرض عناصر جدول بلغة تجميع معالج ميبس


قراءة و عرض عناصر جدول بلغة تجميع معالج ميبس
 (Assembleur du processeur MIPS R 3000)


قراءة و عرض عناصر جدول بلغة تجميع معالج ميبس


1. تقديم

في هذه التدوينة سنتطرق إلى الجداول les tableaux في لغة تجميع معالج ميبس (Assembleur du processeur MIPS R 3000)، و لتسهيل الفهم نبدأ أولا ببرنامج يقرأ و يعرض عناصر جدول و سنتبعها بتدوينة أخرى تتعامل مع عناصر الجدول. و كالعادة سنقدم أولا الخوارزمية algorithme ثم نقوم بتحويلها إلى برنامج assembleur.

2. خوارزمية قراءة و عرض عناصر جدول

فيما نقدم خوارزمية تسمح بقراءة و عرض عناصر جدول، العناصر يقوم بإدخالها المستخدم

Algorithme Lecture_Affiche_tableaux;
   var t : tableau[1..10] entier;
       i   : entier ;
debut
    pour i <- 1 à 10 faire
         ecrire(' Donner la valeur de l'element numero ', i , ' : ');
         lire(t[i]);
    fin pour

pour i <- 1 à 10 faire
         ecrire(' La valeur de l'element numero ', i , ' : ');
         ecrire(t[i]);
    fin pour
         
fin.

3. برنامج قراءة و عرض عناصر جدول بلغة تجميع معالج ميبس

فيما يلي البرنامج الذي يقرأ و يعرض عناصر جدول بلغة تجميع معالج ميبس (Assembleur du processeur MIPS R 3000)

# Programme lecture et affichage des elements d'un tableau de cinq lements
.data
tab : .word 0 , 0 , 0 , 0 , 0
m1 : .asciiz " Donner la valeur de l'element numero "
m2 : .asciiz " \n La valeur de l'element numero  "
m3 : .asciiz " : "
.text
main :

# Lecture des elements du tableau
li $a1 , 5   # taille du tableau
la $a2 , tab # $a2 recoit l'adresse du premier element
li $t0 , 1   # indice des elements

bcl_lecture:

# lecture d une valeur
la $a0 , m1
li $v0 , 4
syscall

move $a0 , $t0
li $v0 , 1 # appel systeme pour ecrire int
syscall    # Affichage de la valeur

# Afficher  ":"
la $a0 , m3
li $v0 , 4
syscall

li $v0 , 5 # appel systeme pour lire int
syscall    # lecture de la valeur

sw   $v0 , ($a2) # ecrire une valeur dnas le tableau

addi $a2 , 4  # incrementer le pointeur du tableau par 4
addi $a1 , -1 # decrementer le compteur de la boucle bcl_lecture
addi $t0 , 1  # incrementer l'indice des elements

bne $a1 , $zero , bcl_lecture # si la valeur n'est pas nulle brancher sur bcl_lecture


# Affichage des element du tableau
li $a1 , 5   # taille du tableau
la $a2 , tab # $a2 recoit l'adresse du premier element
li $t0 , 1   # indice des elements

bcl_affiche:

# Affichage d une valeur
la $a0 , m2
li $v0 , 4
syscall

move $a0 , $t0
li $v0 , 1 # appel systeme pour ecrire int
syscall    # Affichage de la valeur

# Afficher  ":"
la $a0 , m3
li $v0 , 4
syscall

lw $a0 , ($a2) # lire une valeur du tableau
li $v0 , 1     # appel systeme pour ecrire int
syscall        # Affichage de la valeur

addi $a2 , 4  # incrementer le pointeur du tableau par 4
addi $a1 , -1 # decrementer le compteur de la boucle bcl_affiche
addi $t0 , 1  # incrementer l'indice des elements

bne $a1 , $zero , bcl_affiche # si la valeur n'est pas nulle brancher sur bcl_affiche

# fin du programme
li $v0 , 10
syscall

 وهذا مثال على تجريب البرنامج في QtSpim.

الجداول les tableaux – قراءة و عرض عناصر جدول  Lecture et affichage des éléments،  بلغة تجميع معالج ميبس (Assembleur du processeur MIPS R 3000)


ليصلك الجديد و تبقى دائما على إطلاع تابع مدونتنا و زر بإستمرار صفحاتنا على الفيس بوك : :الأستاذ بن مير عبد القادر و baek-oasis


تعليقات