Assembler - zti.polsl.pl
Transkrypt
Assembler - zti.polsl.pl
Lista rozkazów: 1. przesyły: POB, ŁAD, DNS (=PSH) daj na stos, PZS (=POP)pobierz ze stosu 2. arytmetyczne (pomija się problem nadmiarów lub niedomiarów): DOD, ODE, MNO, DZI, (całkowitoliczbowe) POT (adresacja natychmiastowa) 3. skoki: SOB, SOM, SOZ, SDP (skok do podprogramu), PWR (powrót z podprogramu) 4. we/wy: WPR WYP (bezaargumentowe, w operacji uczestniczy akumulator wczytywane są znaki poprzez kody ASCII) 5. stop: STP ASCII A=65 …. Z=90; a=97, ... z=122; 0=48; spacja=32 // można stosować a: rst ‘a’, co odpowiada a: rst 97 Zadania 1. Napisać program, który przepisuje znaki z wejścia na wyjście UZ, zamieniając małe litery na wielkie, aż do napotkania spacji. 2. Napisać program, który przepisuje znaki z wejścia na wyjście UZ, aż do napotkania sekwencji ABC. a. ABC ma się pojawić na wyjściu b. ABC żadna z liter wzorca nie pojawia się na wyjściu 3. Obliczyć „N nad K” (symbol Newtona), do obliczenia n! wykorzystać makro. 4. Napisać program pobierający z UZ cyfry aż do napotkania spacji i dodawać je do siebie, pozostałe znaki należy pomijać. Wyznaczoną sumę wyprowadzić na UZ. Do wyprowadzenia wykorzystać makro. Makro ma być w dwóch wersjach z użyciem stosu i bez. 5. Zakładając, że dostępne jest makro „wyprowadz a” oraz implementując makro „wprowadz a, blad” , które wczytuje znak po znaku liczbę zakończoną spacją z UZ, napisać program, który wczytuje dwie liczby i wyprowadza większą z nich. 6. Napisać program, który z UZ wczytuje N liczb zakończonych spacjami, liczby te należy wpisać do tablicy, której pierwszy element ma adres symboliczny TAB. 7. Dana jest dwuwymiarowa tablica TAB1 wymiaru N-wierszy, M-kolumn zapisana w pamięci wiersz po wierszu oraz jednowymiarowa TAB2 wymiaru N. Napisać program, który wypełni tablicę TAB2 ilością liczb podzielnych przez LICZBA znajdujących się w kolejnych wierszach TAB1.