TBI - Ein Binärinterpreter

    • Release
    • Open Source

      TBI - Ein Binärinterpreter

      Name:
      T-Binary Interpreter - TBI (V3)

      Beschreibung:
      TBI ist eine esoterische Programmiersprache, die als Befehle Binärzahlen nutzt.
      Sehen wir uns ein Hallo-Welt Beispiel in Binär (BASM in den Kommentaren (BASM = Assemblersprache des Interpreters)
      und erklärt)
      an:

      {S} = Stack
      [S:X] = letztes Element vom Stack wird genommen, dieses wird dann gelöscht
      # = Kommentar
      [ZS] = Zwischenspeicher
      X -> Y = X nach/auf Y

      Hinter dem Hastag haben wir einmal die BASM-Form (welche der Interpreter auch in
      Binär formatieren kann) und dann die "verständliche" Form.

      Quellcode

      1. 00010010 # 72 - 72 -> [ZS]
      2. 11101000 # nts - 72 -> {S}
      3. 00101000 # ptc - [b][/b]ASCII von [S:X] ausgeben
      4. 10000110 # 97 - 97 -> [ZS]
      5. 11101000 # nts - 97 -> {S}
      6. 00101000 # ptc - ASCII von [S:X] ausgeben
      7. 00110110 # 108 - 108 -> [ZS]
      8. 11101000 # nts - 97 -> {S}
      9. 00101000 # ptc - ASCII von [S:X] ausgeben
      10. 00110110 # 108 - 108 -> [ZS]
      11. 11101000 # nts - 108 -> {S}
      12. 00101000 # ptc - ASCII von [S:X] ausgeben
      13. 11110110 # 111 - 111-> [ZS]
      14. 11101000 # nts - 111 -> {S}
      15. 00101000 # ptc - ASCII von [S:X] ausgeben
      16. 00000100 # 32 - 32 -> [ZS]
      17. 11101000 # nts - 32 -> {S}
      18. 00101000 # ptc - ASCII von [S:X] ausgeben
      19. 11101010 # 87 - 87 -> [ZS]
      20. 11101000 # nts - 87 -> {S}
      21. 00101000 # ptc - ASCII von [S:X] ausgeben
      22. 10100110 # 101 - 101 -> [ZS]
      23. 11101000 # nts - 101 -> {S}
      24. 00101000 # ptc - ASCII von [S:X] ausgeben
      25. 00110110 # 108 - 108 -> [ZS]
      26. 11101000 # nts - 108 -> {S}
      27. 00101000 # ptc - ASCII von [S:X] ausgeben
      28. 00101110 # 116 - 116 -> [ZS]
      29. 11101000 # nts - 116 -> {S}
      30. 00101000 # ptc - ASCII von [S:X] ausgeben
      31. 10000100 # 33 - 33 -> [ZS]
      32. 11101000 # nts - 33 -> {S}
      33. 00101000 # ptc - ASCII von [S:X] ausgeben
      34. 01000000 # 2 - 2 -> [ZS]
      35. 11101000 # nts - 2 -> {S}
      36. 00010000 # 8 - 8 -> [ZS]
      37. 11101000 # nts - 8 -> {S}
      38. 10010000 # add - [S:X] + [S:X] -> {S}
      39. 00101000 # ptc - ASCII von [S:X] ausgeben
      40. 10110000 # hlt


      Verwendete Programmiersprache(n) und IDE(s):
      Es wurde C# 5.0 verwendet.

      Systemanforderungen:
      .NET Framework 4.5
      Windows 7 bis Windows 10

      Systemveränderungen:
      Keine, außer man konvertiert eine BASM
      Datei in Binär, dann wird aus einer *.bsm eine neue
      *.bin Datei generiert.

      Download(s):
      drive.google.com/file/d/0BzXrU…ieE9zLWs/view?usp=sharing

      Lizenz/Weitergabe:
      Keine Lizenz, habt Spaß :P

      Es gibt leider noch keine Dokumentation, das meiste muss leider aus den Beispielprogrammen entnommen werden ||