Windows Consolen Programmierung unter Assembler

Hi

Ich bräuchte eine gute Quelle für Informationen über Windows Consolen Programmierung unter Assembler. Kennst sich da überhaupt irgendjemand mit aus ?

Gruß
Max

Hallo

Es gibt so ein Beispielprogramm „hello.exe“ bzw. „.asm“ .
Eventuell kannst Du Dir sowas auf dem Microsoft FTP Server oder vom MSDN ansehen .
Am einfachsten könnte es sein , ein Window ohne Rahmen auf dem Bildschirm zu verwenden , da man dann alle Api´s und das Clipboard usw. zur Verfügung hat . Dann kann man noch einen Zeichensatz ( proportional ? ) , der ähnlich zur Console ist , aussuchen , und Graphik anwenden .
Man benötigt einen 32bit Assembler , das ist am besten Masm 6.1 oder höher , oder der entsprechende von Borland ,( gibts bestimmt noch einen ) eventuell geht es auch mit C-Inline-Code , weil es den Masm von Microsoft nicht mehr zu kaufen gibt .
Zwischen Windows95 und NT 4 gibts irgendwelche Unterschiede , man kann jedenfalls auf die Console wie in ein File schreiben / = Dateizugriff , ich hatte da mal kein sauberes carriage return bei NT4.0 hingekriegt .
MfG

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi

Über die Hello World Phase bin ich Gottseidank schon hinaus. Mein derzeitigen Projekt ist Pong von Pascal nach Windows zu portieren.

Das ganze soll auf jedem Fall als Textmode Console laufen.

Als Compiler verwende ich NASM, was sehr gut läuft. Als Informationsgrundlage habe ich derzeit „Gaz’s Win32NASM Package“, allerdings habe ich bisher noch nirgends weitere Beispielprogramm für die Windows Console in Assembler gefunden. Ganz allgemein ist das Angebot für „windows programming console assembler“ recht dünn.

Die API kenne ich dank der „Microsoft® Win32® Programmer’s Reference“ (12MB Helpfile) auch recht gut, daß ist nicht das Problem.

Ich denke das Wichtigste wären noch ein paar Beispiele. Ich habe zum Beispiel das Problem keine „gotoxy“ Funktion zu haben. Es gibt zwar SetCursorPos, aber die Funktion mag mich nicht.

Gruß
Max

Hallo
Ich weiß nicht , was „Pong“ ist .
Die Console erscheint mir schlecht für XY-Positionierung .
Interessant ist jedoch der Textmodus der VGA-Karte und die Möglichkeiten der DOS-Programme mit VGA . Hier kann man auch weißen Text auf schwarzem Monitor verwenden , was bei Windows unter Windows irgendwie nicht zu klappen scheint .
Allerdings , ohne Alternative und mit den besten Programmiermöglichkeiten unter Windows ist ein Window !
Das kriegt man da auch ohne Rahmen , man kann direkt den Desktop beschreiben und bezeichen , man findet jedoch ohne Hilfestellung ziemlich schlecht durch .
Wenn Du API-Calls mit Deinem Assembler machen kannst , hast Du einen großen Vorteil , denn das ist eher schwierig , wenn der Assembler keine fertigen Funktionen dafür hat .
Das weiß auf schwarz klappt nicht bei mir , insbesondere unter VB und mit Clipboard .
MfG

High

Pong ist eins der Urspiele überhaupt, hast du sicher schon mal irgendwo gesehen. Es ist eine Art „Ping-Pong“ Spiel. Wenn du Interesse hast, schicke ich dir mal meine noch DOS-EXE Pascal Version.
Unter DOS ist das Ganze überhaupt kein Problem, mein bestehende DOS Version arbeitet sehr gut und schnell indem sie direkt im Textmode Graphikspeicher schreibt.
Ich habe mir auch schon überlegt ob ich dieses Konzept auch übertragen soll und mit den ConsoleBuffer Funktionen soll.
Ich habe gerade eben gemerkt, daß die SetCursorPos Funktion ja völlig falsch ist. SetConsoleCursorPosition ist wohl eher geeignet.
Wie ich schon schrieb benutze ich NASM zusammen mit einigen Macros. Ich muß beispielweise für einen API Aufruf nur
„sc SetConsoleCursorPosition, .ownbuffer, 0x10101010“ oder
„sc WriteConsole, .ownbuffer, what2write, 1, NULL, NULL“
schreiben und der Macro macht den Rest.
Ich will kein Window nutzen, weil das Programm unter ReactOS laufen soll. Reactos ist ein WinNT Clone und die GUI ist … äh, noch nicht ganz ausgereift.

Ich bin richtig erstaunt, daß ich so schnell jemanden gefunden habe, der sich mit diesem Thema auskennt, es ist doch eher etwas exotisch.

Gruß
#Max