Situazione veramente strana

di il
2 risposte

Situazione veramente strana

Premetto che è da poco iniziato ad usare l' assembly.
lo sto imparando da auto didatta
praticamante ho scritto un simil-programma che usa delle interrupt del bios per stampare un carattere su schermo:
l' ho compilato con NASM
ORG 0100h

MOV al,00h
MOV al,03h
INT 10h

MOV ah,0eh
MOV al,'A'
INT 10

MOV ah,00h
INT 16h
   
MOV ah,4ch
INT 21h
non compare il carattere "A"
si apre una finestra in stile DOS, e quando premo un pulsante si chiude
cosa ho sbagliato?
il codice è semplice non dovrei aver dimenticato nulla
mi date una mano?
grazie

2 Risposte

  • Re: Situazione veramente strana

    Credo di avere sbagliato a non indicare il valore di BH
    esso viene tralasciato nella modalita grafica, ma io uso la modalità testo
    mi date una mano?
  • Re: Situazione veramente strana

    Se il codice che hai postato e quello reale eccoti gli errori:
    ORG 0100h

    MOV al,00h ; dovevi usare mov ah e non al in quanto i servizi degli interrupt si attivano fissando ah.
    MOV al,03h
    INT 10h

    MOV ah,0eh
    MOV al,'A'
    INT 10 ; immagino che volevi usare l'interrupt 10h e non l'interrupt 0a quest'ultimo e riservato alla gestione interna della memoria. dovevi porre l'h dopo il 10

    MOV ah,00h ;qui più che una mov e consigliabile xor ax,ax inquato il registro al resterebbe preimpostato e ti potrebbe dare dei problemi.
    INT 16h

    in blu ti ho postato un consiglio mentre in rosso stanno gli errori.
    spero di esserti stato utile saluti smalldragon
Devi accedere o registrarti per scrivere nel forum
2 risposte