Mr.屎壳螂 发表于 2014-10-29 16:34:10

从书上抄了一段代码,但是一直报错,,编译不出错...求助~

#include<stdio.h>
#include<stdlib.h>
voidmain(void){
        unsigned short data={2235,3278,581,2561,357,123,3,5456,45342,564};
        unsigned short maxv,minv;
        unsigned short *data_point;
        data_point=data;
        printf("Find max/min data using asm:\n");
        __asm{
                mov esi,data_point
      mov ecx,9
                mov ax,
                mov bx,ax
addr2:add esi,2
                cmp ,ax
                jc findmin
                jz next
                mov ax,
                jmp next
findmin: cmp ,bx
      inc next
                mov bx,
next:    loop addr2
      mov maxv,ax
                mov minv,bx
        }
        printf("Mix is %d\n",maxv);
        printf("Min is %d\n",minv);
}
是取最大最小数的.

风之残月 发表于 2014-11-8 21:48:22

把findmin处的inc next 改为 jnb next,意思是当 >= bx时跳转到 next 处

Mr.屎壳螂 发表于 2014-11-9 20:22:19

风之残月 发表于 2014-11-8 21:48
把findmin处的inc next 改为 jnb next,意思是当 >= bx时跳转到 next 处

3Q已经找到错了,非常感谢

幼稚的小唐 发表于 2014-11-10 17:29:21

汇编加C啊,不懂
页: [1]
查看完整版本: 从书上抄了一段代码,但是一直报错,,编译不出错...求助~