copy

copy定义在miracl.h

extern void  copy(flash,flash);

函数功能:将x轴坐标复制给y轴坐标。

参数x:x轴坐标。

参数y:y轴坐标。

1. 源码分析

copy实现在mrcore.c

void copy(flash x,flash y)
{  /* copy x to y: y=x  */
    int i,nx,ny;
    mr_small *gx,*gy;
    if (x==y || y==NULL) return;

    if (x==NULL)
    { 
        zero(y);
        return;
    }

#ifdef MR_FLASH    
    ny=mr_lent(y);
    nx=mr_lent(x);
#else
    ny=(y->len&(MR_OBITS));
    nx=(x->len&(MR_OBITS));
#endif

    gx=x->w;
    gy=y->w;

    for (i=nx;i<ny;i++)
        gy[i]=0;
    for (i=0;i<nx;i++)
        gy[i]=gx[i];
    y->len=x->len;

}

zero将参数设置为0。

如果是MR_FLASHmr_lent计算低位两字节与高位两字节的和,否则MR_OBITS与参数的长度按位与运算。

© phdlisl all right reserved,powered by GitbookUpdate in 2025-10-11

results matching ""

    No results matching ""