Assembler CookBook (ASM Tutorial) + LASM + LASM Inline AutoIt

  • @Make-Grafik,

    ausser, dass die von dir verlinkte Seite auf deutsch ist, kann man sie nur sehr bedingt gebrauchen. 8 bzw- 16-Bit-Assembler ist heutzutage kontraproduktiv, selbst wenn man ein eigenes (Mini)-Betriebssystem schreiben möchte, bietet sich 32-Bit allein wg der wesentlich einfacheren Speicherverwaltung an...
    Ich bin ja wirklich ein "Dinosaurier", aber wer mit mir anfangen sollte, im Jahre 28 n.W. über einen INT21 zu diskutieren, den lache ich nur noch aus...

    Schön und hilfreich sind die diversen x86-Assembler Websiten und Foren, wobei ich die Anwendung von ASM primär zur Erstellung "schneller" Dll´s oder direkt callbarer Funktionen sehe, und nicht in der Erstellung kompletter Programme. Dafür gibts schliesslich AutoIt :D

  • Hey! :)

    Du hast ja ein schöne Beispiele in deiner Inline Version mitgegeben. Ich beziehe mich da auf das erste Beispiel „Use AutoIt Functions“. Ist es möglich auch Parameter an die Funktion zu übergeben? Normalerweise werden diese doch vom Stack bezogen oder irre ich mich?


    Spoiler anzeigen
    [autoit]

    #include <LASM.au3>

    [/autoit] [autoit][/autoit] [autoit]

    # Message: dw "Hallo!", 0
    # push dword Message
    # call $pOut$
    # ret

    [/autoit] [autoit][/autoit] [autoit]

    $pOut = LASM_Ptr('_Out', 'int', 'sChar')
    $pAsm = LASM_ASMToMemory(LASM_GetInline())
    $vRet = LASM_CallMemory($pAsm, 0, 0, 0, 0)

    [/autoit] [autoit][/autoit] [autoit]

    Func _Out($sChar)
    ConsoleWrite($sChar & @CRLF)
    EndFunc

    [/autoit]
  • Klasse arbeit !!!!!... ich habe schon einen kleinen fehler im tutorial gefunden:

    Code
    Später wurde dann der Weg eingeschlagen, mit einem Mal20Bit 
    an Daten, also 1MegaByte zu senden

    .... 20 Bit ist kein Megabyte

  • Gerne: