Народ! помогите оптимизировать след. код (по времени/по месту - хоть как нибудь, но лучше по времени) Код (Text): mov ebx, ext1 shr ebx, 31 and ebx, 1 mov ecx, ext1 shr ecx, 30 and ecx, 1 .if ebx && !ecx add eax, 4 .elseif ecx && ebx add eax, 8 .endif mov ebx, bas1 shr ebx, 25 and ebx, 1 .if ebx add eax, 16 .endif таких операций - очень много, поэтому код работает медленно; меняются только переменные: ext1, bas1 и т.д., число бит на которые нужно смещать shr-ом и добавляемое к eax число (степени 2) ЗЫ: компилер - MASM.
гм.. как все любят эти макросы типа .if .else итд! Код (Text): mov ebx, ext1 test ebx, 080000000h jz @@1 add eax, 4 test ebx, 040000000h jz @@1 add eax, 4 @@1: test bas1, 2000000 jz @@2 add eax, 16 @@2: мож и еще лучше можно..
Код (Text): mov ebx, ext1 rcl ebx,1 jnb @@1 add eax, 4 rcl ebx,1 jnb @@1 add eax, 4 @@1: test bas1, 2000000 jz @@2 add eax, 16 @@2:
Макросы, переходы, масм ... какая гадость! Код (Text): mov ecx,ext1 shr ecx,30 mov ebx,1 shl ebx,cl and ebx,12 add eax,ebx mov ebx,bas1 shr ebx,21 and ebx,16 add eax,ebx