Menu

“Hello World” Assembly para Windows

15 de agosto de 2015 - Praticando

Hello World Assembly para Windows

Linguagem Assembly para Windows

 

 

Este novo exemplo é de um programa que será usado para ser executado no Windows, isto significa muita coisa, primeiramente significa que nosso código precisará de uma compilação(montagem)  diferente do mesmo real, o código gerado através do fonte deverá ter outra anotações do tipo:

Compilar para o modo real:

.model tiny

 

Compilar para o modo Windows:

.model flat

 

Também no programa vemos a anexação de bibliotecas para chamar as APIs do WIndows (USER32, KERNEL32):

;; Bibliotecas API Windows
;;
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib

 

E tambem as definições:

;; Definicoes Windows
;;
include \masm32\include\windows.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc

 

Veja o codigo fonte abaixo de Assembly para Windows (Hello Word para Windows): hellowin.asm

;; HelloWorld para Windows
;; Versao EXE com cabecalho Binario
;;

.386
.model flat, stdcall

option casemap :none

;; Definicoes Windows
;;
include \masm32\include\windows.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
;; Bibliotecas API Windows
;;
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib

.code

inicio:

push MB_OK
push offset titulo
push offset mensagem
push 0
call MessageBox

push 0
call ExitProcess
titulo db “Mensagem”,0
mensagem db “Hello World”,0
end inicio

 

Agora,  BAT (rotina para compilar): makeit.bat

@echo off

\masm32\bin\ml /c /coff /nologo hellowin.asm
\masm32\bin\Link /SUBSYSTEM:WINDOWS /MERGE:.rdata=.text hellowin.obj > nul

dir hellowin.*

pause

 

Basta colocar o makeit.bat e o hellowin.asm na mesma pasta, e rodar makit.bat.

 

 

download assembly

Arquivos deste Exemplo:

 

 

Deixe um comentário