Podstawy Informatyki Jezyki programowania

Transkrypt

Podstawy Informatyki Jezyki programowania
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Podstawy Informatyki
Języki programowania
dr inż. Alina MOMOT
[email protected]
http://zti.polsl.pl/AMomot/pi
dr inż. Alina MOMOT
Układ sterujący
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Plan wykładu
Programowanie
Wprowadzenie
Języki programowania
2 Kod maszynowy dla maszyny W
Założenia
Przykład
Wczytywanie programu do pamięci
Podsumowanie
3 Asembler maszyny W
Założenia
Przykład 1
Przykład 2
4 Translacja języka asemblera do kodu maszynowego
Założenia
Pierwszy przebieg asemblacji
Drugi przebieg asemblacji
1
dr inż. Alina MOMOT
Układ sterujący
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Wprowadzenie
Języki programowania
Wprowadzenie
Joseph Marie Jacquard (1752 – 1834) – francuski tkacz i wynalazca.
W 1805 roku zaprojektował krosno tkackie wykorzystujące karty
dziurkowane, na których zapisywany był wzór tkaniny do wytworzenia.
dr inż. Alina MOMOT
Układ sterujący
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Wprowadzenie
Języki programowania
Karty dziurkowane
W 1887r. Herman Hollerith (1860–1929) opatentował własny format
karty dziurkowanej użytej podczas spisu ludności USA w 1890 roku.
W 1924 r. został prezesem IBM, która wprowadziła najpopularniejszy
standard karty: 80 kolumn z pojedynczym znakiem i prostokątne otwory.
dr inż. Alina MOMOT
Układ sterujący
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Wprowadzenie
Języki programowania
Programowanie
Programowanie
Zapis algorytmu tak, aby był on zrozumiały dla komputera
Języki programowania można dzielić na:
zorientowane maszynowo
kod maszynowy,
rozkazy i adresy argumentów podawane są binarnie
języki asemblera,
rozkazy i adresy argumentów podawane są w postaci symbolicznej
zorientowane problemowo
instrukcje symboliczne często są złożone z wielu rozkazów maszynowych
dr inż. Alina MOMOT
Układ sterujący
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Wprowadzenie
Języki programowania
Wybrane języki programowania wysokiego poziomu
FORTRAN (FORmula TRANslator), 1955, John Code
LISP (LISt Processor), 1958, John McCarthy
COBOL (COmmon Business Oriented Language), 1959, Grace
Hopper (Short Range Committee)
ALGOL (ALGOrithmic Language) w wersji 58,60 i 68
BASIC (Beginner’s All-purpose Symbolic Instruction Code), 1964,
John G. Kemeny, Thomas E. Kurtz
Pascal 1970, Niklaus Wirth
C 1972, Dennis Ritchie
C++ 1980, Bjarne Stroustrup
Java 1995, James Gosling (Sun Microsystems)
PHP 1995, Rasmus Lerdorf
C# 2000, Microsoft
dr inż. Alina MOMOT
Układ sterujący
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Założenia
Przykład
Wczytywanie programu do pamięci
Podsumowanie
Założenia
Program składa się z ciągu rozkazów oraz danych
Format rozkazu: 3-bity Kodu rozkazu, 5-bity Adresu argumentu
Realizacja programu rozpoczyna się od rozkazu zapisanego w
komórce pamięci o adresie 0
Ustalona jest lista rozkazów
Kod
001
010
011
100
101
110
111
Treść
(Ak) + ((Ad)) → Ak
(Ak) − ((Ad)) → Ak
(Ak) → (Ad)
((Ad)) → Ak
(Ad) → L
(Ad) → L gdy Z = 1
zatrzymanie zegara
dr inż. Alina MOMOT
Układ sterujący
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Założenia
Przykład
Wczytywanie programu do pamięci
Podsumowanie
Przykład
Zadanie:
Dodać do siebie zawartość dwóch kolejnych komórek pamięci (4 i 5),
sumę zapisać do komórki następnej (6).
Rozwiązanie:
Kod
001
010
011
100
101
110
111
Treść
(Ak) + ((Ad)) → Ak
(Ak) − ((Ad)) → Ak
(Ak) → (Ad)
((Ad)) → Ak
(Ad) → L
(Ad) → L gdy Z = 1
zatrzymanie zegara
dr inż. Alina MOMOT
(4) → Ak
(Ak) + (5) → Ak
(Ak) → 6
stop
pierwszy argument
drugi argument
wynik
Układ sterujący
100
001
011
111
000
000
000
0100
0101
0110
0000
0011
0101
0000
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Założenia
Przykład
Wczytywanie programu do pamięci
Podsumowanie
Przykład
Zadanie:
Dodać do siebie zawartość dwóch kolejnych komórek pamięci (4 i 5),
sumę zapisać do komórki następnej (6).
Rozwiązanie:
Kod
001
010
011
100
101
110
111
Treść
(Ak) + ((Ad)) → Ak
(Ak) − ((Ad)) → Ak
(Ak) → (Ad)
((Ad)) → Ak
(Ad) → L
(Ad) → L gdy Z = 1
zatrzymanie zegara
dr inż. Alina MOMOT
(4) → Ak
(Ak) + (5) → Ak
(Ak) → 6
stop
pierwszy argument
drugi argument
wynik
Układ sterujący
100
001
011
111
000
000
000
0100
0101
0110
0000
0011
0101
0000
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Założenia
Przykład
Wczytywanie programu do pamięci
Podsumowanie
Przykład
Zadanie:
Dodać do siebie zawartość dwóch kolejnych komórek pamięci (4 i 5),
sumę zapisać do komórki następnej (6).
Rozwiązanie:
Kod
001
010
011
100
101
110
111
Treść
(Ak) + ((Ad)) → Ak
(Ak) − ((Ad)) → Ak
(Ak) → (Ad)
((Ad)) → Ak
(Ad) → L
(Ad) → L gdy Z = 1
zatrzymanie zegara
dr inż. Alina MOMOT
(4) → Ak
(Ak) + (5) → Ak
(Ak) → 6
stop
pierwszy argument
drugi argument
wynik
Układ sterujący
100
001
011
111
000
000
000
0100
0101
0110
0000
0011
0101
0000
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Założenia
Przykład
Wczytywanie programu do pamięci
Podsumowanie
Bootstrap
Program pobiera dane z taśmy perforowanej
Wymaga jednej komórki pamięci, gdzie przechowywana jest
informacja o aktualnym adresie odczytywanego rozkazu z czytnika
Koniec programu na taśmie sygnalizuje brak dziurek, czyli 0
Algorytm działania Bootstrap
1
Czytaj rząd taśmy do Ak
2
Jeśli (Ak) = 0, to KONIEC
3
(Ak) → (KP)
4
(KP) + 1 → (KP), skocz do 1.
dr inż. Alina MOMOT
Układ sterujący
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Założenia
Przykład
Wczytywanie programu do pamięci
Podsumowanie
Bootstrap
Program pobiera dane z taśmy perforowanej
Wymaga jednej komórki pamięci, gdzie przechowywana jest
informacja o aktualnym adresie odczytywanego rozkazu z czytnika
Koniec programu na taśmie sygnalizuje brak dziurek, czyli 0
Algorytm działania Bootstrap
1
Czytaj rząd taśmy do Ak
2
Jeśli (Ak) = 0, to KONIEC
3
(Ak) → (KP)
4
(KP) + 1 → (KP), skocz do 1.
dr inż. Alina MOMOT
Układ sterujący
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Założenia
Przykład
Wczytywanie programu do pamięci
Podsumowanie
Loader
Potrafi modyfikować program w czasie jego odczytu
Posiada zabezpieczenie przed błędami odczytu
Każdy rozkaz wraz z adresem argumentu zawiera informację czy
adres ten ma być zmodyfikowany względem początku programu
Postać bloku danych dla Loadera:
1
Początek bloku
2
Długość bloku
3
Adres pierwszej komórki
4
Treść programu w postaci binarnej
5
Suma kontrolna
6
Koniec bloku
dr inż. Alina MOMOT
Układ sterujący
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Założenia
Przykład
Wczytywanie programu do pamięci
Podsumowanie
Loader
Potrafi modyfikować program w czasie jego odczytu
Posiada zabezpieczenie przed błędami odczytu
Każdy rozkaz wraz z adresem argumentu zawiera informację czy
adres ten ma być zmodyfikowany względem początku programu
Postać bloku danych dla Loadera:
1
Początek bloku
2
Długość bloku
3
Adres pierwszej komórki
4
Treść programu w postaci binarnej
5
Suma kontrolna
6
Koniec bloku
dr inż. Alina MOMOT
Układ sterujący
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Założenia
Przykład
Wczytywanie programu do pamięci
Podsumowanie
Podsumowanie
Zalety kodu maszynowego:
Program nie wymaga tłumaczenia
Może być zrealizowany bezpośrednio po wprowadzeniu do pamięci
Małe wymagania na pamięć
Wady kodu maszynowego:
Konieczność operowania na kodach binarnych rozkazów
Konieczność wyliczania adresów komórek
Bardzo trudna modyfikacja programu
Rozwiązanie dedykowane konkretnemu procesorowi
dr inż. Alina MOMOT
Układ sterujący
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Założenia
Przykład
Wczytywanie programu do pamięci
Podsumowanie
Podsumowanie
Zalety kodu maszynowego:
Program nie wymaga tłumaczenia
Może być zrealizowany bezpośrednio po wprowadzeniu do pamięci
Małe wymagania na pamięć
Wady kodu maszynowego:
Konieczność operowania na kodach binarnych rozkazów
Konieczność wyliczania adresów komórek
Bardzo trudna modyfikacja programu
Rozwiązanie dedykowane konkretnemu procesorowi
dr inż. Alina MOMOT
Układ sterujący
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Założenia
Przykład 1
Przykład 2
Założenia
Język asemblera ma zastąpić:
kody binarne łatwymi do zapamiętania mnemonikami rozkazów
adresy absolutne adresami symbolicznymi, czyli etykietami
Składnia instrukcji programu:
[< etykieta >:] < kod > [< argument >]
Opcjonalna etykieta to nazwa zakończona dwukropkiem
Kod jest wymagany, może to być kod rozkazu:
DOD, ODE, POB, ŁAD, SOB, SOM, STP
lub dyrektywa (pseudorozkaz):
KON – koniec generacji kodu,
RPA - rezerwacja pamięci,
RST - rezerwacja pamięci dla stałej
Opcjonalnym argumentem może być etykieta lub liczba dziesiętna
Niedopuszczalne jest wystąpienie w treści programu identycznych nazw etykiet
Adres symboliczny argumentu musi mieć odpowiednik w etykiecie
dr inż. Alina MOMOT
Układ sterujący
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Założenia
Przykład 1
Przykład 2
Założenia
Język asemblera ma zastąpić:
kody binarne łatwymi do zapamiętania mnemonikami rozkazów
adresy absolutne adresami symbolicznymi, czyli etykietami
Składnia instrukcji programu:
[< etykieta >:] < kod > [< argument >]
Opcjonalna etykieta to nazwa zakończona dwukropkiem
Kod jest wymagany, może to być kod rozkazu:
DOD, ODE, POB, ŁAD, SOB, SOM, STP
lub dyrektywa (pseudorozkaz):
KON – koniec generacji kodu,
RPA - rezerwacja pamięci,
RST - rezerwacja pamięci dla stałej
Opcjonalnym argumentem może być etykieta lub liczba dziesiętna
Niedopuszczalne jest wystąpienie w treści programu identycznych nazw etykiet
Adres symboliczny argumentu musi mieć odpowiednik w etykiecie
dr inż. Alina MOMOT
Układ sterujący
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Założenia
Przykład 1
Przykład 2
Założenia
Język asemblera ma zastąpić:
kody binarne łatwymi do zapamiętania mnemonikami rozkazów
adresy absolutne adresami symbolicznymi, czyli etykietami
Składnia instrukcji programu:
[< etykieta >:] < kod > [< argument >]
Opcjonalna etykieta to nazwa zakończona dwukropkiem
Kod jest wymagany, może to być kod rozkazu:
DOD, ODE, POB, ŁAD, SOB, SOM, STP
lub dyrektywa (pseudorozkaz):
KON – koniec generacji kodu,
RPA - rezerwacja pamięci,
RST - rezerwacja pamięci dla stałej
Opcjonalnym argumentem może być etykieta lub liczba dziesiętna
Niedopuszczalne jest wystąpienie w treści programu identycznych nazw etykiet
Adres symboliczny argumentu musi mieć odpowiednik w etykiecie
dr inż. Alina MOMOT
Układ sterujący
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Założenia
Przykład 1
Przykład 2
Przykład 1
Zadanie:
Dodać do siebie zawartość dwóch kolejnych komórek pamięci (4 i 5),
sumę zapisać do komórki następnej (6).
Rozwiązanie:
(4) → Ak
(Ak) + (5) → Ak
(Ak) → 6
stop
pierwszy argument
drugi argument
wynik
100
001
011
111
000
000
000
0100
0101
0110
0000
0011
0101
0000
Arg1:
Arg2:
S:
dr inż. Alina MOMOT
POB Arg1
DOD Arg2
ŁAD S
STP
RST 3
RST 5
RPA
KON
Układ sterujący
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Założenia
Przykład 1
Przykład 2
Przykład 1
Zadanie:
Dodać do siebie zawartość dwóch kolejnych komórek pamięci (4 i 5),
sumę zapisać do komórki następnej (6).
Rozwiązanie:
(4) → Ak
(Ak) + (5) → Ak
(Ak) → 6
stop
pierwszy argument
drugi argument
wynik
100
001
011
111
000
000
000
0100
0101
0110
0000
0011
0101
0000
Arg1:
Arg2:
S:
dr inż. Alina MOMOT
POB Arg1
DOD Arg2
ŁAD S
STP
RST 3
RST 5
RPA
KON
Układ sterujący
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Założenia
Przykład 1
Przykład 2
Przykład 1
Zadanie:
Dodać do siebie zawartość dwóch kolejnych komórek pamięci (4 i 5),
sumę zapisać do komórki następnej (6).
Rozwiązanie:
(4) → Ak
(Ak) + (5) → Ak
(Ak) → 6
stop
pierwszy argument
drugi argument
wynik
100
001
011
111
000
000
000
0100
0101
0110
0000
0011
0101
0000
Arg1:
Arg2:
S:
dr inż. Alina MOMOT
POB Arg1
DOD Arg2
ŁAD S
STP
RST 3
RST 5
RPA
KON
Układ sterujący
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Założenia
Przykład 1
Przykład 2
Przykład 2
Zadanie:
Wyznaczyć resztę z dzielenia zawartości komórki pamięci A przez
zawartość komórki pamięci B. Wynik zapisać do komórki C.
Rozwiązanie:
dr inż. Alina MOMOT
Układ sterujący
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Założenia
Przykład 1
Przykład 2
Przykład 2
Zadanie:
Wyznaczyć resztę z dzielenia zawartości komórki pamięci A przez
zawartość komórki pamięci B. Wynik zapisać do komórki C.
Rozwiązanie:
dr inż. Alina MOMOT
Układ sterujący
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Założenia
Przykład 1
Przykład 2
Przykład 2
Zadanie:
Wyznaczyć resztę z dzielenia zawartości komórki pamięci A przez
zawartość komórki pamięci B. Wynik zapisać do komórki C.
POB A
Rozwiązanie:
PETLA: ODE B
SOM UJEMNA
SOB PETLA
UJEMNA: DOD B
ŁAD C
STP
A: RST 35
B: RST 7
C: RPA
KON
dr inż. Alina MOMOT
Układ sterujący
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Założenia
Pierwszy przebieg asemblacji
Drugi przebieg asemblacji
Założenia
Asembler - program tłumaczący język symboliczny na kod
maszynowy
Program asemblera realizuje tłumaczenie w dwóch etapach:
1
2
Utworzenie tablicy etykiet i przyporządkowanie im adresów fizycznych
Mnemoniki rozkazów i etykiety zostają zastąpione kodami binarnymi
Każdy etap (przebieg, przejście) wymaga czytania programu
źródłowego od początku do końca
Do tłumaczenia potrzebne są dwie tablice:
1
2
Tablica T1 (stała)
– zawiera kody binarne odpowiadające mnemonikom rozkazów
Tablica T2 (tworzona w pierwszym etapie asemblacji)
– zawiera kody binarne odpowiadające adresom fizycznym etykiet
dr inż. Alina MOMOT
Układ sterujący
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Założenia
Pierwszy przebieg asemblacji
Drugi przebieg asemblacji
Pierwszy przebieg asemblacji - Algorytm
dr inż. Alina MOMOT
Układ sterujący
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Założenia
Pierwszy przebieg asemblacji
Drugi przebieg asemblacji
Przykład 2 - Utworzenie tablicy T2
0
1
2
3
4
5
6
7
8
9
10
PETLA:
UJEMNA:
A:
B:
C:
POB A
ODE B
SOM UJEMNA
SOB PETLA
DOD B
ŁAD C
STP
RST 35
RST 7
RPA
KON
dr inż. Alina MOMOT
Tablica T2
etykieta
PETLA
UJEMNA
A
B
C
Układ sterujący
adres fizyczny
00001
00100
00111
01000
01001
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Założenia
Pierwszy przebieg asemblacji
Drugi przebieg asemblacji
Przykład 2 - Utworzenie tablicy T2
0
1
2
3
4
5
6
7
8
9
10
PETLA:
UJEMNA:
A:
B:
C:
POB A
ODE B
SOM UJEMNA
SOB PETLA
DOD B
ŁAD C
STP
RST 35
RST 7
RPA
KON
dr inż. Alina MOMOT
Tablica T2
etykieta
PETLA
UJEMNA
A
B
C
Układ sterujący
adres fizyczny
00001
00100
00111
01000
01001
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Założenia
Pierwszy przebieg asemblacji
Drugi przebieg asemblacji
Drugi przebieg asemblacji - Algorytm
dr inż. Alina MOMOT
Układ sterujący
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Założenia
Pierwszy przebieg asemblacji
Drugi przebieg asemblacji
Przykład 2 - Generacja kodu wynikowego
Tekst źródłowy programu
PETLA:
UJEMNA:
A:
B:
C:
Kod maszynowy
POB A
ODE B
SOM UJEMNA
SOB PETLA
DOD B
ŁAD C
STP
RST 35
RST 7
RPA
KON
dr inż. Alina MOMOT
100
010
110
101
001
011
111
001
000
000
00111
01000
00100
00001
01000
01001
00000
00011
00111
00000
Układ sterujący
Tablica
Rozkaz
DOD
ODE
ŁAD
POB
SOB
SOM
STP
Tablica
Etykieta
PETLA
UJEMNA
A
B
C
T1
Kod
001
010
011
100
101
110
111
T2
Adres
00001
00100
00111
01000
01001
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Założenia
Pierwszy przebieg asemblacji
Drugi przebieg asemblacji
Przykład 2 - Generacja kodu wynikowego
Tekst źródłowy programu
PETLA:
UJEMNA:
A:
B:
C:
Kod maszynowy
POB A
ODE B
SOM UJEMNA
SOB PETLA
DOD B
ŁAD C
STP
RST 35
RST 7
RPA
KON
dr inż. Alina MOMOT
100
010
110
101
001
011
111
001
000
000
00111
01000
00100
00001
01000
01001
00000
00011
00111
00000
Układ sterujący
Tablica
Rozkaz
DOD
ODE
ŁAD
POB
SOB
SOM
STP
Tablica
Etykieta
PETLA
UJEMNA
A
B
C
T1
Kod
001
010
011
100
101
110
111
T2
Adres
00001
00100
00111
01000
01001
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Założenia
Pierwszy przebieg asemblacji
Drugi przebieg asemblacji
Przykład 2 - Generacja kodu wynikowego
Tekst źródłowy programu
PETLA:
UJEMNA:
A:
B:
C:
Kod maszynowy
POB A
ODE B
SOM UJEMNA
SOB PETLA
DOD B
ŁAD C
STP
RST 35
RST 7
RPA
KON
dr inż. Alina MOMOT
100
010
110
101
001
011
111
001
000
000
00111
01000
00100
00001
01000
01001
00000
00011
00111
00000
1
1
1
1
1
1
0
0
0
0
informacja dla
Loadera
Układ sterujący
Tablica
Rozkaz
DOD
ODE
ŁAD
POB
SOB
SOM
STP
Tablica
Etykieta
PETLA
UJEMNA
A
B
C
T1
Kod
001
010
011
100
101
110
111
T2
Adres
00001
00100
00111
01000
01001
Plan wykładu
Programowanie
Kod maszynowy dla maszyny W
Asembler maszyny W
Translacja języka asemblera do kodu maszynowego
Założenia
Pierwszy przebieg asemblacji
Drugi przebieg asemblacji
Przykład 2 - Generacja kodu wynikowego
Tekst źródłowy programu
PETLA:
A:
B:
C:
UJEMNA:
Kod maszynowy
POB A
ODE B
SOM UJEMNA
SOB PETLA
RST 35
RST 7
RPA
DOD B
ŁAD C
STP
KON
dr inż. Alina MOMOT
100
010
110
101
001
000
000
001
011
111
00111
01000
00100
00001
00011
00111
00000
01000
01001
00000
Układ sterujący
Tablica
Rozkaz
DOD
ODE
ŁAD
POB
SOB
SOM
STP
Tablica
Etykieta
PETLA
UJEMNA
A
B
C
T1
Kod
001
010
011
100
101
110
111
T2
Adres
00001
00100
00111
01000
01001

Podobne dokumenty