Return to Snippet

Revision: 14955
at June 18, 2009 09:24 by Zufolek


Initial Code
void putch(char c){
 asm(
  "movb $2,%%ah\n"
  "int $0x21\n"
  :
  :"d"(c)
  :"ah"
 );
}

void newline(){
 putch('\r');
 putch('\n');
}

void puts(char*s){
 while(*s){
  putch(*s);
  ++s;
 }
 newline();
}

char kbhit(){
 char c;
 asm(
  "movb $1,%%ah\n"
  "int $0x16\n"
  "setnzb %0"
  :"=g"(c)
  :
 );
 return c;
}

char kbhit2(){
 char c;
 asm(
  "movb $0x0b,%%ah\n"
  "int $0x21\n"
  :"=a"(c)
  :
 );
 return c;
}

char getch(){
 char c;
 asm(
  "movb $0,%%ah\n"
  "int $0x16\n"
  :"=a"(c)
  :
 );
 return c;
}

Initial URL


Initial Description


Initial Title
DOS stdin stdout inline ASM

Initial Tags


Initial Language
C