c++与汇编混合编程

2013-04-10 11:38:59 · 作者: · 浏览: 193

  //VC内联汇编程(www.cppentry.com)序一

  #include <stdio.h>

  char szformat[] = "\n%s %s\n\n" ;

  char szHello[] = "你好Hello" ;

  char szWorld[] = "世界world!" ;

  void main()

  {

  __asm

  {

  MOV EAX,OFFSET szWorld

  PUSH EAX

  MOV EAX,OFFSET szHello

  PUSH EAX

  MOV EAX,OFFSET szformat

  PUSH EAX

  CALL printf

  //内联汇编调用C函数必须自己清除堆栈

  //用不使用的EBX寄存器清除堆栈,或ADD ESP, 12

  POP EBX

  POP EBX

  POP EBX

  }

  }