
Enviado em 01/07/2014 - 11:42h
/*
**-------------------------------------------------------------------
**
** COMPILE:
** gcc prog.c -o prog -Wall
**
**-------------------------------------------------------------------
*/
#include <stdio.h>
int i;
//
// i = 20 / 5; // 4
//
void funcao (void)
{
asm ("push $20"); // primeiro numero MAIOR
asm ("push $5"); // agora numero menor
//---------------------------------
//
// troca: (%esp), 4(%esp)
//
//---------------------------------
asm ("mov (%esp), %eax");
asm ("mov 4(%esp), %edx");
asm ("mov %eax, 4(%esp)");
asm ("mov %edx, (%esp)");
//---------------------------------
asm ("pop %eax");
asm ("cltd");
asm ("idivl (%esp)");
asm ("mov %eax,(%esp)");
#ifdef _WIN32
asm ("pop _i");
#endif
#ifdef __linux__
asm ("pop i");
#endif
}
int main (void)
{
funcao();
printf ("\nresult i: %d\n", i); // 4
return 0;
}
asm ("fxch %st(1)");
SynapSeq - programa para estimular as ondas cerebrais
Por que seu __DIR__ falhou ou o "inferno" dos caminhos no PHP
Preparando-se para certificações da LPI através do LPI Lab
Migração de Arch Linux para repositórios CachyOS (Uso de Instruções v3 e v4)
Jogando "Magic" gratuitamente no Linux
Zoxide e fzf no bash para incrementar o uso do Terminal
As diferencas entre o clipboard comum e a selecao ativa
Arch Linux com repos do CachyOS para otimização ou usar Gentoo?
O que você está ouvindo agora? [2] (243)
Abrir um arquivo URL pelo Clipper (7)
Eu aprendi o segredo das artes! hahaha (0)









