1 /* ----------------------------------------------------------------------- * 2 * 3 * Copyright 2001-2008 H. Peter Anvin - All Rights Reserved 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation, Inc., 53 Temple Place Ste 330, 8 * Boston MA 02111-1307, USA; either version 2 of the License, or 9 * (at your option) any later version; incorporated herein by reference. 10 * 11 * ----------------------------------------------------------------------- */ 12 13 /* 14 * conio.c 15 * 16 * Output to the screen 17 */ 18 19 #include <stdarg.h> 20 #include "mystuff.h" 21 22 int putchar(int ch) 23 { 24 if (ch == '\n') 25 putchar('\r'); 26 asm("movb $0x02,%%ah ; int $0x21": :"d"(ch)); 27 return ch; 28 } 29 30 /* Note: doesn't put '\n' like the stdc version does */ 31 int puts(const char *s) 32 { 33 int count = 0; 34 35 while (*s) { 36 putchar(*s); 37 count++; 38 s++; 39 } 40 41 return count; 42 } 43