Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ia32/src/asm.S

    r22c3444 rb5382d4f  
    428428 * Since the EGA can only display Extended ASCII (usually
    429429 * ISO Latin 1) characters, some of the Unicode characters
    430  * can be displayed in a wrong way. Only newline and backspace
    431  * are interpreted, all other characters (even unprintable) are
     430 * can be displayed in a wrong way. Only the newline character
     431 * is interpreted, all other characters (even unprintable) are
    432432 * printed verbatim.
    433433 *
     
    481481       
    482482        cmp $0x0a, %al
    483         jne early_putchar_backspace
     483        jne early_putchar_print
    484484       
    485485                /* Interpret newline */
     
    495495                subw %dx, %bx
    496496               
    497                 jmp early_putchar_skip
    498        
    499         early_putchar_backspace:
    500        
    501                 cmp $0x08, %al
    502                 jne early_putchar_print
    503                
    504                 /* Interpret backspace */
    505                
    506                 cmp $0x0000, %bx
    507                 je early_putchar_skip
    508                
    509                 dec %bx
    510                 jmp early_putchar_skip
     497                jmp early_putchar_newline
    511498       
    512499        early_putchar_print:
     
    518505                inc %bx
    519506       
    520         early_putchar_skip:
     507        early_putchar_newline:
    521508       
    522509        /* Sanity check for the cursor on the last line */
     
    527514                movl $(PA2KA(0xb80a0)), %esi
    528515                movl $(PA2KA(0xb8000)), %edi
    529                 movl $960, %ecx
    530                 rep movsl
     516                movl $1920, %ecx
     517                rep movsw
    531518               
    532519                /* Clear the 24th row */
    533520                xorl %eax, %eax
    534                 movl $40, %ecx
    535                 rep stosl
     521                movl $80, %ecx
     522                rep stosw
    536523               
    537524                /* Go to row 24 */
Note: See TracChangeset for help on using the changeset viewer.