Hola a todos, verán estaba programando en C cuando pense qué podía hacer para borrar la ventana de consola (el cls de windows, vamos) en vez de hacer unos cuantos printf("\n") cutres.
Revise mis archivos y me encontre con un code en asm que lo hacía.
Su code es éste:
Mov ax,0600h
Mov bh, 07h
Mov cx,0000h
Mov dx,184fh
Int 10h
Tras mirar como gcc trabajaba con el asm y ver que la sintaxis era AT&T
porté el code a ésto:
void cls() {
__asm__ ("movw $0x600, %ax\n"
"movb $0x7, %bh\n"
"movw $0x0, %cx\n"
"movw $0x184f, %dx\n"
"int $0x10");
}
El programa me compila, pero al usar la función cls() en la linea:
"int $0x10");
El programa de un Segmentation Fault.
Pueden decirme por qué falla ? No he portado bien el code, o es que Windows Xp no me deja usar esa interrupción ?
A ver si me pueden ayudar.
Salu2