DMD Вот тебе первая подсказка: Код (Text): 00F222A6 8B05 7CA6F300 MOV EAX, DWORD PTR [F3A67C] 00F222AC 31DB XOR EBX, EBX 00F222AE 89C1 MOV ECX, EAX 00F222B0 43 INC EBX 00F222B1 89DA MOV EDX, EBX 00F222B3 01D8 ADD EAX, EBX 00F222B5 74 12 JE SHORT 00F222C9 00F222B7 D1E3 SHL EBX, 1 00F222B9 72 0E JB SHORT 00F222C9 00F222BB D1E1 SHL ECX, 1 00F222BD 85D8 TEST EAX, EBX 00F222BF ^74 F6 JE SHORT 00F222B7 00F222C1 01C8 ADD EAX, ECX 00F222C3 01DA ADD EDX, EBX 00F222C5 D1E3 SHL EBX, 1 00F222C7 ^73 F2 JNB SHORT 00F222BB 00F222C9 8915 78A6F300 MOV DWORD PTR [F3A678], EDX В результате после умножения [F3A678]*[F3A67C] получишь 0xFFFFFFFF.
DMD у меня разбирать эту лапшу банально нет времени. попробуйте понять, что делает каждая часть этой программы и дать высокоуровневое описание. тогда, может, я смогу чем-то помочь.
DMD Еще могу дать совет: подебужить программу со своими данными (в приведенные блоки данных занести короткие числа, скажем 3 и 5) и посмотреть, что получается на каждом этапе вычислений. Должно помочь.
Автор поста просил передать свои извинения за вынужденное временное отсутствие на форуме. Появится примерно через 2 недели.