Index: kernel/arch/ia32/src/asm.S
===================================================================
--- kernel/arch/ia32/src/asm.S	(revision b5382d4f551b38012fe4db27dd79c095f5e09706)
+++ kernel/arch/ia32/src/asm.S	(revision fef504a2ec75b492fbfc942a4a1caa99b045fd64)
@@ -428,6 +428,6 @@
  * Since the EGA can only display Extended ASCII (usually
  * ISO Latin 1) characters, some of the Unicode characters
- * can be displayed in a wrong way. Only the newline character
- * is interpreted, all other characters (even unprintable) are
+ * can be displayed in a wrong way. Only newline and backspace
+ * are interpreted, all other characters (even unprintable) are
  * printed verbatim.
  *
@@ -481,5 +481,5 @@
 	
 	cmp $0x0a, %al
-	jne early_putchar_print
+	jne early_putchar_backspace
 	
 		/* Interpret newline */
@@ -495,5 +495,18 @@
 		subw %dx, %bx
 		
-		jmp early_putchar_newline
+		jmp early_putchar_skip
+	
+	early_putchar_backspace:
+	
+		cmp $0x08, %al
+		jne early_putchar_print
+		
+		/* Interpret backspace */
+		
+		cmp $0x0000, %bx
+		je early_putchar_skip
+		
+		dec %bx
+		jmp early_putchar_skip
 	
 	early_putchar_print:
@@ -505,5 +518,5 @@
 		inc %bx
 	
-	early_putchar_newline:
+	early_putchar_skip:
 	
 	/* Sanity check for the cursor on the last line */
