"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.505 ]
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;
}
Retorna a diferença entre dois vetores em Assemly
Crivo de Eratóstenes Simples para Linux x86 em Assembly Puro (GNU Assembler)
Simples JIT (just in time) em C
Porque Gentoo semi-binário atualmente (desabafo)
A combinação de WMs com compositores feitos por fora
Audacious, VLC e QMMP - que saudades do XMMS
SUNO OpenSource: Crie um servidor de gerador de música com IA
Instalando SVP4 e MPV (VapourSynth) no Gentoo
Migração do KDE Plasma para Cinnamon no Gentoo (com systemd) + Tema Colloid
Como desativar a economia de energia no Gentoo (Systemd, Wi-Fi, USB e SSH)
Instalador não reconhece SSD Sata. (15)
como deixo uma inferface grafica abrir automaticamente (5)









