如何使用 Int 65H 输出字符串?

How can i output string using Int 65H?

我需要使用中断 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);
}

我附上了错误图片请帮助我哪里做错了

函数定义没有 matching/Clashing 声明.. 检查:

  • 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); 
 }