L5 I0Y4S1 16 docx





Sprawozdanie

Architektura i organizacja komputerów II
Laboratorium nr 5-6













Sokołowski Michał I0Y4S1 nr 16

Treść zadania:
1.      Na ocenę „dostatecznie”: zaprojektować (algorytm, opis) i zaimplementować program p1.s, który::

a.       Wypisze komunikat „Uruchomiono program p1.” i przeniesie kursor dwa wiersze niżej.

b.      Wypisze komunikat „Autorem programu jest ... z grupy … ”  (gdzie miejsca … należy wypełnić danymi autora programu) i przeniesie kursor do nowego wiersza.

c.       Wypisze komunikat „Numer wykonawcy w dzienniku = …”. Miejsce wykropkowane program wypełni w trakcie wykonania właściwą liczbą, wykorzystując format %d i zadeklarowaną tablicę liczb całkowitych TNUM o zainicjowanych wartościach kolejnych liczb całkowitych bez znaku: 1, 2, … 25. Wypisana liczba nie może być zadeklarowana statycznie jako napis, należy jej wartość przed wypisaniem odczytać z TNUM.

d.      Wypisze komunikat „Jesli chcesz zakonczyc prace tej czesci programu, nacisnij …”. (Bez przenoszenia kursora do nowego wiersza, w miejsce … programista wpisze tekst sekwencji kończącej na dst).

e.       Wczyta tekst z klawiatury. Jeśli wprowadzony tekst to sekwencja kończąca na dst (i oczywiście Enter), program, zakończy się, jeśli naciśnięto inny klawisz (np. sam Enter) lub sekwencję klawiszy różną od sekwencji kończącej na dst, program powróci do wykonywania działań z punktów 1d, 1e.

 

2.    Na ocenę „dostatecznie plus”: wykonać zadania na dst, a ponadto zaprojektować (algorytm, opis) i zaimplementować program p2.s, który będzie wykonywał punkty 1.a (z uwzględnieniem nazwy programu p2) i 1.b jak powyżej, bez punktu 1.c, ale punkty d i e należy zmodyfikować: warunkiem zakończenia programu p2.s jest wczytanie sekwencji 3 znaków, podanej przez prowadzącego, niezależnie od wielkości liter,  np. gdy sekwencja 3 znaków to „aBc” – wtedy  kończy program również sekwencja np. „AbC” i  „aBC”.

Sekwencje kończące


Wersja zadania

Sekwencja na 3

Sekwencja na 3+

4

ag

9kc









Kod źródłowy programu p1.s

.data


TNUM: .word 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25

wiersz1: .asciiz "Uruchomiono program p1.\n\n"

wiersz2: .asciiz "Autorem programu jest Michał Sokołowski z grupy I0Y4S1\n"

wiersz3: .asciiz "Jesli chcesz zakonczyc prace tej czesci programu, nacisnij ag: "


Nr: .asciiz "Numer wykonawcy w dzienniku = %d\n"

text1: .word wiersz1

text2: .word wiersz2

text3: .word wiersz3

Nrwyk: .word Nr

NUM: .space 4

bufor: .space 80

Wczyt: .word 0,bufor,80


.text

addi r14,r0,text1 ;wyswietl wiersz1

trap 5

addi r14,r0,text2 ;wyswietl wiersz2

trap 5

addi r10, r0, TNUM ;w r10 przechowuj adres tablicy TNUM

lw r1, 60(r10)

sw NUM, r1

addi r14,r0,Nrwyk

trap 5

Petla:

addi r14,r0,text3 ;Wyswietl wiersz3

trap 5

addi r14,r0,Wczyt ;wczytaj do r14

trap 3

addi r2,r0,bufor

lbu r3,(r2)


a:

seqi r4,r3,97 ;sprawdz czy pierwszy znak to "a"

beqz r4,Petla


g:

addi r2,r2,1 ;r2++ zeby sprawdzic nastepny znak

lbu r3,(r2)

seqi r5,r3,103 ;sprawdz czy drugi znak to "g"

beqz r5,Petla


Enter:

addi r2,r2,1

lbu r3,(r2)

seqi r4,r3,10 ;sprawdz czy 3 znak to Enter

beqz r4,Petla


Koniec:


trap 0





Algorytm programu p1:












Zrzut ekranu programu p1






Program na początku wypisuje dwa komunikaty informujące użytkownika jaki program został uruchomiony, kto jest autorem programu, numer jego grupy i nr w dzienniku.
Następnie program wyświetla komunikat informujący jaką sekwencję znaków trzeba wprowadzić żeby zakończyć działanie programu. Komunikat ten będzie powtarzany dopóki użytkownik nie wprowadzi żądanej sekwencji znaków















Kod źródłowy programu p2
.data


wiersz1: .asciiz "Uruchomiono program p2.\n\n"

wiersz2: .asciiz "Autorem programu jest Michał Sokołowski z grupy I0Y4S1\n"

wiersz3: .asciiz „Jesli chcesz zakonczyc prace tej czesci programu,nacisnij 9kc: "


text1: .word wiersz1

text2: .word wiersz2

text3: .word wiersz3


bufor: .space 80

Wczyt: .word 0,bufor,80


.text

addi r14,r0,text1 ;wyswietl wiersz1

trap 5

addi r14,r0,text2 ;wyswietl wiersz2

trap 5


Petla:

addi r14,r0,text3 ;Wyswietl wiersz3

trap 5

addi r14,r0,Wczyt ;wczytaj do r14

trap 3

addi r2,r0,bufor

lbu r3,(r2)


czy9:

seqi r4,r3,57

beqz r4,Petla


K_lub_k:

addi r2,r2,1

lbu r3,(r2)

seqi r4,r3,75

seqi r5,r3,107

XOR r6,r5,r4

beqz r6,Petla


C_lub_c:

addi r2,r2,1

lb r3,(r2)

seqi r4,r3,67 ;sprawdzam mała litere

seqi r5,r3,99 ;spradzam duza litere

XOR r6,r5,r4 ; sprawdzam czy ktoras z nich zostala wpisana

beqz r6,Petla ;jezeli tak to skok sie nie wykona



Enter:

addi r2,r2,1

lbu r3,(r2)

seqi r4,r3,10

beqz r4,Petla

Koniec:

trap 0;



Algorytm programu p2:







Zrzuty ekranu programu p2





Program na początku wypisuje dwa komunikaty informujące użytkownika jaki program został uruchomiony, kto jest autorem programu, oraz jego numer grupy
Następnie program wyświetla komunikat informujący jaką sekwencję znaków trzeba wprowadzić żeby zakończyć działanie programu. Komunikat ten będzie powtarzany dopóki użytkownik nie wprowadzi żądanej sekwencji znaków, przy czym nie jest brana pod uwagę wielkość znaków




Wyszukiwarka

Podobne podstrony:
L9 I0Y4S1 16 docx
L7 I0Y4S1 16 docx
16 P docx
16 Powstanie sejmu walnego i jego struktura docx
16 02 12 wykład 1 docx
16 01 2015 docx
Sld 16 Predykcja
Ubytki,niepr,poch poł(16 01 2008)
16 Metody fotodetekcji Detektory światła systematyka
wyklad badania mediow 15 i 16
RM 16
16 Ogolne zasady leczenia ostrych zatrucid 16903 ppt
16 zobowiÄ zania ppt
Wykład 16 1
(16)NASDAQid 865 ppt
16 2id 16615 ppt
Temat6+modyf 16 05 2013
16 Strategie zw
bn 16

więcej podobnych podstron