Требуется оптимизировать по скорости.

Тема в разделе "WASM.ASSEMBLER", создана пользователем Asterix, 11 авг 2004.

  1. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Black_mirror

    Неожиданно обнаружился косяк, твоя процедура подстроку

    db 'sign 2=A1::::::::C1::::A3::::::::83::::::::75::575133C0<font color="red]BF</font><!--color-->',0

    почему-то переводит

    в A100000000C10000A30000000083000000007500575133C0<font color="red]BE</font><!--color-->



    т.е. когда eax=42460000h вместо BF00 получаем BE00
     
  2. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    Asterix

    Еще поясни по условию задачи.

    Двоеточия всегда идут парами?
     
  3. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    q_q

    Да.
     
  4. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    Asterix

    А значимых байтов между знаком равно и нуль-символом в конце сигнатуры четное число?
     
  5. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    q_q

    > А значимых байтов между знаком равно и нуль-символом в конце сигнатуры четное число?



    Естественно в ASCII строке должно быть четное число символов между '=' и завершающим символом 0(не считая пробелов и табуляции), по условию.

    Но кажется я об этом уже писал ранее :derisive:
     
  6. Black_mirror

    Black_mirror Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2002
    Сообщения:
    1.035
    Asterix



    Здесь есть глюк:
    Код (Text):
    1. ;   lea edx,[eax-'0000']   
    2. ;   or edx,80808080h


    А здесь его уже нет:
    Код (Text):
    1.     mov edx,eax
    2.     or edx,80808080h
    3.     sub edx,'0000'
     
  7. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Black_mirror

    Надеюсь теперь всё будет работать и непредвиденных глюков не возникнет, потому что я пока не в состоянии разобраться как работает твоя процедура, т.е. проследить за каждым битом, хотя конечно некоторые моменты и понятны :derisive:



    Кстати нашёл ещё одну реализацию перевода на MMX by Степан/The Svin , но там нужно чтобы входящие байты были исключительно ASCII символы, хотя процедура ооочень компактная.