"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.398 ]
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;
}
Escrita de um número em octal na tela em Assembly Puro para Linux x86 (GNU Assembly)
Escrita de número em binário em Assembly Puro para Linux 64 bits (Nasm - Netwide Assembler)
Algoritmo de Raiz Quadrada Inteira em Assembly Puro para Linux x86 (NASM - Netwide Assembler)
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









