www.pudn.com > DOS保护模式下汇编程序设计.zip > EXAMPLE2.C
/* The following Microsoft C 7.0 program should be linked with the assembly language library in Example 2. Combine the library with XLIB.LIB using the Microsoft Lib utility. The C program first initializes XLIB. Next, it creates a float array. A control block for SUMARRAY is then constructed and the call to SUMARRAY is executed. Finally, the condition code in the control block is inspected and results are printed. */ #include#include extern long __far __pascal LINADR(void __far *ptr); extern void __far __pascal SUMARRAY(void __far *ptr); struct arraydata { long condcode; long n; long address; float sum; } ad; float a[101]; main() { int i; long temp; temp = INITXLIB(); if (temp != 0) { printf("Initialization Error: %lX\n",temp); return 0; } for(i = 0; i <= 100; i++) a[i] = i; ad.condcode = 0; ad.n = 50; ad.address = LINADR(a); SUMARRAY(&ad); if (ad.condcode != 0) { printf("Error: %lX\n",ad.condcode); return 0; } printf("Sum: %f\n",ad.sum); }