Lachu opracowanie otwarte Kerto me edit, INNE, WYKŁADY Lach, pps na 17 czerwca


Grupa 3

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.
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 )

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.
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).
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.
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.
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ą).
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.)
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.
3)Czy program konsolidowalny może być nierelekowalny?

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.
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.



Wyszukiwarka

Podobne podstrony:
Lachu opracowanie otwarte Kerto, INNE, WYKŁADY Lach, 1 i 2 kolokwium - różne wersje, PPS
Lachu opracowanie otwarte Kerto Nieznany
Kolos 1, INNE, WYKŁADY Lach, Podstawy programowania systemowego
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
Kolos 1, INNE, WYKŁADY Lach, Podstawy programowania systemowego
Opracowane zag czytac, Awf notatki,egzaminy,wykłady, Pływanie-egzamin
Botanika w2, inne wykłady botanika
inne, Wykład nr4 z 2005, Wykład 4 (26
wychowanie moralne, Dokumenty do szkoły, przedszkola; inne, wykłady i ćwiczenia
wykłady inne, Wykład 4
SCENARIUSZ ZAJĘCIA DLA GRUPY 6 - technika mgr. Żaba, Dokumenty do szkoły, przedszkola; inne, wykład
KWESTIONARIUSZ ANKIETY - WOLLMAN, Dokumenty do szkoły, przedszkola; inne, wykłady i ćwiczenia
wyklad 9 2- , Farmacja I rok, Botanika, inne wykłady
odlewnictwo opracowanie, MiBM, semestr II, Odlewnictwo, INNe
metodyka nauczania wychowania fizycznego, Dokumenty do szkoły, przedszkola; inne, wykłady i ćwiczeni

więcej podobnych podstron