Seite 1 von 4
[ASM] Brainfuck-compiler bauen
Verfasst: 06.02.2007 15:50
von DarkSoul
Hi! Ich wollte gerne mal einen brainfuck-compiler versuchen. Nun hab ich da (vielleicht ne dumme) frage: Wie greif ich bei windows-exe's auf den monitor und auf die tastatur zu? Bestimmt nicht mit 'INT', oder???
und zweitens: gibt es ein assembler, das ich kostenlos in meinen compiler fest einbauen kann, so dass ich nichts externes mehr brauche?
wenn ich ehrlich bin, bin ich ein asm-hasser, daher wäre ich für fertige asm-bausteine für die 8 brianfuck-befehle extrem dankbar! die müsste man ja nur hintereinanderpatchen bzw. bei [ und ] um den Klammerinhalt drumrumbasteln. Das was da rauskommt, müsste man ja theoretisch mit nem assembler assemblieren - fertig.
ach ja: und das Consolenfenster?
Verfasst: 06.02.2007 16:12
von Rings
kannst du schon Fahrrad fahren ?
Verfasst: 06.02.2007 16:18
von DarkSoul
nun mach aber mal halblang!! zu dos-zeiten hab ich ASM programmiert! nun wollte ich wissen, ob das unter windows genauso geht
Verfasst: 06.02.2007 16:36
von Rings
tja, dos-zeiten.....
wie heisst es so schön bei TV-Kaiser,
ein Teufelskreis
anyway:
-fasm.exe
-WinApi
-Google
-Boardsuche
Verfasst: 06.02.2007 16:46
von Thorium
Biedermeier hat geschrieben:nun mach aber mal halblang!! zu dos-zeiten hab ich ASM programmiert! nun wollte ich wissen, ob das unter windows genauso geht
Nein geht nicht genauso.
Zuersteinmal brauchst du nichtmehr mit Speichersegmenten rumrechnen. Der Speicherzugriff ist unter Windows 32/64 Bit linear.
Interrupts darfst du, zumindest unter NT, nicht mehr benutzen. Hat eine Exeption zur folge. Nutze die Win-API.
Verfasst: 06.02.2007 17:04
von DarkSoul
thorium:
Zuersteinmal brauchst du nichtmehr mit Speichersegmenten rumrechnen. Der Speicherzugriff ist unter Windows 32/64 Bit linear.
watn glück, das war immer fummelig, diese 16er abstände mit den adressen und dann das letzte stückzum byte im anderen regisetr haben
wie mach eich das? Register mit parametern füllen und dann "Call <befehlname>" oder so

?
Verfasst: 06.02.2007 17:06
von AndyX
Mit FASM kannst du das einfacher machen mit Invoke.
Verfasst: 06.02.2007 17:06
von Kaeru Gaman
Biedermeier hat geschrieben:Register mit parametern füllen und dann "Call <befehlname>" oder so

?
yup
Verfasst: 06.02.2007 17:20
von DarkSoul
Was heißt eigentlich OpenConsole() und Print() auf Api? kann in der WinAPI.hlp dasnicht wirklich finden

alles andere, was ich noch so brauche, hab ich schon gefunden.
edit: STORNO! habs doch noch gefunden (habs beim ersten Vesuch mit 'k' geschrieben

)
Verfasst: 06.02.2007 17:23
von Green Snake
Schau mal unter AllocConsole_() bzw WriteConsole_() nach.
Edit:
Dein Edit kam zuspät
