Informática Numaboa - Tutoriais e Programação
Cap. II - Nossa primeira aplicação
Sex 14 Dez 2007 07:52 |
- Detalhes
- Categoria: MASM + RadASM
- Atualização: Segunda, 01 Março 2010 20:00
- Autor: Alan Moreno
- Acessos: 12865
Masm32+RadASM
Capítulo II - Nossa primeira aplicação
Escrito por: ^A|An M0r3N0^ Conselheiro: RedH@wk Tradução: ~Uglinho~O presente texto foi escrito para fins educacionais e de pesquisa e é de livre distribuição contanto que se preserve o conteúdo e os direitos do autor.
A estrutura dos nossos programas
Para criar um programa em MASM32 deve-se seguir uma estrutura que o nosso compilador possa entender. Por exemplo:
Com este código já criamos um programa que nosso compilador pode entender e assim criar nossa aplicação. Agora explicarei para que serve cada uma destas seções do código:
- .386 - Esta diretiva serve para estabelecer o tipo de processador e as instruções com as quais irá trabalhar. Neste caso é um 80386.
- .model flat, stdcall - Aqui estabelecemos o modelo de memória requerido para nossos programas de 32 bits.
- option casemap:none - Esta opção torna possível a diferenciação de maiúsculas e minúsculas, por exemplo, "Z" é diferente de "z".
- Include e Includelib - O MASM32 inclui arquivos e bibliotecas para manipular um grande número de funções que existem no Windows. Estas funções são conhecidas como API, como por exemplo a API ExitProcess que está em nosso código.
O include se utiliza para adicionar arquivos com extensão .inc e .asm
O includelib se utiliza para adicionar bibliotecas com extensão .lib
O MASM32 também inclui o arquivo window.inc onde encontramos um grande número de constantes e estruturas usadas pelas funções do Windows (API). - .data - Existem dois tipos de informação, a informação inicializada e a não inicializada (.data?)
- Informação Inicializada (.data) - Nesta seção declaramos os dados que conhecemos, com os quais nosso programa se inicia. Por exemplo:
.data
Etiqueta Tipo de variável Dados inicializados Msg_Texto db "BEM VINDO AO CURSO MASM + RADASM",0 Valor_1 dd 7 - Informação Não Inicializada (.data?) - Nesta seção declaramos os dados que não conhecemos ou apenas estarão disponíveis quando o programa for executado. Normalmente a utilizamos para armazenar dados, por exemplo:
.data?
Etiqueta Tipo de variável Dados inicializados Buffer db 128 dup (?) Valor_2 dd ?
- Informação Inicializada (.data) - Nesta seção declaramos os dados que conhecemos, com os quais nosso programa se inicia. Por exemplo:
- .code - Depois das seções de dados, devemos indicar ao MASM32 onde começa o código do programa e também onde termina. Para isto colocamos uma etiqueta, por exemplo Prog001, seguida de ":", para indicar que abaixo começa o código do nosso programa e, ao terminar o código do programa, se escreve end mais a etiqueta que declaramos, ficando desta maneira: end Prog001
Programando no RadASM
Ao nosso código acima adicionaremos uma nova função para que mostre uma janela que nos dê boas vindas. Para isto abriremos o RadAsm.exe e começaremos a programar como mostra o video:
Para assistir ao vídeo, faça o download de prog001.exe.
- Anterior
- Próximo >>