Ignore:
File:
1 edited

Legend:

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

    r22c3444 rb5382d4f  
    347347 * Since the EGA can only display Extended ASCII (usually
    348348 * ISO Latin 1) characters, some of the Unicode characters
    349  * can be displayed in a wrong way. Only newline and backspace
    350  * are interpreted, all other characters (even unprintable) are
     349 * can be displayed in a wrong way. Only the newline character
     350 * is interpreted, all other characters (even unprintable) are
    351351 * printed verbatim.
    352352 *
     
    399399       
    400400        cmp $0x0a, %al
    401         jne early_putchar_backspace
     401        jne early_putchar_print
    402402       
    403403                /* Interpret newline */
     
    413413                subw %dx, %bx
    414414               
    415                 jmp early_putchar_skip
    416        
    417         early_putchar_backspace:
    418        
    419                 cmp $0x08, %al
    420                 jne early_putchar_print
    421                
    422                 /* Interpret backspace */
    423                
    424                 cmp $0x0000, %bx
    425                 je early_putchar_skip
    426                
    427                 dec %bx
    428                 jmp early_putchar_skip
     415                jmp early_putchar_newline
    429416       
    430417        early_putchar_print:
     
    436423                inc %bx
    437424       
    438         early_putchar_skip:
     425        early_putchar_newline:
    439426       
    440427        /* Sanity check for the cursor on the last line */
     
    445432                movq $(PA2KA(0xb80a0)), %rsi
    446433                movq $(PA2KA(0xb8000)), %rdi
    447                 movq $480, %rcx
    448                 rep movsq
     434                movq $1920, %rcx
     435                rep movsw
    449436               
    450437                /* Clear the 24th row */
    451438                xorq %rax, %rax
    452                 movq $20, %rcx
    453                 rep stosq
     439                movq $80, %rcx
     440                rep stosw
    454441               
    455442                /* Go to row 24 */
Note: See TracChangeset for help on using the changeset viewer.