Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [ASM] Interrupt del BIOS su linux

    Ciao
    Ho provato a fare un programma su linux, che richiama l'interrupt 10h del BIOS per stampare un carattere. IL problema e' che mi da errore proprio nella chiamata dell'int. L'errore e' segmentation Fault, quindi qualcosa va a scrivere dove non deve... ma cosa? la mia e' una semplice chiamata:

    codice:
    asmFunc:
    	enter 0, 0
    	pusha
    
    	mov ah, 0Ah
    	mov al, 'C'
    	mov bx, 0001h
    	mov cx, 01h
    	int 10h ; qui da errore, se lo commento nessun problema
    
    	popa
    	mov eax, 0
    	leave
    	ret
    L a sintassi e' per NASM

    quale potrebbe essere il problema? che Linux non usa gli stessi interrupt? a me sebra strano, dato che sono gli int per il BIOS.
    Grazie
    ciao
    #exclude <windows.h>
    Powered by Gentoo GNU/Linux
    Cos'e' l'impossibile se non una questione di tempo?
    Riesumare i post vecchi non e' sbagliato, e' una risposta o la continuazione di un thread. Meglio riesumare che creare di nuovi :]

  2. #2
    Linux non permette queste cose.
    - "Boy, the food at this place is really terrible."
    - "Yeah, I know, and such ... small portions."

  3. #3

    La cosa mi stupisce un po... perche' cercando in giro ho letto proprio il contrario... e inoltre come e' possibile che Linux non gestisca gli intterupt del BIOS? Allora come fa a gestire tutte le periferiche??
    Bho...
    sta di fatto che il mio errore puo' essere causato dal fatto che NASM non esegue gli INT. Gli unici int che supporta solo INT 1 e INT 3.
    Pero' devo informarmi ancora...
    Se mi spieghi bene perche' Linux non supporta questi Interrupt e come faccio ad aggirarli, mi fai un piacere.
    grazie
    ciao
    #exclude <windows.h>
    Powered by Gentoo GNU/Linux
    Cos'e' l'impossibile se non una questione di tempo?
    Riesumare i post vecchi non e' sbagliato, e' una risposta o la continuazione di un thread. Meglio riesumare che creare di nuovi :]

  4. #4
    Mi sono spiegato male, scusa. Linux non permette ai programmi in user space di fare quello che tu hai in mente. L'unico modo per accedere alle periferiche è di usare le chiamate di sistema.
    - "Boy, the food at this place is really terrible."
    - "Yeah, I know, and such ... small portions."

  5. #5
    ahhhhh
    fiuuuu
    mi savo spaventando :gren:
    ma si puo' evitare questo?
    grazie
    ciao
    #exclude <windows.h>
    Powered by Gentoo GNU/Linux
    Cos'e' l'impossibile se non una questione di tempo?
    Riesumare i post vecchi non e' sbagliato, e' una risposta o la continuazione di un thread. Meglio riesumare che creare di nuovi :]

  6. #6
    Vuoi dire se si puoi aggirare questa cosa?
    - "Boy, the food at this place is really terrible."
    - "Yeah, I know, and such ... small portions."

  7. #7
    si
    a scuola uso gli interrupt del bios.
    E poi, li utilizzere comunque anche per le mie applicazioni, quindi devo capire come fare ad accedervi.
    Grassie
    #exclude <windows.h>
    Powered by Gentoo GNU/Linux
    Cos'e' l'impossibile se non una questione di tempo?
    Riesumare i post vecchi non e' sbagliato, e' una risposta o la continuazione di un thread. Meglio riesumare che creare di nuovi :]

  8. #8
    Hmm..m'ero sbagliato..qualcosa si può fare....leggi quì
    - "Boy, the food at this place is really terrible."
    - "Yeah, I know, and such ... small portions."

  9. #9
    grazie mille.
    Io ho cercato un po, ma senza successo. Grazie a te espando le mie possibilita'
    ciao
    :metallica
    #exclude <windows.h>
    Powered by Gentoo GNU/Linux
    Cos'e' l'impossibile se non una questione di tempo?
    Riesumare i post vecchi non e' sbagliato, e' una risposta o la continuazione di un thread. Meglio riesumare che creare di nuovi :]

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.