Die Architektur

diagram

Die Maschine hat 16 universelle Register mit den Nummern von 0 bis F.
Jedes Register hat eine Breite von einem Byte.
Jedes unterschiedliche Register innerhalb der Anweisungen wird durch 4 Bits referenziert. (0000 entspricht Register 0, 0100 Register 4, 1111 Register F ...)
Die Maschine nutzt einen Hauptspeicher von 256 Bytes.
Jede Speicherzelle (ein Byte) wird mit einer Adresse im Bereich von 0 bis 255 (00 bis FF hexadezimal) angesprochen.
Gleitkommawerte werden wie folgt dargestellt: (vom höchstwertigen Bit abwärts): 1 Bit Präfix (+/-), 3 Bit Exponent, 4 Bit Mantisse.
Jede Maschinenanweisung hat eine Länge von 2 Byte und besteht aus einem Op-Code mit 4 Bit und einem Operandenfeld von 12 Bits.
Die folgende Beschreibung verwendet die Buchstaben R, S, T innerhalb des Operanden für eine hexadezimale Zahl, die auf die Nummer eines Registers hinweist.
Die Buchstaben X und Y innerhalb des Operanden weisen auf hexadezimale Zahlen hin, die keine Register darstellen. Diese repräsentieren einen hexadezimalen Wert oder eine Adresse im Speicher zwischen 00 und FF.

Opcodes

Opcode Operand Description
1 RXY LADEN Register R mit Daten aus der Speicherzelle mit Adresse XY.
2 RXY LADEN Register R mit dem Wert des Bit-Musters XY.
3 RXY SPEICHERN Daten aus Register R in die Speicherzelle mit Adresse XY.
4 0RS VERSCHIEBEN Daten von Register R zu Register S.
5 RST ADD Daten von Register S und Register T (Zweierkomplement-Interpretation), speichert das Ergebnis in Register R.
6 RST ADD Daten von Register S und Register T (Gleitkomma-Interpretation), speichert das Ergebnis in Register R.
7 RST ODER des Bit-Musters von Register S und Register T, speichert das Ergebnis in Register R.
8 RST UND des Bit-Musters von Register S und Register T, speichert das Ergebnis in Register R.
9 RST XOR des Bit-Musters von Register S und Register T, speichert das Ergebnis in Register R.
A R0X ROTIEREN das Bit-Muster in Register R um ein Bit nach rechts, X-mal.
B RXY SPRINGEN zur Anweisung in der Speicherzelle mit der Adresse XY, wenn die Daten in Register R gleich den Daten in Register 0 sind.
C 000 ANHALTEN.
Erweiterter Satz für Vizmachine
D XYZ WARTEN in Millisekunden definiert durch den XYZhex-Wert.
E RST SCHREIBEN Daten aus Register R in die Speicherzelle mit der Adresse, die in Register T angegeben ist.

Die Maschine

 Einstellungen
   

PROGRAM COUNTER
INSTRUCTION REGISTER
GENERAL PURPOSE REGISTER
R{{$index.toString(16).toUpperCase()}}
MAIN MEMORY
  
0{{$index.toString(16).toUpperCase()}}
{{$index.toString(16).toUpperCase()}}0
Legend: Program Counter Program Cells Cells with Data Empty Cells
COMMAND LOG     
Addresse Befehl Daten Beschreibung

Programm in Assembler

Programm Größe: {{(vctrl.vcommands.length==0)?0:(vctrl.vcommands.length-1)*2}} Bytes
Speicher zurücksetzen

Set Starting Point in Memory: 

Addresse Opcode Operand Beschreibung

{{cmd.address.substr(0,2)}}|{{cmd.address.substr(2)}} {{vctrl.getCommandDescription(cmd.command.codeDec,cmd.opcode.substr(1))}}

Screens

Display (2x16)

Last 16 addresses of memory wil be displayed as ASCII.

{{vctrl.getASCII(224+n)}}

{{vctrl.getNumber(224+n)}}

{{vctrl.getASCII(240+n)}}

{{vctrl.getNumber(240+n)}}

Memory Usage

Memory is displayed in grey-scale blocks.

CELL NUMBER #{{vctrl.screencellnumber}}

Downloads

Vizmachine

Manual (en, de) in PDF

Exercises

Exercises (en, de) in PDF
Solutions for 1, 2a, 2b, 3, 4a, 4b as *.vzm dumps.
Further exercises using this virtual machine (en, de)

Demos

Demo for JUMP and WAIT as *.vzm dump. (Run program and look at memory usage screen!)

About


V{{vctrl.version}}

GNU AFFERO GENERAL PUBLIC LICENSE
Version 3, 19 November 2007
LICENSE.txt

A-Knoll-EDGED

Copyright (C) 2003-2024 by Mathias Knoll
Program by DI(FH) Mathias Knoll, MSc Mail: mathias.knoll-AT-fh-joanneum.at
Idea from Lecture by DI Manfred Pamsl Mail: manfred.pamsl-AT-fh-joanneum.at
Architecture Idea from "Computer Science: An Overview (12th Edition)" by Glenn Brookshear & Dennis Brylow

FH JOANNEUM - IT + KAPFENBERG
Internet Technology / Software Design
IT & Mobile Security / IT-Law & Management
Werk-VI-Straße 46
8605 Kapfenberg, AUSTRIA
Tel.: +43 (0)3862 33600-8374
Fax: +43 (0)3862 33600-8381
E-Mail: itm@fh-joanneum.at