2013-10-25 3 views
0

Linux 용 NASM을 사용하고 있으며 보호 모드에서 화면을 지우는 방법을 알고 싶습니다. int10h를 사용하는 솔루션을 찾았지만 보호 모드에서는 int80h 만 사용할 수 있습니다. 미리 감사드립니다.보호 모드에서 화면을 지우는 방법

답변

0

당신은 터미널이 지워지지 않도록 표준 출력에 \x1b[2J를 작성하고 NASM 예를 들면, \x1b[H를 사용하여 커서의 위치를 ​​고정 할 수 있습니다

.globl _start 

.data 
    clr  : .ascii "\x1b[2J\x1b[H" 
    clrlen = . - clr 

.text 
_start: 
    movl $4, %eax 
    movl $1, %ebx 
    movl $clr, %ecx 
    movl $clrlen, %edx 
    int $0x80 

    movl $1, %eax 
    movl $0, %ebx 
    int $0x80 
: GNU 어셈블러

global _start 

section .data 
    clr db 0x1b, "[2J", 0x1b, "[H" 
    clrlen equ $ - clr 

section .text 
_start: 
    mov eax, 4 
    mov ebx, 1 
    mov ecx, clr 
    mov edx, clrlen 
    int 0x80 

    mov eax, 1 
    mov ebx, 0 
    int 0x80 

관련 문제