"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.278 ]
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 hexadecimal na tela em Assembly Puro para Linux x86 (GNU Assembly)
Escrita de número em decimal em Assembly Puro para Linux 64 bits (Nasm - Netwide Assembler)
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
Solução rápida para o problema do Network Manager conectar mas não navegar
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
Erro GLPI 10.0.0.18 - Ticket (1)
Montando e usando iso de um sistema dentro do outro (6)