"Clear Screen" para Linux x86 com Inline Assembly (embutido no código) em C
Publicado por Perfil removido (última atualização em 11/05/2012)
[ Hits: 5.491 ]
Esta função dentro deste código realiza o mítico "clear screen" em ANSI C.
Uma chamada de interrupção de kernel para imprimir uma sequência de escape de terminal que limpe o código.
Nenhum segredo para compilar. Apenas uso simples do GCC.
#include <stdio.h>
void clrscr(void);
void clrscr(void){
const char *_CLRSCR_ = "{FONTE}33c{FONTE}";
const int _$CLRSCR_ = sizeof(_CLRSCR_);
int _RET_;
asm __volatile__("movl $4, %%eax\n\t" // interrupcao 4
"movl $1, %%ebx\n\t" // saida
"movl %1, %%ecx\n\t" // _CLRSCR_
"movl %2, %%edx\n\t" // _$CLRSCR_
"int $0x80" // chamada ao kernel
: "=a"(_RET_) // (output) armazena o retorno do codigo do que houve
: "g"(_CLRSCR_), "g"(_$CLRSCR_) // (input) entrada dos valores para os registradores
: "%ebx", "%ecx", "%edx", "%esi", "%edi"
);
return;
}
int main (void) {
clrscr();
return 0;
}
GAS "Hello World" o número de vezes definido pelo usuário
Escrita de um número em hexadecimal na tela em Assembly Puro para Linux 64 bits (GNU Assembly
Assembler 8086 - Simples código que mostra horas e minutos em pontos
Berry Bank: Criando um Banco Digital Gamificado para seus Filhos com Gentoo, Flask e Tailscale
Papagaiando o XFCE com temas e recursos
Instale o DOOM Retro no Gentoo facilmente via Overlay
Steam (Flatpak) rodando jogos em partição NTFS
O dock Plank + U-Launcher deixam qualquer desktop mais produtivo
Instalar Linux em notebook Sony Vaio VPCEG13EB (17)
Alguém tem que acabar com ANATEL!!! (10)
O que você está ouvindo agora? [2] (229)









