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

الصفحات

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


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


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



1. تقديم

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

2. خوارزمية حساب عدد العناصر  السالبة و المعدومة و الموجبة في جدول 

هذه هي الخوارزمية التي تقوم بحساب عدد السالبة و المعدومة و الموجبة في جدول ، في هذه الخوارزمية لا نقوم بقراءة عناصر الجدول و لكن نقوم بملأ الجدول بقيم مباشرة عند التصريح بمتغير الجدول، طبعا هذا من أجل التبسيط، يمكن بكل سهولة القيام بعملية قراءة العناصر أولا كما فعلنا في هذا الموضوع المعنون قراءة و عرض عناصر جدول بلغة تجميع معالج ميبس.

algorithme tab_n_n_p;
   var t : tableau[0 , -2 , 1 , 5 , -3 , 0 , 3 , 5 , -6 , 9] entier;
       i , nneg , nnul , npos   : entier ;
debut
    nneg <- 0 ;
    nnul <- 0 ;
npos <- 0 ; 

    pour i <- 1 à 10 faire
         si (t[i] < 0)
             nneg <- nneg + 1 ;
         sinon
             si (t[i] = 0)
                 nnul <- nnul + 1 ;
             sinon
                 npos <- npos + 1 ;

    fin pour

ecrire(' Le nombre des elements negatifs = ' , nneg);
ecrire(' Le nombre des elements negatifs = ' , nnul);
ecrire(' Le nombre des elements negatifs = ' , npos);

fin.

3. برنامج حساب عدد العناصر  السالبة و المعدومة و الموجبة في جدول بلغة تجميع المعالج ميبس

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

# Programme de calcul de nombre des elements negatifs , nulles et positifs d'un tableau de dix elements
.data
tab : .word 0 , -2 , 1 , 5 , -3 , 0 , 3 , 5 , -6 , 9
m1 : .asciiz " Le nombre des elements negatifs = "
m2 : .asciiz " \n Le nombre des elements nulles = "
m3 : .asciiz " \n Le nombre des elements positifs = "

.text
main :

li $t0 , 0   # compteur des elements negatifs
li $t1 , 0   # compteur des elements nulles
li $t2 , 0  # compteur des elements positifs

li $a1 , 10  # taille
la $a2 , tab # $a2 recoit l adresse du premier element

bcl :
lw   $a3 , ($a2) # lire une valeur du tableau

bgez $a3 , pos_nulle
# incrementer le nombre des elements negatifs
addi $t0 , 1
j next

pos_nulle : bgtz $a3 , pos
# incrementer le nombre des elements nulles
addi $t1 , 1
j next

pos :
# incrementer le nombre des elements positifs
addi $t2 , 1

next :

addi $a2 , 4  # incrementer le pointeur du tableau par 4
addi $a1 , -1 # decrementer le compteur de la boucle bcl
bne $a1 , $zero , bcl # si la valeur n est pas nulle brancher sur bcl

# Affichage du nombre des elements negatifs
la $a0 , m1
li $v0 , 4
syscall
move $a0 , $t0
li $v0 , 1
syscall

# Affichage du nombre des elements nulles
la $a0 , m2
li $v0 , 4
syscall
move $a0 , $t1
li $v0 , 1
syscall

# Affichage du nombre des elements positifs
la $a0 , m3
li $v0 , 4
syscall
move $a0 , $t2
li $v0 , 1
syscall

# fin du programme
li $v0 , 10
syscall

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

الجداول les tableaux – عدد العناصر السالبة و المعدومة و الموجبة في جدول nombres des éléments négatifs, nulles et positifs


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


تعليقات