Мне нужно вывести некоторую строку, используя прерывание Int 65
но это дает мне ошибку, которую я использую Turbo C ++ 4.0 Windows 7 Windows 8 64-битная версия
#include<stdio.h>
#include<fcntl.h>
#include<io.h>
#include<BIOS.H>
#include<DOS.h>
void interrupt (*oldint65)( );
char st[80] = {"Hello World$"};
void interrupt newint65(void);
void main()
{
oldint65 = getvect(0x65);
setvect(0x65, newint65);
geninterrupt (0x65);
geninterrupt (0x65);
geninterrupt (0x65);
setvect(0x65, oldint65);
}
void interrupt newint65( )
{
_AH = 0x09;
_DX=(unsigned int)st;
geninterrupt (0x21);
}
я приложил изображение ошибки, пожалуйста, помогите мне, где я делаю неправильно
Определение функции не совпадает / Столкновение с объявлением.
Проверьте:
void interrupt (*oldint65)();
void interrupt *newint65(void);
Одно прерывание имени Не может иметь 2 объявлений ..
Изменение в программе должно быть следующим:
Декларация:
void interrupt(*newint65)(void);
Определение:
void interrupt(*newint65)( )
{
_AH = 0x09;
_DX=(unsigned int)st;
geninterrupt (0x21);
}
Пытаться:
Декларация:
void interrupt_newint65(void);
Определение:
void interrupt_newint65( )
{
_AH = 0x09;
_DX=(unsigned int)st;
geninterrupt (0x21);
}