Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałMaja Marciniak Został zmieniony 6 lat temu
1
Maszyna wirtualna Viua Poznańska Impreza Wolnego Oprogramowania 2015
2
Kompilacja maszyny kompilator C++11 (g++ 5.2.0)
bibliotoka standardowa C++ biblioteka linenoise (debugger)
3
Kompilacja maszyny $ git clone –recursive -b devel ... $ ./configure
$ make $ make install
4
Maszyna wirtualna Viua (narzędzia)
assembler / disassembler CPU debugger
5
Maszyna wirtualna Viua (narzędzia)
Assembler / Disassembler
6
Maszyna wirtualna Viua (narzędzia)
CPU
7
Maszyna wirtualna Viua (narzędzia)
Debugger
8
Uruchamianie programów pod Viua
Translacja Łączenie Wykonanie
9
Kod źródłowy ↓ viua-asm Bytecode
Translacja Kod źródłowy ↓ viua-asm Bytecode
10
Łączenie Statyczne Dynamiczne
11
Viua Architektura
12
Instrukcje Rejestry Stosy i wywołania funkcji
Viua: Architektura Instrukcje Rejestry Stosy i wywołania funkcji
13
zestaw 91 instrukcji – podstawowe operacje
Viua: Instrukcje zestaw 91 instrukcji – podstawowe operacje
14
operacje na liczbach: całkowitych: i- zmiennoprzecinkowych: f-
Viua: Instrukcje operacje na liczbach: całkowitych: i- zmiennoprzecinkowych: f-
15
Viua: Instrukcje: Operacje na liczbach
-store -add -sub -mul -div -lt -lte -gt -gte -eq
16
Viua: Instrukcje: Liczby całkowite
izero iinc idec
17
Viua: Instrukcje: Konwersje
itof ftoi stoi stof
18
Viua: Instrukcje: Wektory
vec vinsert vpush vpop vat vlen
19
Viua: Instrukcje: Boolean
not and or
20
Viua: Instrukcje: Manipulacja rejestrami
move copy ref swap free empty isnull ress
21
clbind closure function fcall
Viua: Instrukcje: HOF clbind closure function fcall
22
Viua: Instrukcje: Wywołania funkcji
frame param paref call arg
23
Viua: Instrukcje: Rozgałęzienia
jump branch
24
Viua: Instrukcje: Obsługa wyjątków
try throw catch pull enter leave
25
Viua: Instrukcje: Dołączanie modułów
import link
26
Viua: Instrukcje: Klasy i prototypy
class derive attach register prototype
27
Viua: Instrukcje: Obiektowość
new msg
28
Viua: Instrukcje: Inne
nop end halt
29
Viua: Instrukcje - operandy
indeksy rejestrów inne wartości
30
Viua: Instrukcje - operandy
indeksy rejestrów: move 0 1
31
Viua: Instrukcje - operandy
inne wartości: call 1 std::io::getline
32
Viua: Instrukcje - operandy
zasada pierwszego operandu
33
Viua: Instrukcje - operandy
.function: main istore 1 42 frame ^[(param 0 1)] call 2 square print 2 istore 0 0 end .end
34
3 zestawy rejestrów rejestr wymiany
Viua: Rejestry 3 zestawy rejestrów rejestr wymiany
35
Viua: Rejestry... lokalne
36
Viua: Rejestry... statyczne
37
Viua: Rejestry... globalne
38
pojedynczy rejestr wymiany
Viua: Rejestry pojedynczy rejestr wymiany
39
Viua: Zawartość rejestrów
nic obiekt referencja
40
parametr → kopia wskaźnika argument → kopia obiektu
Wywołania funkcji parametr → kopia wskaźnika argument → kopia obiektu
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.