"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.319 ]

Download clrscr001.c




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.

  



Esconder código-fonte

#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;

}

Scripts recomendados

Escrita de um número em binário na tela em Assembly Puro para Linux 64 bits (GNU Assem

Escrita de número em binário em Assembly Puro para Linux 64 bits (Nasm - Netwide Assembler)

Assembler 8086 - Recebe um caractere do usuário e imprime o código ASCII em pontos

Soma dois números lidos da memória

codigo em assembley que soma dois numeros


  

Comentários


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts