2013-05-13 78 views
0

是否有任何中斷可以讓我清除NASM中的控制檯窗口?或者我必須使用一些技巧來獲得這樣的效果?如何清除NASM中的控制檯窗口?

+0

你必須使用一些技巧。什麼OS? – 2013-05-13 16:07:20

回答

0

這裏有一個辦法做到這一點:

; ------------------------------------------------------------------ 
; os_clear_screen -- Clears the screen to background 
; IN/OUT: Nothing (registers preserved) 

os_clear_screen: 
    pusha 

    mov dx, 0   ; Position cursor at top-left 
    call os_move_cursor 

    mov ah, 6   ; Scroll full-screen 
    mov al, 0   ; Normal white on black 
    mov bh, 7   ; 
    mov cx, 0   ; Top-left 
    mov dh, 24   ; Bottom-right 
    mov dl, 79 
    int 10h 

    popa 
    ret 


; ------------------------------------------------------------------ 
; os_move_cursor -- Moves cursor in text mode 
; IN: DH, DL = row, column; OUT: Nothing (registers preserved) 

os_move_cursor: 
    pusha 

    mov bh, 0 
    mov ah, 2 
    int 10h    ; BIOS interrupt to move cursor 

    popa 
    ret 

此代碼是不是我的,它是從MikeOS,一個簡單的操作系統彙編語言編寫的拍攝。