WOJSKOWA AKADEMIA TECHNICZNA
Architektura i organizacja komputerów II
Sprawozdanie z pracy laboratoryjnej
Nr 5
Student : Adrian Kępa
Grupa : I3X6S1
Nr : 14
Data : 07.05.2014r.
Treść zadania
Zadanie laboratoryjne 5_6:
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 nowej linii.
c. Wypisze komunikat Numer wykonawcy w dzienniku = & i przeniesie kursor do
nowej linii. 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 mc : .
(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.
Na laboratorium wykonano program w wersji 3.
-Sekwencja kończąca działanie programu = mc
-Numer w dzienniku studenta = 14
Kod programu
.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,26,27,28,29,30
txt1: .asciiz "Uruchomiono program p1.\n\n"
txt2: .asciiz "Autorem programu jest Adrian Kępa z grupy I3X6S1\n"
txt3: .asciiz "Jesli chcesz zakonczyc prace tej czesci programu, nacisnij mc : "
txtformat: .asciiz "Numer wykonawcy w dzienniku = %d\n"
.align 2
adrestxt1: .word txt1
adrestxt2: .word txt2
adrestxt3: .word txt3
param: .word txtformat
paramwartosc: .space 4
.align 2
buffer: .space 80
wczytaj: .word 0,buffer,80
.text
komunikaty:
addi r14, r0, adrestxt1
trap 5
addi r14, r0, adrestxt2
trap 5
numerstudenta:
lw r1, TNUM+52(r0)
sw paramwartosc, r1
addi r14, r0, param
trap 5
Loop:
addi r14, r0, adrestxt3
trap 5
addi r14, r0, wczytaj
trap 3
addi r2, r0, buffer
lb r3, (r2)
znak_1:
seqi r4, r3, 109 ;literka m
beqz r4, Loop
znak_2:
addi r2, r2, 1
lb r3, (r2)
seqi r4, r3, 99 ;literka c
beqz r4, Loop
znak_3:
addi r2, r2, 1
lb r3, (r2)
seqi r4, r3, 10 ;ENTER
beqz r4, Loop
Koniec:
trap 0
Opis programu
Schemat działania programu p1.s przedstawia się następująco:
1)Program wypisuje dwa komunikaty proste na konsolę programu WinDLX.
2)Następnie program wypisuje komunikat trzeci formatowany, łącznie z którym wypisuje także
numer w dzienniku swojego autora.
3)Następnie zostaje wypisany komunikat zachęty do wpisania sekwencji kończącej program.
W tej wersji programu (3) sekwencja kończąca składa się z trzech znaków (mc oraz ENTER ).
4)Wpisanie sekwencji powoduje przeslanie jej do bufora a następnie do rejestru R2.
5)Następuje sprawdzenie czy pierwszy znak sekwencji wpisanej przez użytkownika pokrywa się z
kodem ASCII litery m. Jeśli tak, program przechodzi do następnego kroku. Jeżeli nie, program
wraca do punktu 3.
6)Program wczytuje do rejestru R2 kolejny znak z bufora który został przesłany do rejestru R3.
Jeżeli kod znaku wpisanego jest równy kodowi ASCII litery c, to program przechodzi do ostatniego
sprawdzenia znaku. Jeśli nie, program wraca do punktu 3.
7)Do rejestru R2 zostaje załadowany kolejny znak z rejestru R3 zawierającego wprowadzony ciąg
znaków. W tym momencie sprawdzany jest ostatni znak sekwencji kończącej czyli ENTER . Jego
kod ASCII to 10, więc jeżeli pokrywa się on z zawartością rejestru R2, to program przechodzi do
kolejnego punktu. Jeżeli nie, program wraca do punktu 3.
8)Program kończy swoje działanie.
Wyniki uruchomienia programu
Schemat blokowy programu
Wyszukiwarka
Podobne podstrony:
l5L5 Badanie stabilności liniowego układu 3 rzędu z opóźnieniem Wpływ wartości opóźnienia na stabiL1 I3X6S1aisde l51 3 m2 L5 Co to znaczy by dobrym kolegl5l5L5 elektraK4 L5V L50709?lass101l5 seql verilogchap2 l5l5L5 regresja logistycznaL5 28 OLOWALL L5 0810?lass101BB L50410?lass101więcej podobnych podstron