|
ExecutavelAssembly
Um exemplo de como programar assembly para o SOmBRA.
IntroduçãoTodos os programas precisam do assembly para poderem ser executados e conhecer as chamadas do Sistema Operacional também são muito importantes, então aqui vai um breve exemplo de como é um programa assembly para o SOmBRA. Exemplo/***********************************************************************************
** Programa: teste.app **
** Data: 14/08/2008 - atualização 26/08/2009 **
** Autor: Mauro Joel Schutz **
** Descrição: Este programa mostra um exemplo de como exibir **
** a mensagem "Fazendo um teste" no console do usuário **
***********************************************************************************/
/***********************************************************************************
** Para ver como funciona todas as chamadas de sistema, veja a página ChamadasDeSistema
** na Wiki do Projeto SOmBRA em: http://code.google.com/p/projeto-sombra/wiki
***********************************************************************************/
// Seção de código
.text
.globl _start
_start:
// Abrindo arquivo de console
movl $100, %eax
movl $io_file, %ebx
movl $1, %ecx
int $0x30
movl %eax, stdinout
// Enviando a frase
movl $103, %eax
movl $frase, %ebx
movl $16, %ecx
movl stdinout, %edx
int $0x30
// Fechando o arquivo de console
movl $101, %eax
movl stdinout, %ebx
int $0x30
// Saindo do programa
movl $402, %eax
int $0x30
// Seção de dados inicializados
.data
// String que vamos mostrar na tela
frase:
.ascii "Fazendo um teste"
// Local de arquivo especial tty
io_file:
.asciz "/dev/tty"
// Seção de dados não inicializados
.bss
// Variavel para armazenar ID do arquivo
stdinout:
.long 0Acho que os comentários no código fonte são o suficiente para entender que o programa imprime a mensagem "Fazendo um teste" no terminal do sistema. Compile usando o comando tcc teste.S, assim gerando o programa teste.app Outros exemplosPara quem busca outros exemplos, eles podem ser encontrados na pasta sombra/examples no compilador TCC. ConcluindoPara obter um lista completa das chamadas de sistema, é só ir a Wiki procurar pela página ChamadasDeSistema e lá incluirá todos os detalhes de como as chamadas podem e devem ser usadas. OBS: O comando tcc é o compilador (C e Assembly) e linker usado para gerar programas para o SOmBRA, para baixa-lo é só entrar na seção de downloads do projeto. |
Sign in to add a comment