|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июн 11, 2004 19:34:59 Quantum Мне кажется что не правильно, else if выполниться только если первое условие не удовлетворяется, так? Или я опять туплю.. |
|
|
Дата: Июн 11, 2004 19:46:19 > Так это ж нефик делать тогда :)) Это мне напомнило, когда на реверсинге был задан простейший вопрос, но ответов не последовало и чел взмолился "ну что никто что-ли не знает", то Dr.Golova ответил, что типа это, "вопрос уж больно лёгкий, боялись подвоха" ;-) |
|
|
Дата: Июн 11, 2004 19:51:02 · Поправил: masquer Если там только 0 или 1 может быть, то так: xor ebx, ebx ; f1 xor ecx, ecx ; f2 mov edi, 1 ; for f3 mov eax, 31h ; for ex mov edx, 31h ; for ex and eax, 1 and edx, 1 xor edi, eax xor edi, edx add ebx, eax add ecx, eax add f3, edi Вот и тоже боюсь подвоха :) |
|
|
Дата: Июн 11, 2004 19:52:10 Asterix Уже давно исправил. Ты быстро читаешь :-) |
|
|
Дата: Июн 11, 2004 19:53:24 А никто не пробовал запихнуть if(temp1=='1'){ Flag1++; Flag3++; }
if(temp2=='1'){ Flag2++; Flag3 = 1; }
в С'шный компилятор от MS и Intel, интересно что они скажут по этому поводу.. |
|
|
Дата: Июн 11, 2004 19:53:59 Quantum Да, уже увидел :-) |
|
|
Дата: Июн 11, 2004 19:59:24 masquer Нужно использовать два push'a и два pop'а для edi и ebx - это не радует. |
|
|
Дата: Июн 11, 2004 20:01:27 · Поправил: masquer Asterix так обрисуй что можно :) можно кусок кода кинуть. Я ж регистры для флагов использовал, можно все в один регистр кидать, или если они у тебя на стеке висять, то с ними и работать. |
|
|
Дата: Июн 11, 2004 20:05:02 Quantum Я абсолютно не понял, откуда ты взял Flag3 = 1; Что до алгоритма, то, как мне кажется, можно вывернутся так: .IF temp1=='1'
inc Flag1
inc Flag3
.IF temp2=='1'
inc Flag2
.IF !temp1
inc Flag3
.ENDIF
.ENDIF
.ENDIF |
|
|
Дата: Июн 11, 2004 20:14:14 · Поправил: Black_mirror Asterix Если требуется именно inc: xor reg,reg
.IF temp1=='1'
inc Flag1
mov reg,1
.ENDIF
.IF temp2=='1'
inc Flag2
mov reg,1
.ENDIF
add Flag3,reg |
|
|
Дата: Июн 11, 2004 20:17:41 Black_mirror А ты уверен, что там именно 1? Asterix Еж твою медь, хоть бы диапазон роста объявил бы... |
|
|
Дата: Июн 11, 2004 21:10:01 > Я абсолютно не понял, откуда ты взял Flag3 = 1 Потому что второй раз делать inc Flag3 нельзя. volodya Проверь почту.. |
|
|
Дата: Июн 11, 2004 21:52:57 Потому что второй раз делать inc Flag3 нельзя. Т.е. это означает, что flag3 может принимать только два значения? 0 и 1? |
|
|
Дата: Июн 11, 2004 21:56:08 Asterix Диапазон возможных значений temp1 и temp2? Под ASCII что понимать? |
|
|
Дата: Июн 11, 2004 22:19:23 volodya > Т.е. это означает, что flag3 может принимать только два значения? 0 и 1? Да, как и два других флага. S_T_A_S_ > Под ASCII что понимать? Любой символ который может содержать byte, хотя я не уверен что он не выйдет из формата ASCII ;-) |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.057 |