Listing 8: the optimized Assembly blitter for the explosion bitmap: explode1_13_: push ECX mov ECX,EDX shl ECX,08H shl EDX,06H add EBX,ECX add EDX,EBX add EAX,EDX mov word ptr +0x3c8[EAX],0x3f11H mov byte ptr +0x3cf[EAX],0x11H mov dword ptr +0x507[EAX],0x3f313115H mov byte ptr +0x50d[EAX],0x15H mov word ptr +0x50f[EAX],0x113fH mov byte ptr +0x511[EAX],0x11H mov byte ptr +0x51e[EAX],0x11H mov dword ptr +0x647[EAX],0x31313133H mov dword ptr +0x64b[EAX],0x3115113fH mov word ptr +0x64f[EAX],0x3131H mov byte ptr +0x651[EAX],0x31H mov byte ptr +0x653[EAX],0x11H mov word ptr +0x65b[EAX],0x153fH mov dword ptr +0x787[EAX],0x15313133H mov dword ptr +0x78b[EAX],0x33111131H mov dword ptr +0x78f[EAX],0x31321a33H mov byte ptr +0x793[EAX],0x31H mov byte ptr +0x799[EAX],0x15H mov word ptr +0x79b[EAX],0x153fH mov byte ptr +0x7a5[EAX],0x15H mov byte ptr +0x7a7[EAX],0x3fH mov dword ptr +0x8c7[EAX],0x31313115H mov dword ptr +0x8cb[EAX],0x32111131H mov dword ptr +0x8cf[EAX],0x34343434H mov word ptr +0x8d3[EAX],0x1532H mov byte ptr +0x8d5[EAX],0x3fH mov dword ptr +0x8d7[EAX],0x11311115H mov word ptr +0x8db[EAX],0x3131H mov word ptr +0x8e2[EAX],0x3f11H mov byte ptr +0x8e5[EAX],0x15H mov word ptr +0xa07[EAX],0x3115H mov dword ptr +0xa0a[EAX],0x33153115H mov dword ptr +0xa0e[EAX],0x34353434H mov dword ptr +0xa12[EAX],0x3333343cH mov dword ptr +0xa16[EAX],0x33333331H mov dword ptr +0xa1a[EAX],0x11153133H mov dword ptr +0xa1e[EAX],0x153f1111H mov word ptr +0xa23[EAX],0x153fH mov byte ptr +0xa25[EAX],0x11H mov dword ptr +0xb45[EAX],0x31113f11H mov dword ptr +0xb49[EAX],0x33313131H mov dword ptr +0xb4d[EAX],0x3c34351aH mov dword ptr +0xb51[EAX],0x33343537H mov dword ptr +0xb55[EAX],0x33333133H mov dword ptr +0xb59[EAX],0x33323233H mov dword ptr +0xb5d[EAX],0x31313133H mov word ptr +0xb61[EAX],0x3f15H mov byte ptr +0xb64[EAX],0x15H mov word ptr +0xc84[EAX],0x3f15H mov dword ptr +0xc87[EAX],0x33313111H mov dword ptr +0xc8b[EAX],0x35343231H mov dword ptr +0xc8f[EAX],0x34363734H mov dword ptr +0xc93[EAX],0x31153034H mov dword ptr +0xc97[EAX],0x34323132H mov dword ptr +0xc9b[EAX],0x31321a1aH mov word ptr +0xc9f[EAX],0x1531H mov byte ptr +0xca1[EAX],0x31H mov byte ptr +0xca5[EAX],0x11H mov word ptr +0xdc4[EAX],0x3f15H mov dword ptr +0xdc7[EAX],0x33331511H mov dword ptr +0xdcb[EAX],0x3c343333H mov dword ptr +0xdcf[EAX],0x341b3234H mov dword ptr +0xdd3[EAX],0x31333234H mov dword ptr +0xdd7[EAX],0x34333333H mov dword ptr +0xddb[EAX],0x31343434H mov word ptr +0xddf[EAX],0x1531H mov byte ptr +0xde6[EAX],0x3fH mov word ptr +0xde8[EAX],0x1111H mov dword ptr +0xf08[EAX],0x33343215H mov dword ptr +0xf0c[EAX],0x31343233H mov dword ptr +0xf10[EAX],0x35343331H mov dword ptr +0xf14[EAX],0x33323434H mov dword ptr +0xf18[EAX],0x32323333H mov dword ptr +0xf1c[EAX],0x33331a32H mov byte ptr +0xf20[EAX],0x11H mov byte ptr +0xf26[EAX],0x11H mov dword ptr +0x1047[EAX],0x34301511H mov dword ptr +0x104b[EAX],0x33323234H mov dword ptr +0x104f[EAX],0x34331531H mov dword ptr +0x1053[EAX],0x34353536H mov dword ptr +0x1057[EAX],0x31333232H mov dword ptr +0x105b[EAX],0x31333333H mov byte ptr +0x105f[EAX],0x15H mov dword ptr +0x1187[EAX],0x34323115H mov dword ptr +0x118b[EAX],0x33323435H mov dword ptr +0x118f[EAX],0x341a3331H mov dword ptr +0x1193[EAX],0x35383635H mov dword ptr +0x1197[EAX],0x31333234H mov dword ptr +0x119b[EAX],0x31333333H mov dword ptr +0x12c7[EAX],0x34343215H mov dword ptr +0x12cb[EAX],0x34343434H mov dword ptr +0x12cf[EAX],0x34343432H mov dword ptr +0x12d3[EAX],0x35363835H mov dword ptr +0x12d7[EAX],0x32323434H mov dword ptr +0x12db[EAX],0x31333333H mov dword ptr +0x12df[EAX],0x3f15113fH mov dword ptr +0x1407[EAX],0x34343311H mov dword ptr +0x140b[EAX],0x35343434H mov dword ptr +0x140f[EAX],0x38353434H mov dword ptr +0x1413[EAX],0x35363836H mov dword ptr +0x1417[EAX],0x33323234H mov dword ptr +0x141b[EAX],0x3f313333H mov dword ptr +0x141f[EAX],0x31331511H mov byte ptr +0x1423[EAX],0x31H mov dword ptr +0x1546[EAX],0x1a333f15H mov dword ptr +0x154a[EAX],0x34343434H mov dword ptr +0x154e[EAX],0x35343434H mov dword ptr +0x1552[EAX],0x38363838H mov dword ptr +0x1556[EAX],0x32333435H mov dword ptr +0x155a[EAX],0x31313131H mov dword ptr +0x155f[EAX],0x31311111H mov word ptr +0x1563[EAX],0x1133H mov dword ptr +0x1686[EAX],0x33313115H mov dword ptr +0x168a[EAX],0x34343432H mov dword ptr +0x168e[EAX],0x34343434H mov dword ptr +0x1692[EAX],0x38363836H mov dword ptr +0x1696[EAX],0x33323436H mov byte ptr +0x169a[EAX],0x15H mov word ptr +0x169c[EAX],0x113fH mov byte ptr +0x169e[EAX],0x11H mov dword ptr +0x16a1[EAX],0x31313115H mov dword ptr +0x17c6[EAX],0x33311511H mov dword ptr +0x17ca[EAX],0x32333332H mov dword ptr +0x17ce[EAX],0x32333232H mov dword ptr +0x17d2[EAX],0x36353434H mov dword ptr +0x17d6[EAX],0x15323438H mov dword ptr +0x17de[EAX],0x31113f15H mov word ptr +0x17e2[EAX],0x3133H mov byte ptr +0x17e4[EAX],0x15H mov dword ptr +0x1907[EAX],0x31153115H mov dword ptr +0x190b[EAX],0x31311531H mov dword ptr +0x190f[EAX],0x33311531H mov dword ptr +0x1913[EAX],0x38353433H mov word ptr +0x1917[EAX],0x3234H mov byte ptr +0x1919[EAX],0x11H mov dword ptr +0x191e[EAX],0x31313115H mov word ptr +0x1922[EAX],0x3331H mov byte ptr +0x1924[EAX],0x11H mov dword ptr +0x1a46[EAX],0x31313311H mov dword ptr +0x1a4a[EAX],0x31111131H mov byte ptr +0x1a4e[EAX],0x11H mov dword ptr +0x1a50[EAX],0x31313f15H mov dword ptr +0x1a54[EAX],0x34353434H mov byte ptr +0x1a58[EAX],0x32H mov dword ptr +0x1a5f[EAX],0x31313115H mov byte ptr +0x1a63[EAX],0x15H mov dword ptr +0x1b86[EAX],0x31333115H mov dword ptr +0x1b8a[EAX],0x31111131H mov byte ptr +0x1b8e[EAX],0x15H mov dword ptr +0x1b91[EAX],0x34321511H mov dword ptr +0x1b95[EAX],0x31333334H mov byte ptr +0x1b9f[EAX],0x15H mov byte ptr +0x1ba2[EAX],0x3fH mov dword ptr +0x1cc6[EAX],0x18323115H mov dword ptr +0x1cca[EAX],0x11313133H mov word ptr +0x1cce[EAX],0x3f15H mov dword ptr +0x1cd1[EAX],0x33333111H mov word ptr +0x1cd5[EAX],0x1133H mov byte ptr +0x1cd7[EAX],0x15H mov byte ptr +0x1cdb[EAX],0x3fH mov dword ptr +0x1e06[EAX],0x33323115H mov dword ptr +0x1e0a[EAX],0x11313133H mov dword ptr +0x1e0e[EAX],0x31153115H mov dword ptr +0x1e12[EAX],0x15313331H mov byte ptr +0x1e18[EAX],0x3fH mov byte ptr +0x1e1e[EAX],0x11H mov dword ptr +0x1f47[EAX],0x31113f11H mov dword ptr +0x1f4b[EAX],0x15111131H mov dword ptr +0x1f4f[EAX],0x31323331H mov word ptr +0x1f53[EAX],0x1515H mov byte ptr +0x1f56[EAX],0x3fH mov word ptr +0x2089[EAX],0x1111H mov byte ptr +0x208b[EAX],0x3fH mov dword ptr +0x208d[EAX],0x33333115H mov dword ptr +0x2091[EAX],0x15153133H mov dword ptr +0x21cd[EAX],0x33333f15H mov dword ptr +0x21d1[EAX],0x11153f33H mov dword ptr +0x230d[EAX],0x32333115H mov byte ptr +0x2311[EAX],0x15H mov dword ptr +0x244a[EAX],0x32311111H mov dword ptr +0x244e[EAX],0x18333332H mov byte ptr +0x2453[EAX],0x3fH mov dword ptr +0x2589[EAX],0x32153115H mov dword ptr +0x258d[EAX],0x31313334H mov byte ptr +0x2591[EAX],0x15H mov word ptr +0x2599[EAX],0x3f15H mov dword ptr +0x26c9[EAX],0x32333115H mov dword ptr +0x26cd[EAX],0x15313333H mov word ptr +0x26d6[EAX],0x3f15H mov word ptr +0x26d9[EAX],0x3115H mov byte ptr +0x26db[EAX],0x11H mov dword ptr +0x2808[EAX],0x153f1111H mov dword ptr +0x280c[EAX],0x11313133H mov byte ptr +0x2810[EAX],0x15H mov word ptr +0x2815[EAX],0x153fH mov dword ptr +0x2819[EAX],0x11113f15H mov word ptr +0x2948[EAX],0x1111H mov byte ptr +0x294a[EAX],0x3fH mov dword ptr +0x294c[EAX],0x11153115H mov byte ptr +0x2950[EAX],0x3fH mov byte ptr +0x2959[EAX],0x15H mov byte ptr +0x2a8a[EAX],0x11H mov word ptr +0x2a8c[EAX],0x3f3fH mov byte ptr +0x2a8f[EAX],0x11H pop ECX ret nop