My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Featured
Downloads
Links

Desenvolvimento de um compilador assembly multi-máquina, criado para compilar usando ANSI C e para ser parte integrante do projeto SOmBRA.

Desenvolvimento alpha, exemplo da linguagem abaixo:

program teste;
     char a[256], c[3];
     int z;
     int *x = (int *)eax; // *x == [eax]
begin  // Pode ser {
    eax = 0xB8000; // mov eax, 0xB8000

    // Mostrando letra a na tela!
    *x = 0x0F << 8 + 'A'; // mov [eax], 0x0F65
end  // Pode ser } se não for begin no inicio

Funções

function teste(int x): int;
begin
     // Podemos usar push(x) ...
     // Mas não podemos de esquecer de retira-lo caso de retorno!
     return x;
end

Código:

   teste:
       push ebp         ; Salvando ebp
       mov ebp, esp     ; ebp = esp
       mov eax, [ebp+8] ; return x;
       pop ebp          ; Retomando ebp
       ret              ; retorna último eip
Powered by Google Project Hosting