[BACK]Return to gf2m_mul_w.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / asm

Annotation of OpenXM_contrib2/asir2000/asm/gf2m_mul_w.c, Revision 1.1

1.1     ! noro        1: /* $OpenXM: OpenXM/src/asir99/asm/gf2m_mul_w.c,v 1.1.1.1 1999/11/10 08:12:25 noro Exp $ */
        !             2: unsigned int NNgf2m_mul_11(unsigned int *h, unsigned int a, unsigned int b)
        !             3: {
        !             4:        __asm
        !             5:        {
        !             6:        push ebx
        !             7:        mov ecx,a
        !             8:        mov edx,b
        !             9: GF2ML0:
        !            10:        xor ebx,ebx
        !            11:        xor eax,eax
        !            12:        add edx,edx
        !            13:        jnc GF2ML1
        !            14:        xor eax,ecx
        !            15: GF2ML1:
        !            16:        add eax,eax
        !            17:        adc ebx,ebx
        !            18:        add edx,edx
        !            19:        jnc GF2ML2
        !            20:        xor eax,ecx
        !            21: GF2ML2:
        !            22:        add eax,eax
        !            23:        adc ebx,ebx
        !            24:        add edx,edx
        !            25:        jnc GF2ML3
        !            26:        xor eax,ecx
        !            27: GF2ML3:
        !            28:        add eax,eax
        !            29:        adc ebx,ebx
        !            30:        add edx,edx
        !            31:        jnc GF2ML4
        !            32:        xor eax,ecx
        !            33: GF2ML4:
        !            34:        add eax,eax
        !            35:        adc ebx,ebx
        !            36:        add edx,edx
        !            37:        jnc GF2ML5
        !            38:        xor eax,ecx
        !            39: GF2ML5:
        !            40:        add eax,eax
        !            41:        adc ebx,ebx
        !            42:        add edx,edx
        !            43:        jnc GF2ML6
        !            44:        xor eax,ecx
        !            45: GF2ML6:
        !            46:        add eax,eax
        !            47:        adc ebx,ebx
        !            48:        add edx,edx
        !            49:        jnc GF2ML7
        !            50:        xor eax,ecx
        !            51: GF2ML7:
        !            52:        add eax,eax
        !            53:        adc ebx,ebx
        !            54:        add edx,edx
        !            55:        jnc GF2ML8
        !            56:        xor eax,ecx
        !            57: GF2ML8:
        !            58:        add eax,eax
        !            59:        adc ebx,ebx
        !            60:        add edx,edx
        !            61:        jnc GF2ML9
        !            62:        xor eax,ecx
        !            63: GF2ML9:
        !            64:        add eax,eax
        !            65:        adc ebx,ebx
        !            66:        add edx,edx
        !            67:        jnc GF2ML10
        !            68:        xor eax,ecx
        !            69: GF2ML10:
        !            70:        add eax,eax
        !            71:        adc ebx,ebx
        !            72:        add edx,edx
        !            73:        jnc GF2ML11
        !            74:        xor eax,ecx
        !            75: GF2ML11:
        !            76:        add eax,eax
        !            77:        adc ebx,ebx
        !            78:        add edx,edx
        !            79:        jnc GF2ML12
        !            80:        xor eax,ecx
        !            81: GF2ML12:
        !            82:        add eax,eax
        !            83:        adc ebx,ebx
        !            84:        add edx,edx
        !            85:        jnc GF2ML13
        !            86:        xor eax,ecx
        !            87: GF2ML13:
        !            88:        add eax,eax
        !            89:        adc ebx,ebx
        !            90:        add edx,edx
        !            91:        jnc GF2ML14
        !            92:        xor eax,ecx
        !            93: GF2ML14:
        !            94:        add eax,eax
        !            95:        adc ebx,ebx
        !            96:        add edx,edx
        !            97:        jnc GF2ML15
        !            98:        xor eax,ecx
        !            99: GF2ML15:
        !           100:        add eax,eax
        !           101:        adc ebx,ebx
        !           102:        add edx,edx
        !           103:        jnc GF2ML16
        !           104:        xor eax,ecx
        !           105: GF2ML16:
        !           106:        add eax,eax
        !           107:        adc ebx,ebx
        !           108:        add edx,edx
        !           109:        jnc GF2ML17
        !           110:        xor eax,ecx
        !           111: GF2ML17:
        !           112:        add eax,eax
        !           113:        adc ebx,ebx
        !           114:        add edx,edx
        !           115:        jnc GF2ML18
        !           116:        xor eax,ecx
        !           117: GF2ML18:
        !           118:        add eax,eax
        !           119:        adc ebx,ebx
        !           120:        add edx,edx
        !           121:        jnc GF2ML19
        !           122:        xor eax,ecx
        !           123: GF2ML19:
        !           124:        add eax,eax
        !           125:        adc ebx,ebx
        !           126:        add edx,edx
        !           127:        jnc GF2ML20
        !           128:        xor eax,ecx
        !           129: GF2ML20:
        !           130:        add eax,eax
        !           131:        adc ebx,ebx
        !           132:        add edx,edx
        !           133:        jnc GF2ML21
        !           134:        xor eax,ecx
        !           135: GF2ML21:
        !           136:        add eax,eax
        !           137:        adc ebx,ebx
        !           138:        add edx,edx
        !           139:        jnc GF2ML22
        !           140:        xor eax,ecx
        !           141: GF2ML22:
        !           142:        add eax,eax
        !           143:        adc ebx,ebx
        !           144:        add edx,edx
        !           145:        jnc GF2ML23
        !           146:        xor eax,ecx
        !           147: GF2ML23:
        !           148:        add eax,eax
        !           149:        adc ebx,ebx
        !           150:        add edx,edx
        !           151:        jnc GF2ML24
        !           152:        xor eax,ecx
        !           153: GF2ML24:
        !           154:        add eax,eax
        !           155:        adc ebx,ebx
        !           156:        add edx,edx
        !           157:        jnc GF2ML25
        !           158:        xor eax,ecx
        !           159: GF2ML25:
        !           160:        add eax,eax
        !           161:        adc ebx,ebx
        !           162:        add edx,edx
        !           163:        jnc GF2ML26
        !           164:        xor eax,ecx
        !           165: GF2ML26:
        !           166:        add eax,eax
        !           167:        adc ebx,ebx
        !           168:        add edx,edx
        !           169:        jnc GF2ML27
        !           170:        xor eax,ecx
        !           171: GF2ML27:
        !           172:        add eax,eax
        !           173:        adc ebx,ebx
        !           174:        add edx,edx
        !           175:        jnc GF2ML28
        !           176:        xor eax,ecx
        !           177: GF2ML28:
        !           178:        add eax,eax
        !           179:        adc ebx,ebx
        !           180:        add edx,edx
        !           181:        jnc GF2ML29
        !           182:        xor eax,ecx
        !           183: GF2ML29:
        !           184:        add eax,eax
        !           185:        adc ebx,ebx
        !           186:        add edx,edx
        !           187:        jnc GF2ML30
        !           188:        xor eax,ecx
        !           189: GF2ML30:
        !           190:        add eax,eax
        !           191:        adc ebx,ebx
        !           192:        add edx,edx
        !           193:        jnc GF2ML31
        !           194:        xor eax,ecx
        !           195: GF2ML31:
        !           196:        add eax,eax
        !           197:        adc ebx,ebx
        !           198:        add edx,edx
        !           199:        jnc GF2ML32
        !           200:        xor eax,ecx
        !           201: GF2ML32:
        !           202:        mov ecx,h
        !           203:        mov DWORD PTR [ecx], ebx
        !           204:        pop ebx
        !           205:        }
        !           206: }
        !           207:
        !           208: unsigned int NNgf2m_mul_1h(unsigned int *h, unsigned int a, unsigned int b)
        !           209: {
        !           210:        __asm
        !           211:        {
        !           212:        push ebx
        !           213:        mov ecx,a
        !           214:        mov edx,b
        !           215:        shl edx,0x10
        !           216: GF2MLL0:
        !           217:        xor ebx,ebx
        !           218:        xor eax,eax
        !           219:        add edx,edx
        !           220:        jnc GF2MLL1
        !           221:        xor eax,ecx
        !           222: GF2MLL1:
        !           223:        add eax,eax
        !           224:        adc ebx,ebx
        !           225:        add edx,edx
        !           226:        jnc GF2MLL2
        !           227:        xor eax,ecx
        !           228: GF2MLL2:
        !           229:        add eax,eax
        !           230:        adc ebx,ebx
        !           231:        add edx,edx
        !           232:        jnc GF2MLL3
        !           233:        xor eax,ecx
        !           234: GF2MLL3:
        !           235:        add eax,eax
        !           236:        adc ebx,ebx
        !           237:        add edx,edx
        !           238:        jnc GF2MLL4
        !           239:        xor eax,ecx
        !           240: GF2MLL4:
        !           241:        add eax,eax
        !           242:        adc ebx,ebx
        !           243:        add edx,edx
        !           244:        jnc GF2MLL5
        !           245:        xor eax,ecx
        !           246: GF2MLL5:
        !           247:        add eax,eax
        !           248:        adc ebx,ebx
        !           249:        add edx,edx
        !           250:        jnc GF2MLL6
        !           251:        xor eax,ecx
        !           252: GF2MLL6:
        !           253:        add eax,eax
        !           254:        adc ebx,ebx
        !           255:        add edx,edx
        !           256:        jnc GF2MLL7
        !           257:        xor eax,ecx
        !           258: GF2MLL7:
        !           259:        add eax,eax
        !           260:        adc ebx,ebx
        !           261:        add edx,edx
        !           262:        jnc GF2MLL8
        !           263:        xor eax,ecx
        !           264: GF2MLL8:
        !           265:        add eax,eax
        !           266:        adc ebx,ebx
        !           267:        add edx,edx
        !           268:        jnc GF2MLL9
        !           269:        xor eax,ecx
        !           270: GF2MLL9:
        !           271:        add eax,eax
        !           272:        adc ebx,ebx
        !           273:        add edx,edx
        !           274:        jnc GF2MLL10
        !           275:        xor eax,ecx
        !           276: GF2MLL10:
        !           277:        add eax,eax
        !           278:        adc ebx,ebx
        !           279:        add edx,edx
        !           280:        jnc GF2MLL11
        !           281:        xor eax,ecx
        !           282: GF2MLL11:
        !           283:        add eax,eax
        !           284:        adc ebx,ebx
        !           285:        add edx,edx
        !           286:        jnc GF2MLL12
        !           287:        xor eax,ecx
        !           288: GF2MLL12:
        !           289:        add eax,eax
        !           290:        adc ebx,ebx
        !           291:        add edx,edx
        !           292:        jnc GF2MLL13
        !           293:        xor eax,ecx
        !           294: GF2MLL13:
        !           295:        add eax,eax
        !           296:        adc ebx,ebx
        !           297:        add edx,edx
        !           298:        jnc GF2MLL14
        !           299:        xor eax,ecx
        !           300: GF2MLL14:
        !           301:        add eax,eax
        !           302:        adc ebx,ebx
        !           303:        add edx,edx
        !           304:        jnc GF2MLL15
        !           305:        xor eax,ecx
        !           306: GF2MLL15:
        !           307:        add eax,eax
        !           308:        adc ebx,ebx
        !           309:        add edx,edx
        !           310:        jnc GF2MLL16
        !           311:        xor eax,ecx
        !           312: GF2MLL16:
        !           313:        mov ecx,h
        !           314:        mov DWORD PTR [ecx],ebx;
        !           315:        pop ebx
        !           316:        }
        !           317: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>