| rmachine RMACHINE is een registermachine-simulator. |
Download nu |
rmachine Rangschikking & Samenvatting
- Naam uitgever:
- Michael Vogt
- Uitgever website:
- https://developer.berlios.de/projects/rmachine/
rmachine Tags
rmachine Beschrijving
Rmachine is een registermachine-simulator. Rmachine is een register-machine-simulator (de complexiteitstheoreversie), geprogrammeerd in Python, compleet met een module die moet worden gebruikt in uw programma's en een (PYQT4) GUI. De machine ("RAM") is gelijk aan turing-machines in zijn Computional Power . Het heeft theoretisch onbeperkt geheugen (maar is beperkt in de praktijk door het geheugen van uw computer). Dit is een simulator voor registermachines (de complexiteitstheorie-versie). Hier is een korte introductie. De machine ("RAM") is gelijk aan turing-machines in zijn Computional Power. Het heeft theoretisch onbeperkt geheugen (in de praktijk beperkt door het geheugen van uw computers). Geheugencellen ("Registers") kunnen gehele getallen> = 0 van elke lengte opslaan. Zeg dat het 5e register het nummer 42 bevat. U zou het schrijven als C (5) = 42. C (0) wordt ook "Assembler" genoemd en heeft een belangrijke rol, zoals u later zult zien. De RAM heeft ook een programmateller B, in de eerste plaats ingesteld op 1 en in principe vertegenwoordigt de volgende regel die moet worden uitgevoerd. De structuur van een typisch programma ziet er als volgt uit: # Reacties Ga hier # meer opmerkingen ingang 46 89 (Instructies Ga hier) Ent de "invoer" -lijn moet direct na de opmerkingen worden gevonden. De invoer wordt in C (1), C (2) enz. In dit voorbeeld, C (1) = 4, C (2) = 6, C (3) = 8, C (4) = 9. , met alles, hier is de instructieset. De eerste regel is de instructie zelf, de 2e lijn legt uit wat het doet .-- Load IC (0): = C (I), B: = B + 1 - CLOAD IC (0): = I, B: = B + 1 - Indload IC (0): = C (C (i)), B: = B + 1 - Store IC (I): = C (0), B: = B + 1 - Indstore IC (C (i)): = C (0), B: = B + 1 - IC (0) toevoegen: = C (0) + C (I), B: = B + 1 - CADD IC (0 ): = C (0) + I, B: = B + 1 - Indadd IC (0): = C (0) + C (C (i)), B: = B + 1 - sub IC (0 ): = max (C (0) - C (i), 0), B: = B + 1 - CSUB IC (0): = max (C (0) - I, 0), B: = B + 1 - INDSUB IC (0): = MAX (C (0) - C (C (i)), 0), B: = B + 1 - MUL IC (0): = C (0) * C ( i), B: = = B + 1 - CMUL IC (0): = C (0) * I, B: = B + 1 - Indmul IC (0): = C (0) * C (C (i )), B: = = B + 1 - DIVE IC (0): = C (0) / C (I), B: = B + 1Note: De decimalen worden afgesneden - CDIV IC (0): = C (0) / I, B: = B + 1Note: de decimalen worden afgesneden - INDDIV IC (0): = C (0) / C (C (I)), B: = B + 1Note: de Decimalen worden afgesneden - GOTO IB: = I - IF X L GOTO IX kan een van die: B: = I als (c (0) x L) waar is (informeel ', als <5 GOTO 10 "Zou instellen B = 10 if c (0) vereisten: · Python · Pyqt4
rmachine Gerelateerde software