L5 I3X6S1 14


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:
l5
L5 Badanie stabilności liniowego układu 3 rzędu z opóźnieniem Wpływ wartości opóźnienia na stabi
L1 I3X6S1
aisde l5
1 3 m2 L5 Co to znaczy by dobrym koleg
l5
l5
L5 elektra
K4 L5
V L50709?lass101
l5 seql verilog
chap2 l5
l5
L5 regresja logistyczna
L5 28 OLOW
ALL L5 0810?lass101
BB L50410?lass101

więcej podobnych podstron