Hallo,
ich hoffe, ich bin mit meiner Frage richtig hier:
Früher habe in 6502 programmiert und danach in x86-Code. Seinerzeit gab es für die Betriebssytemaufrufe die sog Interrupt-Liste von Ralph Brown. Public-Domain, aber soweit wie möglich dokumentiert, mit welchen Parametern: Welches Register muß mit welchem Wert belegt werden vor Aufruf des Int und mit welchen Werten kommt die Funktion zurück . Bsp: Carry-Flag gesetzt -] Fehler, Fehlercode in ax. etc.
Gibt es so etwas auf für Win32?
Ich weiß, ich weiß, man könnte es immer noch über die Interrupts laufen lassen, aber ich muß hier unter Win2k was Sauberes programmieren und ich habe das lange nicht mehr gemacht (peinlich, seit 1996 nicht mehr...)
gst
Win32-Betreibssystem-Aufrufe
Moderatoren: crack, Krüsty, Marwin
Hi,
sowas gibts natürlich auch für Win32. Am besten, Du holst dir das MASM32-Packet.
http://www.codingcrew.de/masm32/download.php
Da sind viele Programmbeispiele enthalten.
Ausserdem solltes Du die Win32.hlp downloaden.
http://www.codingcrew.de/programmierung/win32hlp.php
Das sind ca. 12 MB, da stehen aber alle gebräuchlichen Funktionen mit Parametern und Rückgabewerten drin.
In Assembler sieht so ein Funktionsaufruf etwa so aus:
MASM32 hat aber tolle Macros, so dass die Parameterübergabe einfacher zu schreiben ist.
Viel Spass. 
sowas gibts natürlich auch für Win32. Am besten, Du holst dir das MASM32-Packet.
http://www.codingcrew.de/masm32/download.php
Da sind viele Programmbeispiele enthalten.
Ausserdem solltes Du die Win32.hlp downloaden.
http://www.codingcrew.de/programmierung/win32hlp.php
Das sind ca. 12 MB, da stehen aber alle gebräuchlichen Funktionen mit Parametern und Rückgabewerten drin.
In Assembler sieht so ein Funktionsaufruf etwa so aus:
Code: Alles auswählen
push hMyFile ;Parameter übergeben
call CloseHandle ;Funktion aufrufen
test eax,eax ;ok, wenn ungleich 0
jnz _ok
call GetLastError ;Fehlercode abfragen (der steht dann in eax)
jmp _fail
Code: Alles auswählen
invoke CloseHandle, hMyFile ;Funktion aufrufen
test eax,eax ;ok, wenn ungleich 0
jnz _ok
invoke GetLastError ;Fehlercode abfragen (der steht dann in eax)
jmp _fail
vielen DanK!
push hMyFile
wie nach dem
call CloseHandle
d.h. der Call auf Close Handle korrigiert den Stackpointer durch Reduzieren der "gepushten" Werte?
Wo steht, welches Format hMyFile haben muß - word, dword, wie sieht das mit Segmenten aus?
ist denn der Stackpointer auf dem gleichen Wert vorDetlef hat geschrieben:push hMyFile ;Parameter übergeben
call CloseHandle ;Funktion aufrufen
test eax,eax ;ok, wenn ungleich 0
jnz _ok
call GetLastError ;Fehlercode abfragen (der steht dann in eax)
jmp _fail
push hMyFile
wie nach dem
call CloseHandle
d.h. der Call auf Close Handle korrigiert den Stackpointer durch Reduzieren der "gepushten" Werte?
Wo steht, welches Format hMyFile haben muß - word, dword, wie sieht das mit Segmenten aus?