C 语言有标准函数集合,被称为标准 C 库 (Standard C Library)。同样的函数还可以用于 C++ 程序,因此,也可用于与 C 和 C++ 程序连接的汇编模块。
汇编模块调用 C 函数时,就必须包含函数的原型。一般通过访问 C++ 编译器的帮助系统可以找到 C 函数原型。程序调用 C 函数时,需要先将 C 函数原型转换为汇编语言原型。
printf 函数
下面是 printf 函数的 C/C++ 语言原型,第一个参数为字符指针,其后跟了一组可变数量的参数:
int printf(
const char * format [, argument]...
);
C/C++ 编译器的帮助库可以查阅到 printf 函数文档。汇编语言中与之等效的函数原型将 char* 改为 PTR BYTE,将可变长度参数列表的类型改为 VARARG:
printf PROTO C, pString:PTR BYTE, args:VARARG
另一个有用的函数是 scanf,用于从标准输入(键盘)接收字符、数字和字符串,并将输入数值分配给变量:
scanf PROTO C, format:PTR BYTE, args:VARARG
用 printf 函数显示格式化实数
编写汇编函数格式化并显示浮点数不是一件容易的事。与其由程序员自行编码,还不如利用 C 库的 printf 函数。需要创建 C 或 C++ 的启动模块,并将其与汇编代码链接。
下面给出了用 Visual C++.NET 创建这种程序的过程:
1) 用 Visual