Programowanie w języku symbolicznym mc W

Transkrypt

Programowanie w języku symbolicznym mc W
Programowanie w języku symbolicznym m.c. W
Programowanie to nadawanie algorytmowi postaci dekodowalnej i realizowalnej przez komputer.
Sposoby programowania
Języki zorientowane maszynowo
Rozkazy maszynowe
i adresy w postaci
binarnej
Rozkazy maszynowe
i adresy w postaci
symbolicznej
Języki zorientowane problemowo
Instrukcje symboliczne zbudowane
zgodnie z potrzebami dziedziny, dla
której się programuje
1. Format instrukcji języka symbolicznego
[etykieta :] mnemonika_rozkazu [symboliczny_adres_argumentu]
2. Lista rozkazów
DOD
ODE
ŁAD
POB
SOB
SOM
STP
(Ak) + ((AD)) ---> Ak
(Ak) - ((AD)) ---> Ak
(Ak) ---> (AD)
((AD)) ---> Ak
(AD) ---> L,A
jeżeli Z = 1 to (AD) ---> L,A
stop
MNO
DZI
POT
SDP
PZP
WPR
WYP
(Ak) * ((AD)) ---> Ak
(Ak) / ((AD)) ---> Ak
adresacja natychmiastowa
(Ak)(AD) ----> Ak
skok do podprogramu, ślad na stosie
powrót z podprogramu, pobranie śladu ze stosu
(UZ)  (AD)
((AD))  UZ
3. Pseudorozkazy
RPA
RST
KON
rezerwuj komórkę pamięci
rezerwuj komórkę pamięci; wpisz do niej stałą
koniec tekstu programu w języku symbolicznym
4. Format makrodefinicji
MAKRO nazwa, parametr 1,..., parametr n
instrukcje tworzące makro
KONM
Asembler jest dwuprzebiegowy i wykorzystuje dwie tablice: T1 i T2.
Tablica T1 zawiera dane o przyporządkowaniu kodom symbolicznym (mnemonikom) rozkazów, odpowiednich kodów
binarnych, natomiast tablica T2, zawiera dane o przyporządkowaniu każdej etykiecie binarnego adresu absolutnego.
I przejście:
utworzenie tablicy T2.
II przejście: przekład kolejnych instrukcji z postaci symbolicznej na binarną, w oparciu o zawartość tablic T1i T2.
1
Zadania
1.
Napisać program, obliczający największy wspólny dzielnik 2 liczb całkowitych A i B (A,B > 0).
2.
Napisać program w języku symbolicznym m.c.W, czytający z urządzenia zewnętrznego 60 liczb
całkowitych i wyprowadza sumę nieujemnych spośród nich.
3.
Napisać program, który czyta z urządzenia zewnętrznego 10 liczb całkowitych, oblicza i wyprowadza
sumę kwadratów tych liczb.
4.
Napisać program, który mnoży dwie liczby podawane z UZ, a wynik wyprowadza na UZ.
5.
Napisać program, który oblicza następujący iloczyn:
N
N
ILOCZYN   ( K  J ) N – liczba całkowita
K 1 J 1
Wartość N powinna być wczytywana z Urządzenia Zewnętrznego, a wynik obliczeń powinien zostać
zapisany do komórki o nazwie symbolicznej ILOCZYN.
MAKRO PODPROGRAMY
6.
Napisać program w jęz. symbolicznym m.c.W obliczający maksimum spośród N liczb wczytywanych
z urządzenia zewnętrznego. Liczby podawane są wg. formatu: N, l1 , l2 , ... ,lN Program powinien
dopuszczać do obliczeń jedynie N > 0
7.
Napisać w języku symbolicznym m.c.W program obliczający wartość minimalną funkcji
N
Y   (K  X ) 2
dla x  [ D , G ]
K 1
8.
9.
W czasie obliczeń, X zmienia się z krokiem H.
Wartości N,D,G,H należy wczytać z UZ (N >= 1, D =< G, H > 0 ).
Wartość minimalną funkcji i wartość X, dla której funkcja osiąga minimum, wyprowadzić na UZ.
Obliczenie wartości funkcji Y zrealizować za pomocą podprogramu.
W rozwiązaniu podać schematy blokowe oraz tekst programu głównego i podprogramu.
Zaniedbać testowanie poprawności danych wejściowych.
Napisać w języku symbolicznym m.c.W program, który czyta z UZ liczby: N, A1, B1, A2, B2, ..., a
następnie oblicza i wyprowadza S1   Ai i S 2   Bi .
Napisać w języku symbolicznym m.c.W program, który czyta z UZ liczbę N, a następnie oblicza i
wyprowadza sumę
N
 (((k  1)
2
 1) 2  1) 2
k 1
PROGRAMY SAMOMODYFIKUJĄCE SIĘ
10.
Napisać program zliczający elementy tablicy TAB wypełnionej liczbami naturalnymi. Znacznikiem
końca tablicy jest wartość UJEMNA.
11.
Napisać program inkrementujący zawartość kolejnych komórek tablicy T, zawierającej liczby
naturalne. Znacznikiem końca tablicy jest wartość –1.
12.
Napisać program zamieniający komórki N elementowej tablicy T wartości WAR na NOWA.
13.
Napisać program wyznaczający sumę kwadratów elementów tablicy T zakończonej wartością A.
14.
Napisać program modyfikujący elementy tablicy TAB zakończonej wartością A.
a. każdy element tablicy należy podwoić
b. podwoić należy tylko ujemne elementy tablicy
2

Podobne dokumenty