Erlernen von Assembler



  • Original erstellt von pAngel:
    **Also gibt es unter Assembler zum größten Teil Laufzeitfehler?
    **

    Was für fehelr denn sonst 🙂 Kompilierfehler entfallen weil nicht kompiliert sonde nur Übersetzt wird. Maximal typos in den Mnemonics oder falsche Anwendung von Metabefehlen wie SEGMENT.

    **
    Warum wird das Programm, dass man unter Assembler geschrieben hat übrigens nicht sofort geschlossen (im Gegensatz zu MSVC6)? (obwohl es ja nur Vorteile hat...)
    **

    Inwiefern sofort geschlossen. Jedes C-Programm beinhaltet auch intern einen aufruf von _exit() und beendet sich damit auch explizit 🙂

    **
    Hat Assembler (wie C++: WinAPI, MFC, Standard, WinsockAPI ...) spezielle Gebiete, ich weiß ja noch nicht viel, was Assembler kann. Im ersten Sinne, will ich später mal mein eigenes OS zusammenstellen?
    **

    Siehe oben 😉 Betriebssystemprogrammierung, Geräte/Treiberprogrammierung, Optimierung von Kernroutinen (insbesondere Bildverarbeitung).
    Auch wenn du ein OS programmierst, wirst du vermutlich nur Kernteile in Assembler schreiben, weil es halt Dinge gibt, die in C nunmal nicht machbar sind, den Rets macht man üblicherweise in C.

    **
    Assembler wird nicht so gern ind er Softwareindustrie genutzt. Bisher weiß ich nur den Grund, weil es so kompliziert ist und aufwendig ist zu debuggen, aber durch Assembler lassen sich meines Wissens nach doch viele flexiblere und komplexere Programme erstellen (vielleicht sind einpaar Spiele in Assembler programmiert)?**

    Assembler wird nach wie vor immer nur in kleinen Kernroutinen benutzt. In Spielen z.B. gerne mal für Vektoroperationen, in Grafikbearbeitungen zur Parallelverarbeitung von Daten etc. Man nutzt Assembler quasi immer soviel wie nötig, so wenig wie möglich, gerade in der Industrie, weil es halt etwas komplexer zu lesen ist.

    [ Dieser Beitrag wurde am 07.03.2003 um 22:57 Uhr von TriPhoenix editiert. ]



  • Inwiefern sofort geschlossen. Jedes C-Programm beinhaltet auch intern einen aufruf von _exit() und beendet sich damit auch explizit

    Ich mein, dass das Fenster bei C sofort geschlossen wird, bei asm nicht... 🙂



  • Original erstellt von pAngel:
    **Inwiefern sofort geschlossen. Jedes C-Programm beinhaltet auch intern einen aufruf von _exit() und beendet sich damit auch explizit

    Ich mein, dass das Fenster bei C sofort geschlossen wird, bei asm nicht... :)**

    Hmmm...wundert mich dass das überhuapt so ist. Wenn du ein Win32-Konsolen-Programm schreibst dürfte der Unterschied auf jeden Fall nicht mehr da sein



  • kann assembler auch sowas wie WinAPI oder WinsockAPI (naja, ich werde natürlich C++ für sowas verwenden 🙄 , aber würde trotzdem egrn wissen, ob sowas mit assembler möglich ist...)?



  • Original erstellt von pAngel:
    kann assembler auch sowas wie WinAPI oder WinsockAPI (naja, ich werde natürlich C++ für sowas verwenden 🙄 , aber würde trotzdem egrn wissen, ob sowas mit assembler möglich ist...)?

    Klar, du kannst die gesamte WinAPI und auch sonst jede API benutzen die auhc in C verfügbar ist. Letztendlich wird ein C-Programm ja auch in assembler übersetzt.



  • Danke für die schnellen und guten Informationen.
    Bis jetzt war Assembler etwas kompliziert (Prozessor, Stack, Datensegmente usw.), mal sehen was kommt.

    Vielleicht werd ich noch einer von euch 🙄

    [ Dieser Beitrag wurde am 08.03.2003 um 10:54 Uhr von pAngel editiert. ]



  • Bisher scheinst du TASM benutzt zu haben. Wenn dir auch MASM recht ist, siehe hier: http://win32asm.cjb.net/

    Das ist IMHO die beste Website zum Thema. Du findest auch MASM ( legal 😉 )
    Es gibt Tutorials über WinAPI, VXD's (Gerätetreiber) und Datenbanken, sowie auch VIEL Source-Code.

    Ein Beispiel von einer Win32-Anwendung, welche eine MessageBox erscheinen lässt:

    .386 
    .model flat, stdcall 
    option casemap:none 
    include \masm32\include\windows.inc 
    include \masm32\include\kernel32.inc 
    includelib \masm32\lib\kernel32.lib 
    .data 
    .code 
    start: 
            invoke ExitProcess,0 
    end start
    

    Das funktioniert aber nicht mit deinem Assembler.

    mfg

    Raphael



  • Original erstellt von darkpenguin:
    **Ein Beispiel von einer Win32-Anwendung, welche eine MessageBox erscheinen lässt:

    .386 
    .model flat, stdcall 
    option casemap:none 
    include \masm32\include\windows.inc 
    include \masm32\include\kernel32.inc 
    includelib \masm32\lib\kernel32.lib 
    .data 
    .code 
    start: 
            invoke ExitProcess,0 
    end start
    ```**
    

    ALso ich vermisse den Aufruf von MessageBox 🙂



  • 🙄 🙄 wie peinlich ....
    SO sollte es sein:

    .386
    .model flat,stdcall
    option casemap:none
    include \masm32\include\windows.inc
    include \masm32\include\kernel32.inc
    includelib \masm32\lib\kernel32.lib
    include \masm32\include\user32.inc
    includelib \masm32\lib\user32.lib
    
    .data
    MsgBoxCaption db "Titel der msg-Box",0
    MsgBoxText      db "Hallo!!!",0
    
    .code
    start:
    invoke MessageBox, NULL, addr MsgBoxText, addr MsgBoxCaption, MB_OK
    invoke ExitProcess, NULL
    end start
    


  • In einem Tutorial stand, TASM sei einer der besten Assembler, der auch die Syntax von anderen Assembler übersetzen kann. Warum sollte ich MASM nutzen (oder einen anderen Assembler) bzw. welche Vorteile hat es?

    -> Es gibt ein "Visual Assembler"- Projekt im Internet, vielleicht schon mal was davon gehört? Jedenfalls, was haltet ihr davon?

    [ Dieser Beitrag wurde am 09.03.2003 um 14:52 Uhr von pAngel editiert. ]



  • Original erstellt von pAngel:
    **In einem Tutorial stand, TASM sei einer der besten Assembler, der auch die Syntax von anderen Assembler übersetzen kann. Warum sollte ich MASM nutzen (oder einen anderen Assembler) bzw. welche Vorteile hat es?

    -> Es gibt ein "Visual Assembler"- Projekt im Internet, vielleicht schon mal was davon gehört? Jedenfalls, was haltet ihr davon?
    **

    Also ich würde sagen, der Schreiber des Tutorials war TASM-User 🙂 Soweit ich weiß ist die Diskussion welcher Assembler besser ist so alt wie die Diskussion welcher C-Compiler oder welche Programmiersprache besser ist. TASM hat halt den Nachteil, dass es nicht frei verfügbar ist, während z.B. NASM und MASM kostenlos legal erhältlich sind. Im Endeffekt denke ich ists pure Geschmackssache.

    Vom Visual Assembler hab ich noch nichts gehört, aber wenn du nen Link hast, bin ich interessiert 🙂



  • Es gibt 2 verschiedene Visual Assembler- Projekte:
    Visual Assembler: http://visasm.cjb.net/
    Visual Assembler: http://visualasm.cjb.net/ ; ich hab das heruntergeladen

    2. TASM gibt es durchaus kostenlos im Internet (sogar die neusten Versionen) oder ist das illegal?

    3. Ich steh nich auf Englisch, gibt es ein deutsches Tutorial für Windows Proggen in Assembler (obowhl das iegentlich noch Zeit hat), vielleicht wieder in so nem schönen PDF- Format wie mein derzeitiges Tutorial (obwohl es ja kaum deutsche Assembler- Tutorials gibt, die sich mit Grundlagen beschäftigen, da gibt es wahrscheinlich in Sachen Windows schon längst nichts)?

    [ Dieser Beitrag wurde am 09.03.2003 um 15:24 Uhr von pAngel editiert. ]



  • Original erstellt von pAngel:
    **Es gibt 2 verschiedene Visual Assembler- Projekte:
    Visual Assembler: http://visasm.cjb.net/
    Visual Assembler: http://visualasm.cjb.net/ ; ich hab das heruntergeladen
    **

    Also die erste URL geht nur auf ne Müllseite 🙂 Die zweite sieht shcon interessanter aus, danke 🙂
    Nachtrag: ist ja auch nur ne MASM-IDE, also brauchst du dafür MASM bzw. ein MASM ist dabei 🙂

    **
    2. TASM gibt es durchaus kostenlos im Internet (sogar die neusten Versionen) oder ist das illegal?
    **

    WIndows gibst auch in der neuesten Version im Internet 😉 Also meines Wissens nach wurde TASM nicht freigegeben, ich lass emich da gerne ovn wem belehren (benutze selber nur NASM)

    **
    3. Ich steh nich auf Englisch, gibt es ein deutsches Tutorial für Windows Proggen in Assembler (obowhl das iegentlich noch Zeit hat), vielleicht wieder in so nem schönen PDF- Format wie mein derzeitiges Tutorial (obwohl es ja kaum deutsche Assembler- Tutorials gibt, die sich mit Grundlagen beschäftigen, da gibt es wahrscheinlich in Sachen Windows schon längst nichts)?
    **

    Ich weiß nicht, wies mit Deutschen Tuts in der Hinsicht aussieht, aber gestern im Buchladen ist mir was übern Weg gelaufen,w as zumindest ganz passend aussah: http://www.amazon.de/exec/obidos/ASIN/382660671X/qid=1047222658/sr=2-2/ref=sr_aps_prod_2_1/302-9475054-6728048
    Soweit ich sehen konnte gliedert sich das Buch in einem Grundlagen- und DOS-Teil und einen Windows-Teil. Vielleicht interesiserts dich ja.

    [ Dieser Beitrag wurde am 09.03.2003 um 16:17 Uhr von TriPhoenix editiert. ]



  • Nachtrag: ist ja auch nur ne MASM-IDE, also brauchst du dafür MASM bzw. ein MASM ist dabei

    Ich find es ganz nett, aber ist ist halt wirklich nur ne IDE. Wenn mal was wie "MFC for Assembler" oder so kommt, dann könnte das schon eher was werden.



  • ich habe heute etwas entdeckt und möchte gerade ein bisschen werbung machen, weil ich diese ASM-IDE so praktisch finde:

    TATAAAAAA: MAsmEd http://membres.lycos.fr/hitchhikr/MAsmEd.html

    Main features
    - FREE (An old fashioned word, never mind).
    - Multi sources.
    - Asm/C/Pascal syntax highlighting provided with inline assembly.
    - Customizable user menus and toolbars.
    - Contextual grep.
    - Project manager.
    - Customizable context help.
    - VEEC (Very Extended Editing Capabilities).
    - Sources sharing made easier with builtin FTP client.
    - Fast sources construction with registering snippets system.
    - Advanced insertion system.
    - Fully compatible with MASM32 distribution and QEditor Plugins.
    - Integrated remote debugger/controller.
    - Windows API database to provide help "on the fly".
    - Adaptive projects building with custom compilations skins.
    - Internal sources directives support to avoid external make files.
    - Builtin Visual Resources Editor (Not finished).
    - Full integration of Microsoft's SDK/DDK.
    - Intuitive interface.
    - Powerful AddIns engine with more than 550 functions available.
    - Html language support.
    - And much more...

    schaut euch mal die screenshots an...

    [EDIT]

    2. TASM gibt es durchaus kostenlos im Internet (sogar die neusten Versionen) oder ist das illegal?

    😃 😃 ich habe vor einiger zeit im forum einen link gepostet. da war (leider) auch TASM (und MASM,FASM,NASM,GASM ..arghh es wird einem fast übel)drauf und der beitrag wurde editiert. 😞 Wenn du willst --> mail to : darkpenguin@linuxmail.org

    [ Dieser Beitrag wurde am 09.03.2003 um 19:40 Uhr von darkpenguin editiert. ]


Anmelden zum Antworten