sandor78
08-10-2004, 14:14
Da un po di tempo voglio realizzre qualche applicazione in C usando istruzioni in assembler. qui di seguito riporto il programma che ho implementato:
#include <stdio.h>
#pragma inline
void prova(char);
void main()
{
char carattere;
scanf("%C\n",&carattere);
prova(carattere);
}
void prova(char simbolo)
{
__asm mov dl,simbolo;
__asm mov ah,2;
__asm int 21h;
}
il compilatore (Visual C++) mi da il seguente errore in run-time quando arriva all' istruzione "__asm int 21":
l'istruzione a "=0x0040109d" ha fatto riferimento alla memoria "0=xffffffffff". La memoria non poteva essere read
Come devo gestire gli interrupts???
#include <stdio.h>
#pragma inline
void prova(char);
void main()
{
char carattere;
scanf("%C\n",&carattere);
prova(carattere);
}
void prova(char simbolo)
{
__asm mov dl,simbolo;
__asm mov ah,2;
__asm int 21h;
}
il compilatore (Visual C++) mi da il seguente errore in run-time quando arriva all' istruzione "__asm int 21":
l'istruzione a "=0x0040109d" ha fatto riferimento alla memoria "0=xffffffffff". La memoria non poteva essere read
Come devo gestire gli interrupts???