• Strona główna
  • Makler
  • Nauka
  • O autorze
  • To czytam
  • West Highland Way
Niebieski Pomarańczowy Zielony Różowy Purpurowy

JRAMachine

Napisał Newton, a był to Maj 16, 2008 roku.

Możesz dodawać komentarze. Możesz także pozostawić trackback ze swojej strony.
maj 16

JRAMachine to symulator maszyny RAM napisany w języku Java. Symulator umożliwia wczytanie programu napisanego na maszynę RAM i oglądanie przebiegu jego wykonania w czasie rzeczywistym.

Składnia

Rozkazy

JRAMachine obsługuje 4 podstawowe rozkazy maszyny RAM:

  • Z(n) – zerowanie komórki n
  • S(n) – powiększenie zawartości komórki n o jeden
  • T(n,m) – kopiowanie n do m
  • I(p,q,n) – porównanie p z q. Jeśli komórki mają tę samą zawartość, to maszyna skacze do linii n.

Etykiety

JRAMachine wspiera tworzenie etykiet. Często używane wartości (na przykład komórki przechowujące zmienne) można opisać etykietą:

current_state=3

Wówczas można odwoływać się bezpośrednio do etykiet:

S(current_state)
T(current_state,10)

Istnieje drugi sposób tworzenia etykiet. Można napisać tak:

loop:
S(0)
I(0,0,loop)

W ten sposób zostanie utworzona etykieta, do której przypisany zostanie numer kolejnej linii. Etykiety te można wykorzystywać w instrukcjach skoku (a także w innych, ale w instrukcjach skoku są najbardziej przydatne).

Adresowanie pośrednie

JRAMachine wspiera adresowanie pośrednie. Aby jakaś instrukcja zadziałała nie na konkretnej komórce X, a na komórce, której adres znajduje się pod X należy użyć nawiasów kwadratowych. Np. ciąg instrukcji:

Z(0)
Z(1)
S(0)
S([0])

zaowocuje tym, że komórki 0 i 1 będą przechowywać liczby 1. Nawiasów kwadratowych można używać także z etykietami.

Komentarze

Dozwolone są komentarze – linia z komentarzem musi zaczynać się od //:

//to jest komentarz
S(0)

Pliki

  • jramachine.tar.gz – paczka z binariami i źródłami,
  • jramachine.jar – gotowa do uruchomienia paczka z binariami.

Program testowałem pod najnowszą wersją Javy: 6.

Zostaw odpowiedź

Blog Newtona

Nazywam się Newton. Teraz będę kłamał.

  • Blip
  • litrgy.com
  • Archiwa
    • Sierpień 2010
    • Lipiec 2010
    • Maj 2010
    • Kwiecień 2010
    • Luty 2010
    • Grudzień 2009
    • Listopad 2009
    • Październik 2009
    • Wrzesień 2009
    • Sierpień 2009
    • Lipiec 2009
    • Czerwiec 2009
    • Maj 2009
    • Kwiecień 2009
    • Marzec 2009
    • Luty 2009
    • Styczeń 2009
    • Grudzień 2008
    • Listopad 2008
    • Październik 2008
    • Wrzesień 2008
    • Sierpień 2008
    • Lipiec 2008
    • Czerwiec 2008
    • Maj 2008
    • Kwiecień 2008
    • Marzec 2008
    • Luty 2008
    • Styczeń 2008
    • Grudzień 2007
    • Listopad 2007
    • Październik 2007
    • Wrzesień 2007
    • Sierpień 2007
    • Maj 2007
    • Kwiecień 2007
    • Marzec 2007
    • Luty 2007
  • Wyszukiwanie






  • Strona główna
  • Makler
  • Nauka
  • O autorze
  • To czytam
  • West Highland Way

© Copyright Blog Newtona. All rights reserved.
Designed by FTL Wordpress Themes brought to you by Smashing Magazine

Do góry!