MASM32 Beispielcode minimum.asm



  • Ich habe mir Version 11 vom MASM heruntergeladen und schon ein paar Programme compiliert. Bei dem Beispiel hier kommt ein kleines Fenster. Kann man das Programm so aendern, dass es eine weitere Textzeile auf dem Fenster anzeigt, wenn man den OK-Knopf drueckt? Was fuer Funktionen braucht man dafuer?

    ; #########################################################################
    
          .386
          .model flat, stdcall
          option casemap :none   ; case sensitive
    
    ; #########################################################################
    
          include \masm32\include\windows.inc
          include \masm32\include\user32.inc
          include \masm32\include\kernel32.inc
    
          includelib \masm32\lib\user32.lib
          includelib \masm32\lib\kernel32.lib
    
    ; #########################################################################
    
        .code
    
    start:
    
        jmp @F
          szDlgTitle    db "Minimum MASM",0
          szMsg         db "  --- Assembler Pure and Simple ---  ",0
        @@:
    
        push MB_OK
        push offset szDlgTitle
        push offset szMsg
        push 0
        call MessageBox
    
        push 0
        call ExitProcess
    
        ; --------------------------------------------------------
        ; The following are the same function calls using MASM
        ; "invoke" syntax. It is clearer code, it is type checked
        ; against a function prototype and it is less error prone.
        ; --------------------------------------------------------
    
        ; invoke MessageBox,0,ADDR szMsg,ADDR szDlgTitle,MB_OK
        ; invoke ExitProcess,0
    
    end start
    


  • szMsg         db "  --- Assembler Pure and Simple ---  ",13,10
                  db " zweite Zeile ",0
    

Anmelden zum Antworten