"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.451 ]
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;
}
Assembler 8086 - Simples código que mostra horas e minutos em pontos
GAS Inteiro para String (formato binário)
Escrita de número em binário em Assembly Puro para Linux 64 bits (Nasm - Netwide Assembler)
Escrita de um número em decimal na tela em Assembly Puro para Linux 64 bits (GNU Assembly)
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Quer auto-organizar janelas (tiling) no seu Linux? Veja como no Plasma 6 e no Gnome
Copiando caminho atual do terminal direto para o clipboard do teclado
Script de montagem de chroot automatica
Não consigo instalar distro antiga no virtualbox nem direto no hd (31)
archlinux resolução abaixou após atualização (12)









