| |
|
|
 Frank Abbing | ¡Hola,
debería el una u otros una interessanten Profano-Ensamblador Code escribir, werd Yo, el natürlich gerne con el el XPIA Paket aufnehmen. |
|
|
| |
|
|
|
 Michael Dell | |
|
| Salu Michael...
Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! | 04.10.2005 ▲ |
|
|
|
|
 Frank Abbing | Klasse, Michael! In el MASM32.lib stecken todavía jede Menge interessante y hilfreiche Características.... |
|
|
| |
|
|
|
 Frank Abbing | Hier el Aufruf zweiter Systemdialoge, Color y Font: KompilierenMarcaSeparación {$cliq}
Declare z&,bereich#,afont&
Cls
===========================
Systemdialog Color aufrufen
===========================
AsmStart SysColor
Parameters %hwnd,%hinstance
invoke ColorDialog,para1,para2,0
Return z&
AsmEnd
Print "RGB-Wert = "+Str$(z&)
==========================
Systemdialog Font aufrufen
==========================
Dim bereich#,1024
Clear bereich#
AsmStart SysFont
Parameters %hwnd,bereich#
invoke FontDialog,para1,para2,CF_SCREENFONTS or CF_EFFECTS
.if eax
invoke CreateFontIndirect,para2
.endif
Return afont&
AsmEnd
If afont&
z&=@Create("Text",%hwnd,"Eine Schriftart wurde ausgewählt.",0,24,320,64)
SetFont z&,afont&
Else
Print "Kein Font ausgewählt."
EndIf
WaitInput
Case afont&:DeleteObject afont&
../funktionsreferenzen/XProfan/end/'>End
|
|
|
| |
|
|
|
 Michael Dell | Listet todos disponible fixen Laufwerke en uno Listbox en Motto einfacher gehts no... KompilierenMarcaSeparación {$cliq}
Declare GD_LB&,GD_Txt&
Cls
GD_LB& = Create("SortedListBox",%HWnd,"",40,40,200,300)
GD_Txt& = Create("Text",%HWnd,"Gewählt: ",40,360,200,20)
ASMSTART GetDrives
PARAMETERS GD_LB&
Invoke load_drives, para1 ; Listet alle vorhanden "fixen" Laufwerke in einer Listbox auf
ASMEND
WhileNot ((%Key = 2) Or (%MenuItem = -2))
WaitInput
SetText GD_Txt&,("Gewählt: " + GetString$(GD_LB&,GetCurSel(GD_LB&)))
EndWhile
End
|
|
|
| Salu Michael...
Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! | 04.10.2005 ▲ |
|
|
|
|
 Michael Dell | Expediente- Kopieren & Expediente- Anhängen
[box:057332201c]Achtung!!! - XPIA producido sólo el Source (LAST.ASM & LAST.DEF) para erzeugen el DLL se MASM32v8.2 SP2 benötigt![/box:057332201c] KompilierenMarcaSeparación {$Clq}
Declare FC_FileIn$,FC_FileOut$,FC_Erg&,FA_FileIn$,FA_FileOut$,FA_Erg&
FC_FileIn$ = "TEST1.DAT"
FC_FileOut$ = "TEST2.DAT"
FA_FileIn$ = FC_FileIn$
FA_FileOut$ = FC_FileOut$
Cls
Print ("Kopiere " + FC_FileIn$ + " nach " + FC_FileOut$ + ". Bitte Warten...")
ASMSTART fCopy
Parameters Addr(FC_FileIn$),Addr(FC_FileOut$)
Return FC_Erg&
Local fHndl1 :DWORD
Local fHndl2 :DWORD
Local InCnt :DWORD
Local OutCnt :DWORD
Local Count :DWORD
Local GesCnt :DWORD
Local BuffAdd :DWORD
Start:
mov Count, 983040
mov BuffAdd, alloc(Count)
invoke exist, para1
jz Ende
invoke exist, para2
jz Weiter1
invoke SetFileAttributesA, para2, 32
invoke SetFileAttributesA, para2, 128
invoke DeleteFileA, para2
Weiter1:
mov GesCnt, 0
mov fHndl1, fopen(para1)
mov fHndl2, fcreate(para2)
Weiter2:
mov GesCnt, fseek(fHndl1,GesCnt,0)
fseteof fHndl2
mov InCnt, fread(fHndl1, BuffAdd, Count)
mov OutCnt, fwrite(fHndl2, BuffAdd, InCnt)
mov eax, GesCnt
add eax, InCnt
mov GesCnt, eax
mov eax, OutCnt
sub eax, Count
jz Weiter2
fclose fHndl1
fclose fHndl2
Ende:
free BuffAdd
Xor eax, eax
ASMEnd
Print
Print "Taste..."
WaitKey
Print ("Füge " + FC_FileIn$ + " zu " + FC_FileOut$ + " hinzu. Bitte Warten...")
ASMSTART fApp
Parameters Addr(FA_FileIn$),Addr(FA_FileOut$)
Return FA_Erg&
Local fHndl1 :DWORD
Local fHndl2 :DWORD
Local InCnt :DWORD
Local OutCnt :DWORD
Local Count :DWORD
Local GesCnt :DWORD
Local GesCnt2 :DWORD
Local BuffAdd :DWORD
Start:
mov Count, 983040
mov BuffAdd, alloc(Count)
invoke exist, para1
jz Ende
invoke exist, para2
jz Ende
mov GesCnt, 0
mov GesCnt2, 0
mov fHndl1, fopen(para1)
mov fHndl2, fopen(para2)
;fseteof fHndl2
mov GesCnt2, fseek(fHndl2,0,FILE_END)
Weiter2:
mov GesCnt, fseek(fHndl1,GesCnt,0)
mov GesCnt2, fseek(fHndl2,GesCnt2,0)
mov InCnt, fread(fHndl1, BuffAdd, Count)
mov OutCnt, fwrite(fHndl2, BuffAdd, InCnt)
mov eax, GesCnt
add eax, InCnt
mov GesCnt, eax
mov eax, GesCnt2
add eax, OutCnt
mov GesCnt2, eax
mov eax, OutCnt
sub eax, Count
jz Weiter2
fclose fHndl1
fclose fHndl2
Ende:
free BuffAdd
Xor eax, eax
ASMEnd
Print
Print "Taste zum Beenden..."
WaitKey
End
Benötigte zusätzliche Incluye (Pfade Anpassen!):[box:057332201c]include c:masm32includemsvcrt.inc include c:masm32macrosmacros.asm includelib c:masm32libmsvcrt.lib[/box:057332201c] Corrección al: 11.10.05 |
|
|
| Salu Michael...
Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! | 09.10.2005 ▲ |
|
|
|
|
 | ¡Hola Michael, sieht sí muy interessant de, dein letztes Ejemplo. El vorigen bestanden sí meist sólo API-Aufrufen por Makro (invoke). Como largo hast Usted gebraucht, ASM soweit a aprender, sería mich sí auchmal ransetzen ASM a aprender. Bisher tener Yo siempre antes el ersten Erfolgen abgebrochen  |
|
|
| |
|
|
|
 | ASM lernt uno eigendlich a una einzigen Tag. 
El wichtigsten Finessen ha una continuación así después de uno Semana en él.
Danach feilt uno sólo todavía al Stil.
ASM es absolut el einfachste Lingua - uno muß sólo sólo Jonglieren puede. 
Salve. |
|
|
| |
|
|
|
 Michael Dell | Richtig,
is no soo kompliuiert wies aussieht. Mein Problema es más, no el oft logischer wirkende Syntax de Hochsprachen con el direkteren de Ensamblador a verwechseln. Am meisten lern Hice Macros y el Sourcen para el Libs.
Hier gibts Base- Beispiele: [...] 
Und hier el berühmte Interrupt- Liste de Ralf Brown: [...]  |
|
|
| Salu Michael...
Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! | 09.10.2005 ▲ |
|
|
|
|
 | @M.Dell No ya otra vez , tener me ya una Assemblerbuch gekauft, el sólo en DOS y Interrupts eingeht. Yo habe kein DOS y yo möchte sólo ASM para 32-Bit, also FLAT erlernen. Kann el Beispiele para DOS sí todavía no veces testen. Gibts el nichts para 32-Bit only. Nur ne Anleitung para el Adressierungsarten y el ganzen otro Befehle  |
|
|
| |
|
|
|
 Michael Wodrich | Ensamblador-Anleitung vom Guru Iczelion (simplemente googlen). Como es auch irgendwo una Übersetzung de ihm en Alemán en el Netz (ICZTUTES).
Oft helfen auch el Ensamblador-Foren más.
Schöne Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 10.10.2005 ▲ |
|
|
|
|
 | @TS:
32-Bit Asm heist doch eigendlich nix más como el Handling de:
a) Registern b) Speicherbereichen b) Stack c) Apis
Für el Registermanipulation son Befehle como mov add inc dec xor etc. zuständig, para el Manipulation de Speicherbereichen weist uno primero el Adresse des Mems una Register a y manipuliert esta anschließend en [seekpos] Schreibweise, para el Stack gibts Push & Pop, y el Apis voluntad por Call aufgerufen después de uno el Parámetro en umgekehrter Reinfolge en el Stack gepackt ha. (Der BackVal cada Api landet en eax].
Das wars auch en el Großen y Ganzen.
Dann gibts natürlich todavía el Labels (para gotos/ jmp & Compareanweisungen) y luego kommt auch ya el highlevel-Krahm. (Macros / ifs y whiles en lugar de cmp & cmp)
Como gibts nix groß a aprender.
Salve. |
|
|
| |
|
|