"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.419 ]
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;
}
Inverter uma string, Assembly8086
Escrita de um número em binário na tela em Assembly Puro para Linux 64 bits (GNU Assem
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como montar um servidor de backup no linux
Trazendo de volta o Serviços em Segundo Plano no Plasma6
Ativando e usando "zoom" no ambiente Cinnamon
Vídeo Nostálgico de Instalação do Conectiva Linux 9
Como realizar um ataque de força bruta para desobrir senhas?
780 mil usuários do Janelas baIxaram Linux em um mês (3)
Servidor para arquivos e banco de dados (2)
Atualizei meu ubuntu e desliguei e ele não inicia corretamente (12)









