|
Project Information
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 inicioFunçõ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;
endCó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
|