# x86: головоломка от японцев

Тема в разделе "WASM.HEAP", создана пользователем kaspersky, 22 май 2009.

  1. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    что-то меня на приключения потянуло. устав от завалов текущей работы в плане разрядки послал cv в одну мелкую японскую фирму, имея счастья сношения с ней в виде интервью по скайпу. и вот там фигурировал вопрос: сравнить две ячейки памяти на IA2 (базовый набор команд) _без_ использования регистров. если числа равны - взвести zero. решение требовалось в реальном времени и времени была отведена минута (код программы вводится в окне текстового чата).

    на редкость идиотское задание. совершенно оторванное от жизни. и тз расплывчатое. ну короче вбил не глядя наобум:

    push [a]
    push
    pop [xb]
    pop [xa]

    j1:
    dec [xa]
    dec [xb]
    jnz j1

    inc [xa]
    dec [xa]

    еще не в курсе получил ли я зачот или нет. но вот просто интересно. может я асм плохо знаю и есть более красивое решение? мотать цикл - это ж не вариант вообще. но и команд с адресацией память - память что-то в базовом лексиконе x86 я не припомню.

    в принципе, у меня были варианты игры с битами, тогда в худшем случае программа выполняется за 32*n + k шагов, т.е. _намного_ быстрее, но вот писать ее дольше и за минуту (с отладкой в уме) я б не рискнул. а вы?
     
  2. dermatolog

    dermatolog Member

    Публикаций:
    0
    Регистрация:
    3 фев 2005
    Сообщения:
    406
    Адрес:
    Екатеринбург
    Какой базовый набор команд есть у IA2?
     
  3. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    dermatolog
    IA32, сорри, очепятка вышла. а какой набор команд понимать под базовым - хз.
     
  4. Microedition

    Microedition Active Member

    Публикаций:
    0
    Регистрация:
    5 июн 2008
    Сообщения:
    814
    kaspersky
    Может, такой же, как в 8086?
     
  5. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    Microedition
    я тоже склоняюсь к этой мысли.
     
  6. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    push dword [a]
    pop dword [cmp_m + 2 + 4]
    cmp_m:
    cmp dword ,12345678h
    jcc <куда нам надо>
     
  7. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    а, простите. результат 0 если равно

    push dword [a]
    push dword
    pop dword [r]
    pop dword [cmp_m + 2 + 4]
    cmp_m:
    sub dword [r],12345678h

    [r] = [a] == ? 0 : !0;
     
  8. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    _basmp_
    оригинально. я до такого не допер. эх, жаль, формулировка задачи туманна (как обычно и бывает на интервью) и не ясно можно ли писать в кодовую секцию или нет...
     
  9. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    _basmp_
    > а, простите. результат 0 если равно
    да не, все пучком. требовалось взвести ZF, а он по CMP уже взводится. так что у тебя решение в трех строках и работает быстро. а мыщъх стормозил. не, правда, стормозил. подошел к решению чисто алгоритмически.
     
  10. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    о! щас из токио позвонили. мыщъхиный код таки зачли и назначили интервью номер два ;) так что приключения продолжаются ;)
     
  11. Microedition

    Microedition Active Member

    Публикаций:
    0
    Регистрация:
    5 июн 2008
    Сообщения:
    814
    kaspersky
    А когда следующее интервью?
    А ты с ними на японском базаришь? :)
     
  12. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    Microedition-тян
    дзен ми? во пу пыле хан ю, нихонго-ва амари ханасэмасан. /* пускай японисты меня поправят */

    не, ну коннтитива, аригато, росиа дэз, цурисуто, дзянарисуто, сакка, пурогурама, со-со, etc я еще знаю, но на этом мой словарный запас кончается. гомон насай. не, ну там конечно если случится быть в японии то спросить фуронтова доко дэска я еще смогу, потому как у них до хвоста заимствованных английских слов. но как они их перекуверкали, перекоцали и перекурочили... это ж просто ахренеть. я с ними войсом на английском общался только потому что туссовался месяц в корее (а до этого был в малайзии) и к особенностям азиатского английского уже адоптировался.

    а след. интервью уже сегодня.
     
  13. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    kaspersky
    Можно спросить, не в тему, но не могу не спросить. Интересует название аверской конторы на которую вы работаете. Симантек ?
     
  14. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    Clerk
    Avert Labs (подразделение McAfee) http://www.avertlabs.com
    McAfee купила Endeavor Security, на которую я работал, так что мыщъх неожиданно обнаружил себя в McAfee ;) сначала было темно, стемно и нихр непонятно, а теперь очень даже позитивно и интересно. тут много умных людей и можно очень многому научиться.

    скажем, пол-года назад я написал универсальный детектор шелл-кодов, который палил их по сети. совместными усилиями с южно-африканской фирмой Sense Post в феврале этого года прикрутил к нему поддержку поиска шелл-кодов в офисных документах.

    предложил это дело McAfee. там заинтересовались, но тут же указали на кучу ляпов и проблем, которые мыщъх долго фиксил и вот только сейчас детектор включается в состав FLIPS 3 (есть такой продукт у McAfee, не самый главный - типа тренировка на кошках).

    короче, каждый день узнаю для себя много нового и интересного ;)
     
  15. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    kaspersky
    Ватаси ва нихонго о сукоси вакаримас. (Я немного понимаю по-японски). Кажись так...
     
  16. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    crypto
    нани гога докимас ка?
     
  17. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    kaspersky
    Спасибо. Вобщем я так и думал судя по стремлению показать что McAfee лучшие антивирусы делает(http://wasm.ru/forum/viewtopic.php?pid=317445#p317445 и #42).
     
  18. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    Clerk
    никогда не говорил, что у McAfee лучшие _антивирусы_ (сам пользуюсь только сканером командой строки от McAfee, целиком антивирус стоит только на виртуалке - я его тестирую на чистом энтузиазме, что кстати не оплачивается) и никогда не агитировал за их использование. и вообще об их качестве могу судить только по тестам того же VB и не более чем.

    подразделение в котором я работаю занимается HIPS/IPS, что несколько из другой области. так же мне предложили протестировать эмулятор и вот эмулятор у них крут. конечно, его можно завалить и я каждый день отсылаю кучу примеров на которых он падает там есть как концептуальные недочеты (слабая эмуляция селекторов, например, и твой, Clerk, пример, со сбросом регистров после экспепшена, ес-но валит McAfee эмулятор, и не его один), так и мелкие баги - типа неверная эмуляция BSWAP AX - кстати, надо бы проверить как с этим дела у конкурентов ;)
     
  19. Microedition

    Microedition Active Member

    Публикаций:
    0
    Регистрация:
    5 июн 2008
    Сообщения:
    814
    kaspersky
    Новых приклучений не было?
    Интересно, что они придумают.
     
  20. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    я конечно дико извиняюсь, что меняю тему разговора, но Крис, не мог бы ты хоть на одном примере показать, что этот эмулятор умеет? Я не видел еще ни одного человека, который мог бы видеть там эмулятор. Как я уже сказал, эвристик там да, присутствует. Но эмулятором там даже и не пахнет. Еще ни разу и ни у кого не было даже подозрений, что он там есть. КАК ты определили его наличие в маккофе??? :)