Español
Ensamblador Foro

Neue Asm-Demo's.

 

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.
 
15.07.2004  
 




Michael
Dell
!!!Achtung!!! Löscht auch Schreibgeschützte Archivos!
KompilierenMarcaSeparación
 {$cliq}
Declare DF_Erg&,DF_FileName$
Clear DF_Erg&,DF_FileName$
DF_FileName$ = "E:EIGENE DATEIENTEST.DAT"  Bitte "TEST.DAT" erzeugen und Pfad Anpassen!!!

ASMSTART DelFile

    PARAMETERS Addr(DF_FileName$)
    Invoke exist, para1
    JZ Ende
    Invoke SetFileAttributesA, para1, 32
    Invoke SetFileAttributesA, para1, 128
    Invoke DeleteFileA, para1
    Ende:
    Return DF_erg&
    ; Rückgabewerte
    ; 1 = Datei gelöscht
    ; 0 = Datei nicht gelöscht

ASMEND

Cls
Print "Datei " + DF_FileName$ + " :  < " + Str$(DF_Erg&) + " >      (0 = nicht gelöscht/1 = gelöscht)"
WaitInput
End
 
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....
 
04.10.2005  
 




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
 
04.10.2005  
 




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
 
09.10.2005  
 



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.
 
09.10.2005  
 




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
 
10.10.2005  
 




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.
 
10.10.2005  
 




Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

8.105 Views

Untitledvor 0 min.
Jens-Arne Reumschüssel02.07.2023
Jörg Sellmeyer28.05.2020
funkheld03.01.2014
Michael Borowiak31.01.2012

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie