Kompilator

5. Wnioski.

if (test = =true)
cout << "MOV AX,";
test=false;
mpLewyNP->DrukujNP(stream);
cout << endl;

Warunek if (test = =true) powoduje wpisanie pierwszej wartości do akumulatora. Operacja ta jest wykonywana na początku tylko dla pierwszego działania wykonywanego w danym równaniu.


cout << "MOV BX,";
mpPrawyNP->DrukujNP(stream);
cout << endl;
stream << "SUB AX,BX";
return;

Następne Dane są wpisywane kolejno do BX ze wzgledu na to iż wynik operacji jest przechowywany w akumulatorze następne operacje są wykonywane na akumulatorze i na wartości rejestru BX.

if (test = = true)
cout << "MOV AX,";
test=false;
mpLewyNP->DrukujNP(stream);
cout << endl;
cout << "MOV BX,AX";
cout << endl;
cout << "MOV CX,";
mpPrawyNP->DrukujNP(stream);
cout << "DALEJ:";
stream << "MUL BX";
cout << "LOOP DALEJ";
return;

Nieco inaczej zachowuje sie procedura tłumacząca potęgowanie. Przypisanie zmiennych odbywa się następująco:
1.Potegowana jest zawartość rejestru AX.
2.W rejestrze BX znajduje się kopia początkowej zawartości rejestru AX wykorzystywana podczas mnożenia.
3. W rejestrze CX znajduje się liczba okreslająca wykładnik potęgi.
W pętli do momentu aż zawartość CX=0 jest wykonywana operacja MUL BX czyli mnożenie zawartości rejestru AX przez zawartość rejestru BX.


cout << endl;
cout <<"Wartosc wyrazenia wynosi: "<< WyrazArytmONP.DajWartoscONP();
cout << endl;
cout << endl;
cout <<"ASSEMBLER: "<< endl;
cout << endl;
cout << ".model tiny";
cout << endl;
cout << ".code";
cout << endl;
cout << "org 100h";
cout << endl;
cout << "start:";
cout << endl;
WyrazArytmNP.DrukujNP();
cout << "end start";
cout << endl;

Powyższy fragment programu uzupełnia wyświetlany kod o podstawowe dyrektywy, dzięki czemu program jest w pełni użyteczny.

.model tiny - oznacza model pamięci, w którym zarówno kod (cs) jak i dane (ds) programu muszą się zmieścić w 64k.
.code - oznacza code segment - segment kodu programu.
org 100h - program będzie się zaczynać od CS:0100H
Start: - etykieta "początek"

Odwrotna notacja polska bardzo ułatwia wykonywanie na komputerze obliczeń z nawiasami i zachowaniem kolejności działań. W odwrotnej notacji polskiej znak wykonywanej operacji jest umieszczany po argumentach tej operacji. Zapis ten pozwala na całkowitą rezygnację z użycia nawiasów w wyrażeniach, jako że jednoznacznie określa kolejność wykonywanych działań.
Zastosowanie odwrotnej notacji polskiej znacznie upraszcza przebieg translacji argumentów wejściowych na składnie języka asembler.

Dodaj swoją odpowiedź
Informatyka

Program w java (kompilator eclipse). Napisz funkcje, która zwróci wartość logiczną prawda lub falsz, jezeli liczba jest dodatnia  (0 zaliczamy do dodatniej) zwróci inf prawda. Jezeli jest ujemna wtedy funkcja zwroci falsz. daje  naj. 

Program w java (kompilator eclipse). Napisz funkcje, która zwróci wartość logiczną prawda lub falsz, jezeli liczba jest dodatnia  (0 zaliczamy do dodatniej) zwróci inf prawda. Jezeli jest ujemna wtedy funkcja zwroci falsz. daje  naj. ...

Informatyka

Program w Java (kompilator eclipse).  Napisz program, który znajdzie największy wspólny dzielnik. Proszę też o napisanie co dana linijka programu robi. Dziękuje i daje naj. 

Program w Java (kompilator eclipse).  Napisz program, który znajdzie największy wspólny dzielnik. Proszę też o napisanie co dana linijka programu robi. Dziękuje i daje naj. ...

Informatyka

Mam proble kompilator w dev c++ nie chce wykonywać swojego zadania. w załączniku jest przykładowy program i na przycisku kompilatora jest szara barwa. W załoączniku.

Mam proble kompilator w dev c++ nie chce wykonywać swojego zadania. w załączniku jest przykładowy program i na przycisku kompilatora jest szara barwa. W załoączniku....

Informatyka

Jaką komendę w C++ należy wpisać, aby kompilator odczytał wpisany w cin ułamek dziesiętny, a także liczbę całkowitą? Chodzi mi o to, co wstawić zamist"int".

Jaką komendę w C++ należy wpisać, aby kompilator odczytał wpisany w cin ułamek dziesiętny, a także liczbę całkowitą? Chodzi mi o to, co wstawić zamist"int"....

Informatyka

Napisz co to jest interpretator i kompilator uwzględnij zastosowaną metodą translacji tych translatorach Proszę o szybką odpowiedź potrzebują to jeszcze na dziś

Napisz co to jest interpretator i kompilator uwzględnij zastosowaną metodą translacji tych translatorach Proszę o szybką odpowiedź potrzebują to jeszcze na dziś...

Informatyka

Pomóżcie :)  program w jezyku C++ (kompilator DeVc++). Dla zadanych liczb naturalnych N i M, napisz program ktory wypisuje wszystkie liczby naturalne mniejsze od N, ktorych kwadrat sumycyfr jest rowny liczbie M. Bardzo prosze o pomoc :)

Pomóżcie :)  program w jezyku C++ (kompilator DeVc++). Dla zadanych liczb naturalnych N i M, napisz program ktory wypisuje wszystkie liczby naturalne mniejsze od N, ktorych kwadrat sumycyfr jest rowny liczbie M. Bardzo prosze o pomoc :)...