Maszyna wirtualna Viua Poznańska Impreza Wolnego Oprogramowania 2015

Slides:



Advertisements
Podobne prezentacje
Programowanie w Java.
Advertisements

C++ wykład 9 ( ) Szablony.
Język C/C++ Funkcje.
Mgr inż.Marcin Borkowski Podstawy Java Krótkie wprowadzenie dla studentów Wyższej Szkoły Ekologii i Zarządzania
Programowanie obiektowe
Programowanie obiektowe
Wykład 3: Jak działa typowy mikroprocesor?
Wprowadzenie do języka skryptowego PHP – cz. 2
Funkcje c.d. Strukturalność. Algorytmy. Ćwiczenia przed kolokwium.
PROGRAMOWANIE STRUKTURALNE
CPU.
1 1 Przykład 1/3 main() { int i,j,k,m; /* i-m : $s0-$s3 */... i = mult(j,k);... m = mult(i,i);... } int mult (int mcand, int mlier){ int product; product.
Wybrane elementy języka Java
OBJECT PASCAL Marzena Szałas.
Szablony (wzorce) Przykład 1: Szablon klasy -
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 4: Wyrażenia i operatory. Podstawowe instrukcje języka.
Bartosz Walter Inżynieria oprogramowania Lecture XXX JavaTM – część II Bartosz Walter
Ogólne jednostki programowe 1
Wykład 1: Wskaźniki Podstawy programowania Programowanie w C
Wyrażenia Wyrażenie w Fortranie jest poprawną syntaktycznie kombinacją zmiennych, stałych, operatorów i funkcji. Wyrażenia są jednozdaniowymi przepisami.
Wykład 2: Jak działa typowy mikroprocesor? Budowa procesora rodziny Intel80x86 Architektury CISC i RISC Instrukcje skoków warunkowych Stos Instrukcje operujące.
PROGRAMOWANIE STRUKTURALNE
Podstawy C# Grupa .NET PO.
Java 3 MPDI Programowanie obiektowe W7. import java.io.*; public class X { // kontrukcja throws – określenie jakie wyjątki może dana metoda // sygnalizować
Wyrażenia w Turbo Pascalu.
Procedury i funkcje.
Programowanie obiektowe III rok EiT
Programowanie obiektowe – zastosowanie języka Java SE
Seminarium problemowe
Programowanie obiektowe Wykład 3 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21 Dariusz Wardowski.
Programowanie obiektowe Wykład 6 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14 Dariusz Wardowski.
Warsztaty C# Część 6 Grzegorz Piotrowski Grupa .NET PO
Podstawy informatyki 2013/2014
Kurs języka C++ – wykład 3 ( )
K URS JĘZYKA C++ – WYKŁAD 7 ( ) Wyjątki.
K URS JĘZYKA C++ – WYKŁAD 10 ( ) Szablony.
Generowanie kodu pośredniego
Zestaw pytań nr. 3 Typy generyczne Wyjątki OPRACOWALI: JAKUB GRYCZEWSKIKINGA ROSA DANIEL KAPTEJNYWOJCIECH ŁĘCZYCKI
Podsumowanie wiedzy MPDI2 sem.3 INFORMATYKA. tworzenie nowego pliku i katalogu, nawigacja po katalogach, listowanie zawartości katalogu, zmiana nazw,
PO13-1 / 19 Wykład 13 Wyjątki i ich zgłaszanie Wyłapywanie wyjątków Obsługa wyjątków Wykorzystanie polimorfizmu Filtrowanie wyjątków Błędy w konstruktorach.
Wykład 5 Klasa Vec i jej operatory 1.Kategorie operatorów 2.Operatory ogólne - przykłady 3.Operatory specjalne [ ], ( ) oraz –> 4.Operatory new i delete.
Podstawy informatyki Funkcje Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
K URS JĘZYKA C++ – WYKŁAD 3 ( ) Przenoszenie Składowe statyczne Funkcje wbudowane Argumenty domyślne.
CIMCO Edit z dodatkiem CNC-Calc koszty i korzyści Wdrożenie środowiska do tworzenia, edycji i symulacji programów NC Korzyści: -Tworzenie ścieżki narzędzia.
IEN 2010 © wszelkie prawa zastrzeżone SEMINARIUM Pakiet MATLAB w Zakładzie OGM Możliwości posiadanych produktów.
Lista Rozkazów: Język komputera Większość slajdów do tego wykładu to tłumaczenia i przeróbki oficjalnych sladjów do podręcznika Pattersona i Hennessy’ego.
Python. Języki Programistyczne Microcode Machine code Assembly Language (symboliczna reprezentacja machine code) Low-level Programming Language (FORTRAN,
Lua - wprowadzenie ● lua.org – źródła, dokumentacja, podręcznik itp ● Interpreter - Lua.org->Downloads->Binaries->get a binary-> Windows->Wersja >Executables->
Język Java Paweł Rajba
Dziedziczenie, polimorfizm, Interfejsy
Hoopl Higher-order optimization library
PHP (wstęp) Personal Home Page Tools (PHP Tools)
Programowanie Obiektowe – Wykład 6
Organizacja i Architektura Komputerów
Przeglądarka stron WWW
I-CART.
Realizacja aplikacji internetowych
Akademia C# - Lab2 Zmienne, instrukcje warunkowe, pętle, debugger,
Akademia C# lab. 9 Zdarzenia i delegaty.
Lekcja 1 – Hello World! Visual Studio, coś łatwego na początek 
Programowanie obiektowe
Kurs języka C++ – wykład 13 ( )
Inżynieria Oprogramowania Laboratorium
System operacyjny cz.2.
Języki programowania.
Programowanie obiektowe – zastosowanie języka Java SE
Programowanie obiektowe Wykład 11
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Autor: Magdalena Linowiecka
Asynchroniczne operacje I/O za pomocą IOCP
Zapis prezentacji:

Maszyna wirtualna Viua Poznańska Impreza Wolnego Oprogramowania 2015

Kompilacja maszyny kompilator C++11 (g++ 5.2.0) bibliotoka standardowa C++ biblioteka linenoise (debugger)

Kompilacja maszyny $ git clone –recursive -b devel ... $ ./configure $ make $ make install

Maszyna wirtualna Viua (narzędzia) assembler / disassembler CPU debugger

Maszyna wirtualna Viua (narzędzia) Assembler / Disassembler

Maszyna wirtualna Viua (narzędzia) CPU

Maszyna wirtualna Viua (narzędzia) Debugger

Uruchamianie programów pod Viua Translacja Łączenie Wykonanie

Kod źródłowy ↓ viua-asm Bytecode Translacja Kod źródłowy ↓ viua-asm Bytecode

Łączenie Statyczne Dynamiczne

Viua Architektura

Instrukcje Rejestry Stosy i wywołania funkcji Viua: Architektura Instrukcje Rejestry Stosy i wywołania funkcji

zestaw 91 instrukcji – podstawowe operacje Viua: Instrukcje zestaw 91 instrukcji – podstawowe operacje

operacje na liczbach: całkowitych: i- zmiennoprzecinkowych: f- Viua: Instrukcje operacje na liczbach: całkowitych: i- zmiennoprzecinkowych: f-

Viua: Instrukcje: Operacje na liczbach -store -add -sub -mul -div -lt -lte -gt -gte -eq

Viua: Instrukcje: Liczby całkowite izero iinc idec

Viua: Instrukcje: Konwersje itof ftoi stoi stof

Viua: Instrukcje: Wektory vec vinsert vpush vpop vat vlen

Viua: Instrukcje: Boolean not and or

Viua: Instrukcje: Manipulacja rejestrami move copy ref swap free empty isnull ress

clbind closure function fcall Viua: Instrukcje: HOF clbind closure function fcall

Viua: Instrukcje: Wywołania funkcji frame param paref call arg

Viua: Instrukcje: Rozgałęzienia jump branch

Viua: Instrukcje: Obsługa wyjątków try throw catch pull enter leave

Viua: Instrukcje: Dołączanie modułów import link

Viua: Instrukcje: Klasy i prototypy class derive attach register prototype

Viua: Instrukcje: Obiektowość new msg

Viua: Instrukcje: Inne nop end halt

Viua: Instrukcje - operandy indeksy rejestrów inne wartości

Viua: Instrukcje - operandy indeksy rejestrów: move 0 1

Viua: Instrukcje - operandy inne wartości: call 1 std::io::getline

Viua: Instrukcje - operandy zasada pierwszego operandu

Viua: Instrukcje - operandy .function: main istore 1 42 frame ^[(param 0 1)] call 2 square print 2 istore 0 0 end .end

3 zestawy rejestrów rejestr wymiany Viua: Rejestry 3 zestawy rejestrów rejestr wymiany

Viua: Rejestry... lokalne

Viua: Rejestry... statyczne

Viua: Rejestry... globalne

pojedynczy rejestr wymiany Viua: Rejestry pojedynczy rejestr wymiany

Viua: Zawartość rejestrów nic obiekt referencja

parametr → kopia wskaźnika argument → kopia obiektu Wywołania funkcji parametr → kopia wskaźnika argument → kopia obiektu