Chinaunix首页 | 论坛 | 博客
  • 博客访问: 196925
  • 博文数量: 63
  • 博客积分: 1970
  • 博客等级: 上尉
  • 技术积分: 600
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-22 14:26
文章分类

全部博文(63)

文章存档

2013年(2)

2012年(11)

2011年(19)

2010年(6)

2007年(11)

2006年(14)

分类:

2006-12-14 17:19:38

 

惭愧,到今天就只会这么简单的汇编程序,汇编语言要猛补一下。记录一下我第一个简单的汇编程序吧。

 1 #include  < windows.h >
 2
 3 int  a[]  = { 1 , 2 , 3 , 4 , 5 , 6 } ;
 4 int  b[]  = { 2 , 2 , 3 , 4 , 5 , 6 } ;
 5 int  c[]  = { 2 , 2 , 3 , 4 , 5 , 6 } ;
 6
 7 BOOL Compare( int   * a, int   * b, int  len)
 8 {
 9  BOOL bRet  =  FALSE;
10  __asm
11   {
12   MOV ECX, len // 将a的长度放到ECX中
13   MOV EDX, len // 将b的长度放到EDX中
14   MOV ESI, a  // 将a指针的值放到ESI中
15   MOV EDI, b  // 将b指针的值放到EDI中
16   REP CMPSD  // 按4个字节来比较ESI和EDI中的值,长度在ECX和EDX中给出
17   JNZ SETFLAG  // 如果不相等条SETFLAG
18   MOV bRet, TRUE // 相等就设置bRet为TRUE
19   JMP EXITREG   // 退出
20 SETFLAG:
21   MOV bRet, FALSE  // 不相等
22 EXITREG:
23  }

24   return  bRet;
25 }

26
27 int  main( int  argc,  char *  argv[])
28 {
29  BOOL bRet  =  Compare(a,b, 6 );
30  bRet  =  Compare(b,c, 6 );
31   return   0 ;
32 }

33
posted on 2006-08-16 21:41 笨笨 阅读(420) 评论(0)  编辑 收藏 收藏至365Key
标题
阅读(961) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~