Lines Matching refs:mov
257 &mov ($v0,$s[3]); # copy s3
258 &mov (&DWP(4,"esp"),$s[2]); # save s2
259 &mov ($v1,$s[0]); # copy s0
260 &mov (&DWP(8,"esp"),$s[1]); # save s1
264 &mov ($s[0],&DWP(0,$te,$s[0],8)); # s0>>0
266 &mov ($s[3],&DWP(3,$te,$s[2],8)); # s0>>8
269 &mov ($s[2],&DWP(2,$te,$v1,8)); # s0>>16
270 &mov ($v1,$v0);
271 &mov ($s[1],&DWP(1,$te,$s[1],8)); # s0>>24
281 &mov ($v1,&DWP(4,"esp")); # restore s2
284 &mov ($v0,$v1);
293 &mov ($v0,&DWP(8,"esp")); # restore s1
296 &mov ($v1,$v0);
305 &mov ($key,$__key); # reincarnate v1 as key
316 &mov ($v1,&DWP(0,$te,$v0,8)); # 0
325 &mov ($__s0,$v1); # t[0] saved
329 &mov ($v1,&DWP(0,$te,$v0,8)); # 4
338 &mov ($s1,$v1); # s[1]=t[1]
342 &mov ($v1,&DWP(2,$te,$v0,8)); # 2
347 &mov ($v0,$s3);
353 &mov ($s2,&DWP(1,$te,$v0,8)); # 11
355 &mov ($s0,$__s0); # s[0]=t[0]
359 &mov ($key,$__key); # reincarnate v0 as key
361 &mov ($s3,&DWP(0,$te,$s3,8)); # 12
363 &mov ($s2,$v1); # s[2]=t[2]
371 &mov ("ecx",&DWP(0,$tbl,$acc,8)); # 0
374 &mov ("edx",&DWP(3,$tbl,"edx",8)); # 1
392 &mov ("ecx",&DWP(0,$tbl,$acc,8)); # 4
405 &mov ("ecx",&DWP(2,$tbl,$acc,8)); # 2
426 &mov ("ebx",&DWP(28,$key)); # t[3]
440 { my $Fn = \&mov;
450 else { &mov ($out,$s[0]); }
462 if ($i==3) { $tmp=$s[2]; &mov ($s[1],$__s0); }##%ebx
463 else { &mov ($tmp,$s[2]);
471 if ($i==3) { $tmp=$s[3]; &mov ($s[2],$__s1); }##%ecx
473 else { &mov ($tmp,$s[3]);
478 if ($i<2) { &mov (&DWP(4+4*$i,"esp"),$out); }
479 if ($i==3) { &mov ($s[3],$acc); }
491 &mov ($acc,$tmp);
495 &mov ($tmp,$s[$i]);
499 &mov ($r2,$s[$i]);
506 &mov ($tmp,0x80808080) if ($i!=1);
512 &mov ($__key,$key); # save key
519 &mov ($acc,&DWP(240,$key)); # load key->rounds
522 &mov ($__end,$acc); # end of key schedule
525 &mov ($key,&DWP(0-128,$tbl));
526 &mov ($acc,&DWP(32-128,$tbl));
527 &mov ($key,&DWP(64-128,$tbl));
528 &mov ($acc,&DWP(96-128,$tbl));
529 &mov ($key,&DWP(128-128,$tbl));
530 &mov ($acc,&DWP(160-128,$tbl));
531 &mov ($key,&DWP(192-128,$tbl));
532 &mov ($acc,&DWP(224-128,$tbl));
540 &mov ($tbl,0x80808080);
545 &mov ($key,$__key);
546 &mov ($tbl,$__tbl);
554 &mov ($__key,$key);
622 &mov ($__key,$key);
698 &mov ($key,$__key);
711 &mov ($acc,&DWP(240,$key)); # load key->rounds
714 &mov ($__end,$acc); # end of key schedule
716 &mov ($s0,0x1b1b1b1b); # magic constant
717 &mov (&DWP(8,"esp"),$s0);
718 &mov (&DWP(12,"esp"),$s0);
721 &mov ($s0,&DWP(0-128,$tbl));
722 &mov ($s1,&DWP(32-128,$tbl));
723 &mov ($s2,&DWP(64-128,$tbl));
724 &mov ($s3,&DWP(96-128,$tbl));
725 &mov ($s0,&DWP(128-128,$tbl));
726 &mov ($s1,&DWP(160-128,$tbl));
727 &mov ($s2,&DWP(192-128,$tbl));
728 &mov ($s3,&DWP(224-128,$tbl));
757 &mov ($s0,&DWP(0-128,$tbl));
759 &mov ($s1,&DWP(64-128,$tbl));
761 &mov ($s2,&DWP(128-128,$tbl));
763 &mov ($s3,&DWP(192-128,$tbl));
786 if ($i==3) { &mov ($key,$__key); }##%edx
787 else { &mov ($out,$s[0]);
791 &mov ($out,&DWP(0,$te,$out,8));
797 if ($i==3) { $tmp=$s[2]; &mov ($s[1],$__s0); }##%ebx
798 else { &mov ($tmp,$s[2]);
804 if ($i==3) { $tmp=$s[3]; &mov ($s[2],$__s1); }##%ecx
806 else { &mov ($tmp,$s[3]);
809 if ($i<2) { &mov (&DWP(4+4*$i,"esp"),$out); }
810 if ($i==3) { &mov ($s[3],$acc); }
819 if ($i==3) { &mov ($key,$__key); }##%edx
820 else { &mov ($out,$s[0]); }
824 &mov ($out,&DWP(2,$te,$out,8));
829 &mov ($tmp,&DWP(0,$te,$tmp,8));
833 if ($i==3) { $tmp=$s[2]; &mov ($s[1],$__s0); }##%ebx
834 else { &mov ($tmp,$s[2]);
838 &mov ($tmp,&DWP(0,$te,$tmp,8));
842 if ($i==3) { $tmp=$s[3]; &mov ($s[2],$__s1); }##%ecx
844 else { &mov ($tmp,$s[3]);
846 &mov ($tmp,&DWP(2,$te,$tmp,8));
849 if ($i<2) { &mov (&DWP(4+4*$i,"esp"),$out); }
850 if ($i==3) { &mov ($s[3],$acc); }
857 &mov ($s2="esi",$acc="ecx");
861 &mov ($__key,$key); # save key
868 &mov ($acc,&DWP(240,$key)); # load key->rounds
873 &mov ($__end,$acc); # end of key schedule
890 &mov ($__key,$key);
915 &mov ($__key,$key); # advance rd_key
932 &mov ($__key,$key); # advance rd_key
952 &mov ($s1="ebx",$key="edi");
953 &mov ($s2="ecx",$acc="esi");
1175 &mov ($acc,&wparam(0)); # load inp
1176 &mov ($key,&wparam(2)); # load key
1178 &mov ($s0,"esp");
1189 &mov ($_esp,$s0); # save stack pointer
1210 &mov ("esp",$_esp); # restore stack pointer
1211 &mov ($acc,&wparam(1)); # load out
1218 &mov ($_tbl,$tbl);
1219 &mov ($s0,&DWP(0,$acc)); # load input data
1220 &mov ($s1,&DWP(4,$acc));
1221 &mov ($s2,&DWP(8,$acc));
1222 &mov ($s3,&DWP(12,$acc));
1224 &mov ("esp",$_esp); # restore stack pointer
1225 &mov ($acc,&wparam(1)); # load out
1226 &mov (&DWP(0,$acc),$s0); # write output data
1227 &mov (&DWP(4,$acc),$s1);
1228 &mov (&DWP(8,$acc),$s2);
1229 &mov (&DWP(12,$acc),$s3);
1239 { my $Fn = \&mov;
1250 else { &mov ($out,$s[0]); }
1260 if ($i==3) { $tmp=$s[2]; &mov ($s[1],$acc); }
1261 else { mov ($tmp,$s[2]); }
1269 else { &mov ($tmp,$s[3]); }
1274 if ($i<2) { &mov (&DWP(4+4*$i,"esp"),$out); }
1287 &mov ($tmp,0x80808080);
1289 &mov ($acc,$tmp);
1296 &mov ($tmp,0x80808080);
1299 &mov ($acc,$tmp);
1307 &mov ($tmp,0x80808080);
1310 &mov ($acc,$tmp);
1330 &mov ($s[0],$__s0) if($i==2); #prefetch $s0
1331 &mov ($s[1],$__s1) if($i==3); #prefetch $s1
1332 &mov ($s[2],$__s2) if($i==1);
1335 &mov ($s[3],$__s3) if($i==1);
1336 &mov (&DWP(4+4*$i,"esp"),$s[$i]) if($i>=2);
1341 &mov ($__key,$key); # save key
1348 &mov ($acc,&DWP(240,$key)); # load key->rounds
1352 &mov ($__end,$acc); # end of key schedule
1355 &mov ($key,&DWP(0-128,$tbl));
1356 &mov ($acc,&DWP(32-128,$tbl));
1357 &mov ($key,&DWP(64-128,$tbl));
1358 &mov ($acc,&DWP(96-128,$tbl));
1359 &mov ($key,&DWP(128-128,$tbl));
1360 &mov ($acc,&DWP(160-128,$tbl));
1361 &mov ($key,&DWP(192-128,$tbl));
1362 &mov ($acc,&DWP(224-128,$tbl));
1374 &mov ($key,$__key);
1375 &mov ($tbl,$__tbl);
1383 &mov ($__key,$key);
1409 &mov ($__key,$key);
1485 &mov ($key,$__key);
1498 &mov ($acc,&DWP(240,$key)); # load key->rounds
1501 &mov ($__end,$acc); # end of key schedule
1503 &mov ($s0,0x1b1b1b1b); # magic constant
1504 &mov (&DWP(8,"esp"),$s0);
1505 &mov (&DWP(12,"esp"),$s0);
1508 &mov ($s0,&DWP(0-128,$tbl));
1509 &mov ($s1,&DWP(32-128,$tbl));
1510 &mov ($s2,&DWP(64-128,$tbl));
1511 &mov ($s3,&DWP(96-128,$tbl));
1512 &mov ($s0,&DWP(128-128,$tbl));
1513 &mov ($s1,&DWP(160-128,$tbl));
1514 &mov ($s2,&DWP(192-128,$tbl));
1515 &mov ($s3,&DWP(224-128,$tbl));
1575 &mov ($s0,&DWP(0-128,$tbl));
1577 &mov ($s1,&DWP(64-128,$tbl));
1579 &mov ($s2,&DWP(128-128,$tbl));
1581 &mov ($s3,&DWP(192-128,$tbl));
1608 if($i==3) { &mov ($key,$__key); }
1609 else { &mov ($out,$s[0]); }
1611 &mov ($out,&DWP(0,$td,$out,8));
1617 if ($i==3) { $tmp=$s[2]; &mov ($s[1],$acc); }
1618 else { &mov ($tmp,$s[2]); }
1623 if ($i==3) { $tmp=$s[3]; &mov ($s[2],$__s1); }
1624 else { &mov ($tmp,$s[3]); }
1627 if ($i<2) { &mov (&DWP(4+4*$i,"esp"),$out); }
1628 if ($i==3) { &mov ($s[3],$__s0); }
1638 &mov ($tmp,&DWP(0-128,$td));
1639 &mov ($acc,&DWP(32-128,$td));
1640 &mov ($tmp,&DWP(64-128,$td));
1641 &mov ($acc,&DWP(96-128,$td));
1642 &mov ($tmp,&DWP(128-128,$td));
1643 &mov ($acc,&DWP(160-128,$td));
1644 &mov ($tmp,&DWP(192-128,$td));
1645 &mov ($acc,&DWP(224-128,$td));
1647 if($i==3) { &mov ($key,$__key); }
1648 else { &mov ($out,$s[0]); }
1658 if ($i==3) { $tmp=$s[2]; &mov ($s[1],$acc); }
1659 else { mov ($tmp,$s[2]); }
1666 if ($i==3) { $tmp=$s[3]; &mov ($s[2],$__s1); }
1667 else { &mov ($tmp,$s[3]); }
1672 if ($i<2) { &mov (&DWP(4+4*$i,"esp"),$out); }
1673 if ($i==3) { &mov ($s[3],$__s0);
1679 &mov ($__key,$key); # save key
1686 &mov ($acc,&DWP(240,$key)); # load key->rounds
1691 &mov ($__end,$acc); # end of key schedule
1703 &mov ($__key,$key);
1724 &mov ($__key,$key); # advance rd_key
1737 &mov ($__key,$key); # advance rd_key
1966 &mov ($acc,&wparam(0)); # load inp
1967 &mov ($key,&wparam(2)); # load key
1969 &mov ($s0,"esp");
1980 &mov ($_esp,$s0); # save stack pointer
2001 &mov ("esp",$_esp); # restore stack pointer
2002 &mov ($acc,&wparam(1)); # load out
2009 &mov ($_tbl,$tbl);
2010 &mov ($s0,&DWP(0,$acc)); # load input data
2011 &mov ($s1,&DWP(4,$acc));
2012 &mov ($s2,&DWP(8,$acc));
2013 &mov ($s3,&DWP(12,$acc));
2015 &mov ("esp",$_esp); # restore stack pointer
2016 &mov ($acc,&wparam(1)); # load out
2017 &mov (&DWP(0,$acc),$s0); # write output data
2018 &mov (&DWP(4,$acc),$s1);
2019 &mov (&DWP(8,$acc),$s2);
2020 &mov (&DWP(12,$acc),$s3);
2049 &mov ($s2 eq "ecx"? $s2 : "",&wparam(2)); # load len
2081 &mov ($s0,$tbl);
2083 &mov ($s3,$acc);
2103 &mov ($_tbl,$tbl); # save %ebp
2104 &mov ($_esp,$acc); # save %esp
2106 &mov ($s0,&DWP(0,$s3)); # load inp
2107 &mov ($s1,&DWP(4,$s3)); # load out
2109 &mov ($key,&DWP(12,$s3)); # load key
2110 &mov ($acc,&DWP(16,$s3)); # load ivp
2111 &mov ($s3,&DWP(20,$s3)); # load enc flag
2113 &mov ($_inp,$s0); # save copy of inp
2114 &mov ($_out,$s1); # save copy of out
2115 &mov ($_len,$s2); # save copy of len
2116 &mov ($_key,$key); # save copy of key
2117 &mov ($_ivp,$acc); # save copy of ivp
2119 &mov ($mark,0); # copy of aes_key->rounds = 0;
2121 &mov ($s1 eq "ebx" ? $s1 : "",$key);
2122 &mov ($s2 eq "ecx" ? $s2 : "",244/4);
2124 &mov ("esi",$key);
2132 &mov ($_key,"edi");
2136 &mov ($key,16);
2138 &mov ($s0,&DWP(0,$tbl));
2139 &mov ($s1,&DWP(32,$tbl));
2140 &mov ($s2,&DWP(64,$tbl));
2141 &mov ($acc,&DWP(96,$tbl));
2147 &mov ($acc,$_inp);
2148 &mov ($key,$_ivp);
2154 &mov ($s0,&DWP(0,$key)); # load iv
2155 &mov ($s1,&DWP(4,$key));
2158 &mov ($s2,&DWP(8,$key));
2159 &mov ($s3,&DWP(12,$key));
2166 &mov ($key,$_key); # load key
2169 &mov ($acc,$_inp); # load inp
2170 &mov ($key,$_out); # load out
2172 &mov (&DWP(0,$key),$s0); # save output data
2173 &mov (&DWP(4,$key),$s1);
2174 &mov (&DWP(8,$key),$s2);
2175 &mov (&DWP(12,$key),$s3);
2178 &mov ($s2,$_len); # load len
2179 &mov ($_inp,$acc); # save inp
2181 &mov ($_out,$s3); # save out
2183 &mov ($_len,$s2); # save len
2185 &mov ($acc,$_ivp); # load ivp
2186 &mov ($s2,&DWP(8,$key)); # restore last 2 dwords
2187 &mov ($s3,&DWP(12,$key));
2188 &mov (&DWP(0,$acc),$s0); # save ivec
2189 &mov (&DWP(4,$acc),$s1);
2190 &mov (&DWP(8,$acc),$s2);
2191 &mov (&DWP(12,$acc),$s3);
2194 &mov ("edi",$_key);
2197 &mov ("ecx",240/4);
2202 &mov ("esp",$_esp);
2214 &mov ($_tmp,$key);
2218 &mov ($s0,&DWP(0,$acc)); # read input
2219 &mov ($s1,&DWP(4,$acc));
2220 &mov ($s2,&DWP(8,$acc));
2221 &mov ($s3,&DWP(12,$acc));
2223 &mov ($key,$_key); # load key
2226 &mov ($key,$_tmp); # load ivp
2227 &mov ($acc,$_len); # load len
2233 &mov ($key,$_out); # load out
2234 &mov ($acc,$_inp); # load inp
2236 &mov (&DWP(0,$key),$s0); # write output
2237 &mov (&DWP(4,$key),$s1);
2238 &mov (&DWP(8,$key),$s2);
2239 &mov (&DWP(12,$key),$s3);
2241 &mov ($s2,$_len); # load len
2242 &mov ($_tmp,$acc); # save ivp
2244 &mov ($_inp,$acc); # save inp
2246 &mov ($_out,$key); # save out
2248 &mov ($_len,$s2); # save len
2250 &mov ($key,$_tmp); # load temp ivp
2251 &mov ($acc,$_ivp); # load user ivp
2252 &mov ($s0,&DWP(0,$key)); # load iv
2253 &mov ($s1,&DWP(4,$key));
2254 &mov ($s2,&DWP(8,$key));
2255 &mov ($s3,&DWP(12,$key));
2256 &mov (&DWP(0,$acc),$s0); # copy back to user
2257 &mov (&DWP(4,$acc),$s1);
2258 &mov (&DWP(8,$acc),$s2);
2259 &mov (&DWP(12,$acc),$s3);
2264 &mov ($s0,&DWP(0,$acc)); # read input
2265 &mov ($s1,&DWP(4,$acc));
2266 &mov ($s2,&DWP(8,$acc));
2267 &mov ($s3,&DWP(12,$acc));
2270 &mov (&DWP(0,$key),$s0); # copy to temp
2271 &mov (&DWP(4,$key),$s1);
2272 &mov (&DWP(8,$key),$s2);
2273 &mov (&DWP(12,$key),$s3);
2275 &mov ($key,$_key); # load key
2278 &mov ($key,$_ivp); # load ivp
2279 &mov ($acc,$_out); # load out
2285 &mov (&DWP(0,$acc),$s0); # write output
2286 &mov (&DWP(4,$acc),$s1);
2287 &mov (&DWP(8,$acc),$s2);
2288 &mov (&DWP(12,$acc),$s3);
2291 &mov ($_out,$acc); # save out
2294 &mov ($s0,&DWP(0,$acc)); # read temp
2295 &mov ($s1,&DWP(4,$acc));
2296 &mov ($s2,&DWP(8,$acc));
2297 &mov ($s3,&DWP(12,$acc));
2299 &mov (&DWP(0,$key),$s0); # copy iv
2300 &mov (&DWP(4,$key),$s1);
2301 &mov (&DWP(8,$key),$s2);
2302 &mov (&DWP(12,$key),$s3);
2304 &mov ($acc,$_inp); # load inp
2305 &mov ($s2,$_len); # load len
2307 &mov ($_inp,$acc); # save inp
2309 &mov ($_len,$s2); # save len
2314 &mov ("edi",$_key);
2317 &mov ("ecx",240/4);
2322 &mov ("esp",$_esp);
2330 &mov ($s0,&DWP(0,$s0)) if (!$x86only);# load OPENSSL_ia32cap
2331 &mov ($key,&wparam(3)); # load key
2354 &mov ($_tbl,$tbl); # save %ebp
2355 &mov ($_esp,$acc); # save %esp
2356 &mov ($_tmp,$s0); # save OPENSSL_ia32cap
2358 &mov ($s0,&DWP(0,$s3)); # load inp
2359 &mov ($s1,&DWP(4,$s3)); # load out
2362 &mov ($acc,&DWP(16,$s3)); # load ivp
2363 &mov ($s3,&DWP(20,$s3)); # load enc flag
2365 &mov ($_inp,$s0); # save copy of inp
2366 &mov ($_out,$s1); # save copy of out
2367 &mov ($_len,$s2); # save copy of len
2368 &mov ($_key,$key); # save copy of key
2369 &mov ($_ivp,$acc); # save copy of ivp
2371 &mov ($key,$acc);
2372 &mov ($acc,$s0);
2379 &mov ($s3,$s1);
2393 &mov ($key,$_key);
2396 &mov ($acc,$_inp); # load inp
2397 &mov ($key,$_out); # load out
2398 &mov ($s2,$_len); # load len
2404 &mov ($_inp,$acc); # save inp
2406 &mov ($_out,$s3); # save out
2409 &mov ($_len,$s2); # save len
2413 &mov ($acc,$_ivp); # load ivp
2417 &mov ("esp",$_esp);
2423 &mov ($s0,&DWP(0,$key)); # load iv
2424 &mov ($s1,&DWP(4,$key));
2427 &mov ($s2,&DWP(8,$key));
2428 &mov ($s3,&DWP(12,$key));
2435 &mov ($key,$_key); # load key
2438 &mov ($acc,$_inp); # load inp
2439 &mov ($key,$_out); # load out
2441 &mov (&DWP(0,$key),$s0); # save output data
2442 &mov (&DWP(4,$key),$s1);
2443 &mov (&DWP(8,$key),$s2);
2444 &mov (&DWP(12,$key),$s3);
2446 &mov ($s2,$_len); # load len
2448 &mov ($_inp,$acc); # save inp
2450 &mov ($_out,$s3); # save out
2453 &mov ($_len,$s2); # save len
2457 &mov ($acc,$_ivp); # load ivp
2458 &mov ($s2,&DWP(8,$key)); # restore last dwords
2459 &mov ($s3,&DWP(12,$key));
2460 &mov (&DWP(0,$acc),$s0); # save ivec
2461 &mov (&DWP(4,$acc),$s1);
2462 &mov (&DWP(8,$acc),$s2);
2463 &mov (&DWP(12,$acc),$s3);
2465 &mov ("esp",$_esp);
2472 &mov ($key eq "edi"? $key:"",$s3); # load out to edi
2473 &mov ($s1,16);
2483 &mov ($s2,$s1);
2488 &mov ($key,$_ivp); # restore ivp
2489 &mov ($acc,$s3); # output as input
2490 &mov ($s0,&DWP(0,$key));
2491 &mov ($s1,&DWP(4,$key));
2492 &mov ($_len,16); # len=16
2505 &mov ($key,$_key);
2508 &mov ($acc,$_inp); # load inp
2510 &mov ($s1,$_out); # load out
2511 &mov ($s2,$_len); # load len
2512 &mov ($key,$_ivp); # load ivp
2530 &mov ($_out,$s1); # save out
2532 &mov ($_inp,$acc); # save inp
2533 &mov ($_len,$s2); # save len
2536 &mov ("esp",$_esp);
2547 &mov ("edi",$s1); # out
2548 &mov ("esi",$s0); # temp
2552 &mov ("esp",$_esp);
2558 &mov ($s0,&DWP(0,$acc)); # read input
2559 &mov ($s1,&DWP(4,$acc));
2560 &mov ($s2,&DWP(8,$acc));
2561 &mov ($s3,&DWP(12,$acc));
2564 &mov (&DWP(0,$key),$s0); # copy to temp
2565 &mov (&DWP(4,$key),$s1);
2566 &mov (&DWP(8,$key),$s2);
2567 &mov (&DWP(12,$key),$s3);
2569 &mov ($key,$_key); # load key
2572 &mov ($key,$_ivp); # load ivp
2573 &mov ($acc,$_len); # load len
2582 &mov ($_len,$acc); # save len
2583 &mov ($acc,$_out); # load out
2585 &mov (&DWP(0,$acc),$s0); # write output
2586 &mov (&DWP(4,$acc),$s1);
2587 &mov (&DWP(8,$acc),$s2);
2588 &mov (&DWP(12,$acc),$s3);
2591 &mov ($_out,$acc); # save out
2594 &mov ($s0,&DWP(0,$acc)); # read temp
2595 &mov ($s1,&DWP(4,$acc));
2596 &mov ($s2,&DWP(8,$acc));
2597 &mov ($s3,&DWP(12,$acc));
2599 &mov (&DWP(0,$key),$s0); # copy it to iv
2600 &mov (&DWP(4,$key),$s1);
2601 &mov (&DWP(8,$key),$s2);
2602 &mov (&DWP(12,$key),$s3);
2604 &mov ($acc,$_inp); # load inp
2606 &mov ($_inp,$acc); # save inp
2608 &mov ("esp",$_esp);
2615 &mov (&DWP(0,$acc),$s0); # save output to temp
2616 &mov (&DWP(4,$acc),$s1);
2617 &mov (&DWP(8,$acc),$s2);
2618 &mov (&DWP(12,$acc),$s3);
2620 &mov ($acc,$_inp);
2621 &mov ($s0,&DWP(0,$acc)); # re-read input
2622 &mov ($s1,&DWP(4,$acc));
2623 &mov ($s2,&DWP(8,$acc));
2624 &mov ($s3,&DWP(12,$acc));
2626 &mov (&DWP(0,$key),$s0); # copy it to iv
2627 &mov (&DWP(4,$key),$s1);
2628 &mov (&DWP(8,$key),$s2);
2629 &mov (&DWP(12,$key),$s3);
2631 &mov ("ecx",$_len);
2632 &mov ("edi",$_out);
2637 &mov ("esp",$_esp);
2670 &mov ("esi",&wparam(1)); # user supplied key
2671 &mov ("edi",&wparam(3)); # private key schedule
2685 &mov ("eax",&DWP(0-128,$tbl));
2686 &mov ("ebx",&DWP(32-128,$tbl));
2687 &mov ("ecx",&DWP(64-128,$tbl));
2688 &mov ("edx",&DWP(96-128,$tbl));
2689 &mov ("eax",&DWP(128-128,$tbl));
2690 &mov ("ebx",&DWP(160-128,$tbl));
2691 &mov ("ecx",&DWP(192-128,$tbl));
2692 &mov ("edx",&DWP(224-128,$tbl));
2694 &mov ("ecx",&wparam(2)); # number of bits in key
2701 &mov ("eax",-2); # invalid number of bits
2705 &mov ("eax",&DWP(0,"esi")); # copy first 4 dwords
2706 &mov ("ebx",&DWP(4,"esi"));
2707 &mov ("ecx",&DWP(8,"esi"));
2708 &mov ("edx",&DWP(12,"esi"));
2709 &mov (&DWP(0,"edi"),"eax");
2710 &mov (&DWP(4,"edi"),"ebx");
2711 &mov (&DWP(8,"edi"),"ecx");
2712 &mov (&DWP(12,"edi"),"edx");
2719 &mov ("eax",&DWP(0,"edi")); # rk[0]
2720 &mov ("edx",&DWP(12,"edi")); # rk[3]
2724 &mov (&DWP(16,"edi"),"eax"); # rk[4]
2726 &mov (&DWP(20,"edi"),"eax"); # rk[5]
2728 &mov (&DWP(24,"edi"),"eax"); # rk[6]
2730 &mov (&DWP(28,"edi"),"eax"); # rk[7]
2736 &mov (&DWP(80,"edi"),10); # setup number of rounds
2741 &mov ("eax",&DWP(0,"esi")); # copy first 6 dwords
2742 &mov ("ebx",&DWP(4,"esi"));
2743 &mov ("ecx",&DWP(8,"esi"));
2744 &mov ("edx",&DWP(12,"esi"));
2745 &mov (&DWP(0,"edi"),"eax");
2746 &mov (&DWP(4,"edi"),"ebx");
2747 &mov (&DWP(8,"edi"),"ecx");
2748 &mov (&DWP(12,"edi"),"edx");
2749 &mov ("ecx",&DWP(16,"esi"));
2750 &mov ("edx",&DWP(20,"esi"));
2751 &mov (&DWP(16,"edi"),"ecx");
2752 &mov (&DWP(20,"edi"),"edx");
2759 &mov ("eax",&DWP(0,"edi")); # rk[0]
2760 &mov ("edx",&DWP(20,"edi")); # rk[5]
2764 &mov (&DWP(24,"edi"),"eax"); # rk[6]
2766 &mov (&DWP(28,"edi"),"eax"); # rk[7]
2768 &mov (&DWP(32,"edi"),"eax"); # rk[8]
2770 &mov (&DWP(36,"edi"),"eax"); # rk[9]
2777 &mov (&DWP(40,"edi"),"eax"); # rk[10]
2779 &mov (&DWP(44,"edi"),"eax"); # rk[11]
2785 &mov (&DWP(72,"edi"),12); # setup number of rounds
2790 &mov ("eax",&DWP(0,"esi")); # copy first 8 dwords
2791 &mov ("ebx",&DWP(4,"esi"));
2792 &mov ("ecx",&DWP(8,"esi"));
2793 &mov ("edx",&DWP(12,"esi"));
2794 &mov (&DWP(0,"edi"),"eax");
2795 &mov (&DWP(4,"edi"),"ebx");
2796 &mov (&DWP(8,"edi"),"ecx");
2797 &mov (&DWP(12,"edi"),"edx");
2798 &mov ("eax",&DWP(16,"esi"));
2799 &mov ("ebx",&DWP(20,"esi"));
2800 &mov ("ecx",&DWP(24,"esi"));
2801 &mov ("edx",&DWP(28,"esi"));
2802 &mov (&DWP(16,"edi"),"eax");
2803 &mov (&DWP(20,"edi"),"ebx");
2804 &mov (&DWP(24,"edi"),"ecx");
2805 &mov (&DWP(28,"edi"),"edx");
2812 &mov ("edx",&DWP(28,"edi")); # rk[7]
2814 &mov ("eax",&DWP(0,"edi")); # rk[0]
2818 &mov (&DWP(32,"edi"),"eax"); # rk[8]
2820 &mov (&DWP(36,"edi"),"eax"); # rk[9]
2822 &mov (&DWP(40,"edi"),"eax"); # rk[10]
2824 &mov (&DWP(44,"edi"),"eax"); # rk[11]
2830 &mov ("edx","eax");
2831 &mov ("eax",&DWP(16,"edi")); # rk[4]
2852 &mov (&DWP(48,"edi"),"eax"); # rk[12]
2854 &mov (&DWP(52,"edi"),"eax"); # rk[13]
2856 &mov (&DWP(56,"edi"),"eax"); # rk[14]
2858 &mov (&DWP(60,"edi"),"eax"); # rk[15]
2864 &mov (&DWP(48,"edi"),14); # setup number of rounds
2869 &mov ("eax",-1);
2884 &mov ($tmp,0x80808080);
2887 &mov ($acc,$tmp);
2893 &mov ($tmp,0x80808080);
2897 &mov ($acc,$tmp);
2904 &mov ($tmp,0x80808080);
2908 &mov ($acc,$tmp);
2917 &mov ($tmp,&DWP(4*($i+1),$key)); # modulo-scheduled load
2929 &mov ($tp2,$tmp);
2932 &mov (&DWP(4*$i,$key),$tp1);
2949 &mov ("esi",&wparam(2));
2950 &mov ("ecx",&DWP(240,"esi")); # pull number of rounds
2955 &mov ("eax",&DWP(0,"esi"));
2956 &mov ("ebx",&DWP(4,"esi"));
2957 &mov ("ecx",&DWP(0,"edi"));
2958 &mov ("edx",&DWP(4,"edi"));
2959 &mov (&DWP(0,"edi"),"eax");
2960 &mov (&DWP(4,"edi"),"ebx");
2961 &mov (&DWP(0,"esi"),"ecx");
2962 &mov (&DWP(4,"esi"),"edx");
2963 &mov ("eax",&DWP(8,"esi"));
2964 &mov ("ebx",&DWP(12,"esi"));
2965 &mov ("ecx",&DWP(8,"edi"));
2966 &mov ("edx",&DWP(12,"edi"));
2967 &mov (&DWP(8,"edi"),"eax");
2968 &mov (&DWP(12,"edi"),"ebx");
2969 &mov (&DWP(8,"esi"),"ecx");
2970 &mov (&DWP(12,"esi"),"edx");
2976 &mov ($key,&wparam(2));
2977 &mov ($acc,&DWP(240,$key)); # pull number of rounds
2980 &mov (&wparam(2),$acc);
2982 &mov ($s0,&DWP(16,$key)); # modulo-scheduled load