是否有任何中断可以让我清除 NASM 中的控制台窗口?还是我必须使用一些技巧才能获得这样的效果?
问问题
2238 次
1 回答
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,一个用汇编语言编写的简单操作系统。
于 2013-05-13T19:13:51.253 回答