Ciao, spero possiate aiutarmi con il mio problema.
Volevo provare a stampare una stringa da un programma che gira senza sistema operativo.
codice:
__asm__(".code16;");
__asm__("jmpl $0x0000, $main;");
void printchar(const char var){
__asm__ __volatile__ ("int $0x10" : : "a"(0x0e00 | var), "b"(0x0007));
}
void print(char* stringa){
char* var=stringa;
while(*var != '\0'){
printchar(*var);
++var;
}
}
void main() {
print("ciao");
}
il problema è che stampa solo una "S" se uso print(), mentre se provo a stamare un singolo carattere funziona perfettamente.
Spero possiate aiutarmi, grazie in anticipo.
PS: Il compilatore è GCC sotto ubuntu