Lachu opracowanie otwarte Kerto, INNE, WYKŁADY Lach, 1 i 2 kolokwium - różne wersje, PPS


1. 3 najważniejsze cechy oprogramowania systemowego

Przystosowane do jednego typu (rodziny) procesora.

Szybkie, kod zajmuje mało miejsca w porównaniu z podobnymi funkcjami w HLL.

Posiada bezpośredni dostęp do sprzętu.

Realizuje funkcje konieczne do działania systemu komputerowego.

Użytkownik nie ma z nim bezpośredniej styczności.
2. Czy można uruchomić program napisany dla danego typu procesora na innym procesorze?

Nie można, gdyż oprogramowanie systemowe wykorzystuje architekturę konkretnego procesora.
3. Opisz tablicę asemblacji (Co zawiera tablica kodu instrukcji asemblacji na kod maszynowy. Ogólnie chodzi o tablicę używaną przy asemblacji )

Dokładnie nie wiem o co chodzi.

Plik źródłowy zawiera instrukcje, tłumaczone bezpośrednio na kod oraz nie tłumaczone dyrektywy i etykiety. Na czas asemblacji powstaje tablica symboli, zawierająca używane podczas tłumaczenia symbole (np. LOOP, START), czyli nazwy etykiet i ich adresy oraz stałe stworzone przez dyrektywę EQU wraz z ich wartościami. Tablica tworzona jest przy pierwszym przejściu asemblera i wykorzystywana w drugiej części. W drugim przejściu powstaje też tablica używana przez konsolidator, zawierająca m.in. informacje relokacyjne.
4. Asemblacja warunkowa - do czego się używa

Używamy gdy chcemy wygenerować kilka różnych programów w zależności od warunków zewnętrznych (sprzęt, czas, istnienie innego oprogramowania). Podczas debugowania można użyć do wyłączania lub włączania różnych fragmentów kodu, aby zobaczyć jakie warianty zadziałają najlepiej.
5. Działanie makroinstrukcji z parametrami

Gdy wywołamy makro z parametrami, to zostaną one wstawione jako tekst w miejsce ich wystąpienia w makrodefinicji. Parametry nie zostaną przekazane w sensie zapisania danych w pamięci.Tekst całej makrodefinicji zostaje wstawiony razem z odpowiednimi parametrami w miejscu jej wywołania.
6. Co należy poddać modyfikacji przy relokacji?

Wszystkie adresy oraz obliczone za ich pomocą wartości. Również adresy etykiet (gdyż w uproszczeniu wartością etykiety jest adres).
7. Konsolidacja modularna (skąd wiadomo, że coś tam jest modułem czy coś takiego)

Aby konsolidator wiedział, gdzie ma szukać odpowiednich procedur, niezbędne jest użycie dyrektyw PUBLIC i EXTERN. Jeżeli program jest zawarty w kilku plikach źródłowych, to każdy jest z punktu widzenia asemblera równoprawnym modułem, zatem występowanie dyrektywy PUBLIC bądź EXTERN warunkuje budowę modularną programu.
8. Konsolidacja dynamiczna

Polega na tym, że odpowiednie moduły ładowane są dopiero wtedy, gdy podczas wykonywnia programu zaistnieje potrzeba skorzystania z funkcji w nich zawartych.
9. Parametr wejścia-wyjścia

Parametr taki zawiera dane przekazywane do funkcji, w celu dokonania odpowiednich obliczeń i zwrócenia przez niego ich wartości. Jest wskaźnikiem do zmiennej umieszczonej w pamięci.
10. Kiedy można używać przekazywania parametrów w kodzie programów.

Gdy jesteśmy pewni, że parametr zawsze będzie miał tą samą wartość.

Grupa 2:
1. Podaj schemat działania przy projektowaniu programu aplikacyjnego

Określenie konkretnego działania programu i jego wymagań.

Sporządzenie schematu blokowego.

Napisanie programu.

Asemblacja programu.

Testowanie i debugowanie programu.

Gdzieś na slajdach jest dokładnie to rozrysowane.
2. Jak zaznaczamy typ adresowania

Wprowadzając przed lub po nazwą zmiennej (wartością) odpowiedni symbol:

# - adresowanie natychmiastowe np. #10

@ - adresowanie przez odwołanie np. @0x124312

Gdy nic nie zmieniamy to mamy adresowanie bezpośrednie np. LED
3. Jaką modyfikację należy wykonać aby program był konsolidowany dynamicznie

W miejsca odwołan bibliotecznych wstawic trzeba zakładki - wprowadza na swoje miejsce adres potrzebnego podprogramu i powoduje jego wykonanie.

Trzeba utworzyć moduły i zrobić z nich biblioteki z funkcjami, które będą ładowane na bieżąco w trakcie wykonywania programu(musi mieć budowe modularną).

W pamięci operacyjnej konieczne jest rezydowanie loadera dynamicznego.
4. Jak rozwiązać problem odwołań do przodu

Skorzystac z asemblera dwuprzejsciowego, który w pierwszym przejściu tworzy tablicę symboli (odwołań) z której korzysta przy drugim przejściu.
5. Co to jest makroinstrukcja

Jest to część programu napisanego w języku asemblera, interpretowana przez makroasembler. Zawiera kod programu, który w trakcie asemblacji zostanie podstawiony w miejsce jej wywołania.
6. Co zawiera plik wynikowy

Nagłówek z informacją o pliku.

Kod maszynowy-wynikowy.

Tablicę relokacji.

Dodatkowe informacje przydatne np. przy debugingu (numery wierszy itd.)

Zawartość jest zależna od formatu pliku.
7. Co zawiera plik wynikowy programu konsolidowanego

Informacja nagłówkowa = długości poszczególnych segmentów i adres pierwszej instrukcji programu.

Segment programu - zawiera kod maszynowy.

Segment danych - zawiera dane o zainicjowanych wartosciach.

Tablicę relokacji.

Tablicę symboli zdefiniowanych za pomocą EXTERN (w bieżącym module).

Tablicę symboli zdefiniowanych w innych modułach z użyciem PUBLIC.
8. Na czym polega przekazywanie przez odwołanie

Przekazywany jest adres zmiennej (pod którym jest zapisana w pamięci), na podstawie którego zostaje wyłuskana potrzebna wartość.
9. Jak zwrocic błąd z procedury?

Po prostu przyjmując jakąś wartość zwróconą przez parametr wyjściowy lub wejściowo-wyjściowy jako błąd. Lub wykorzystac np. bit przeniesienia - łatwo sprawdzic.

Gr 4 i 1
1) Co to jest dyrektywa?

Jest symbolem rozumianym przez asembler służącym do sterowania asemblacją programu. Nie jest tłumaczona na kod maszynowy.
2)Czym się różni makro od procedury?

Kod makra jest wklejany do programu w miejscu wywołania.

Kod procedury ulokowany jest w jednym miejscu, a podczas odwołania do procedury, jak i jej opuszczenia, wykonywane zostają skoki bezwarunkowe w odpowiednie miejsca w kodzie - skok i powrot w czasie wykonia programu. Stosowanie makrodefinicji powoduje wzrost objętości kodu wynikowego w porównaniu z procedurą. Stosowanie procedur wymaga dodatkowego narzutu czasu pracy procesora na obsługę skoków i związanych z nimi czynności.
3)Czy program konsolidowalny może być nierelekowalny?

To pytanie jest chyba źle sformułowane, gdyż każdy poprawnie napisany program jest konsolidowalny.

Może. Nie każdy program musi być relokowalny, w szczególności wynikiem asemblacji jest zawsze powstanie kodu maszynowego. Inne elementy, takie jak tablica symboli relokowalnych są opcjonalne.
4)Co to jest relokowalność?

Możliwość załadowania programu od dowolnego miejsca w pamięci
5)Jaka jest zależność asemblera i języka maszynowego?

Każda instrukcja asemblera odpowiada dokładnie jednej instrukcji kodu maszynowego.
6)Co to są moduły, które potem są konsolidowane?

Moduły to oddzielne pliki, utworzone w procesie asemblacji, powstałe z oddzielnych plików źródłowych. Oddzielne moduły są zwykle zbiorem logicznie pogrupowanych procedur i funkcji. Konsolidacji programu złożonego z modułów tworzy spójny plik wynikowy.
7)Jak się tworzy program oparty na procedurach?
Stworzenie takiego programu polega na rozdzieleniu zadań na jak najmniejsze. Dekompozycja funkcjonalna (od góry do dołu):

- zaprojektuj program przed programowaniem

- podziel duze zadania na mniejsze

- uzyj struktury hierarchicznej opartej na procedurach

- poszczególne procedury testuj oddzielnie
8)Kiedy można parametry do procedury przekazywać przez rejestr?

Przy odwoływaniu pośrednim i bezpośrednim. Gdy kod wywołania procedury uwzględnia zapisanie potrzebnych danych z rejestru na stos.
9)Korzyści z implementacji zm. lokalnych na stosie.

Zapewnia możliwość przekazania dużej ilości parametrów (np. przy wywoływaniu rekurencyjnym).

10)Co zawiera tabela symboli?

Zawiera nazwy symboli i ich adresy (np. adresy etykiet) bądź adresy w pamięci do danych (stałych) utworzonych za pomocą odpowiednich dyrektyw. Tablica symboli tworzona jest w pierwszym przejściu asemblera i wykorzystywana jest w jego drugim przejściu.

Kolor zielony - teraz czarny - wydaje mi się że jest dobrze Kolor fioletowy - może dobrze, a może źle (ja bym tak napisał na chwilę obecną). Kolor niebieski - informacje dodatkowe. Kolor czerwony - komentarze. Wprowadzone zmiany.

„Generalnie to na szybko robione, bez zaglądania do materiałów, niby pamiętam dość, ale no nie wiem. (…)” - Kerto.



Wyszukiwarka

Podobne podstrony:
kololach2, INNE, WYKŁADY Lach, 1 i 2 kolokwium - różne wersje, PPS
PPS I KOLOKWIUM, INNE, WYKŁADY Lach, 1 i 2 kolokwium - różne wersje, PPS
Lachu opracowanie otwarte Kerto me edit, INNE, WYKŁADY Lach, pps na 17 czerwca
Lachu opracowanie otwarte Kerto Nieznany
Kolos 1, INNE, WYKŁADY Lach, Podstawy programowania systemowego
Kolos 1, INNE, WYKŁADY Lach, Podstawy programowania systemowego
opracowanie wykładów II kolokwium
Budownictwo opracowane pytania na egz z wykładów (2012)
Pytania z wykładów na kolokwium z Elektroenergetyki
Budownictwo opracowane pytania na egz z wykładów (2012)
Botanika w2, inne wykłady botanika
Zagadnienia z wykladow do kolokwium nr 1-2, IiII, IIsemestr, Chemia, kolos1
inne, Wykład nr4 z 2005, Wykład 4 (26

więcej podobnych podstron