Emulator maszyny RAM w wersji konsolowej został napisany w języku Python; wersja interpretera na której powstał to 2.2.1, niestety programy nie był testowany na żadnych wcześniejszych wesjach.
Wersja konsolowa, w przeciwieństwie do wersji JavaScript-owej, nie posiada ograniczeń co do ilości rejestrów, ani zakresu liczb przechowywanych w rejestrach.
Kod programu dla maszyny RAM musi zostać zapisany w pliku tekstowym. Podczas wykonywania kodu emulator wypisuje linijkę z pliku (poprzedzając ją numerem) w której znajduje się instrukcja którą wykonał, oraz, w następnej linii, zawartość rejestrów. Wyświetlane są tylko te rejestry, do których choć raz odwołano się w programie; zawsze wyświetalny jest akumulator. Gdy program się zakończy, wypisywana jest zawartość taśm - kolejno - wejściowej i wyjściowej.
Gdy emulator napotka instrukcję read prosi użytkownika o wpisanie wartości, która znajduje się na taśmie wejściowej.
Do działania potrzebne są następujące pliki:
Wywołanie programu jest następujące ($ - znak zachęty interpretera poleceń):
$ python2 main.py --file=źródło programu
Przykładowy wynik pracy programu dla funkcji obliczającej silnię (program znajduje się wśród przykładów).
$ python2 main.py --file=factorial.txt Parsing factorial.txt file... 16: read 1 # r1 = n read: 4 r0=0 r1=4 18: load =0 # r0=0 r1=4 19: sub 1 # r0=-4 r1=4 20: jgtz negative # n < 0? r0=-4 r1=4 22: load =1 # r2 = res = 1 r0=1 r1=4 23: store 2 # r0=1 r1=4 r2=1 25: load 1 r0=4 r1=4 r2=1 26: while: r0=4 r1=4 r2=1 27: jzero endwhile r0=4 r1=4 r2=1 28: mult 2 r0=4 r1=4 r2=1 29: store 2 # res = res * n r0=4 r1=4 r2=4 31: load 1 r0=4 r1=4 r2=4 32: sub =1 r0=3 r1=4 r2=4 33: store 1 # n = n-1 r0=3 r1=3 r2=4 34: jump while r0=3 r1=3 r2=4 26: while: r0=3 r1=3 r2=4 27: jzero endwhile r0=3 r1=3 r2=4 28: mult 2 r0=12 r1=3 r2=4 29: store 2 # res = res * n r0=12 r1=3 r2=12 31: load 1 r0=3 r1=3 r2=12 32: sub =1 r0=2 r1=3 r2=12 33: store 1 # n = n-1 r0=2 r1=2 r2=12 34: jump while r0=2 r1=2 r2=12 26: while: r0=2 r1=2 r2=12 27: jzero endwhile r0=2 r1=2 r2=12 28: mult 2 r0=24 r1=2 r2=12 29: store 2 # res = res * n r0=24 r1=2 r2=24 31: load 1 r0=2 r1=2 r2=24 32: sub =1 r0=1 r1=2 r2=24 33: store 1 # n = n-1 r0=1 r1=1 r2=24 34: jump while r0=1 r1=1 r2=24 26: while: r0=1 r1=1 r2=24 27: jzero endwhile r0=1 r1=1 r2=24 28: mult 2 r0=24 r1=1 r2=24 29: store 2 # res = res * n r0=24 r1=1 r2=24 31: load 1 r0=1 r1=1 r2=24 32: sub =1 r0=0 r1=1 r2=24 33: store 1 # n = n-1 r0=0 r1=0 r2=24 34: jump while r0=0 r1=0 r2=24 26: while: r0=0 r1=0 r2=24 27: jzero endwhile r0=0 r1=0 r2=24 36: endwhile: r0=0 r1=0 r2=24 37: write 2 # return r0=0 r1=0 r2=24 38: negative: r0=0 r1=0 r2=24 39: halt r0=0 r1=0 r2=24 input tape : [4] output tape: [24]