сравнение чисел

Тема в разделе "WASM.BEGINNERS", создана пользователем zxcc, 7 ноя 2006.

  1. zxcc

    zxcc New Member

    Публикаций:
    0
    Регистрация:
    21 окт 2006
    Сообщения:
    172
    Помогите пожалуйста.Как сравнить введенные пользователем числа.
     
  2. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.347
    cmp?
     
  3. zxcc

    zxcc New Member

    Публикаций:
    0
    Регистрация:
    21 окт 2006
    Сообщения:
    172
    а строки тоже можно сравнить с помощью cmp ?
     
  4. _Serega_

    _Serega_ New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2006
    Сообщения:
    288
    cmpsb,cmpsw,cmpsd... c префиксом rep[e,ne] сравнивается вся строка.
     
  5. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    cmpsd, cmpsw вряд ли для строк пойдёт, только если заранее известно то, что количество байт занимаемых строкой кратно 4/2.
     
  6. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.347
    2zxcc
    переведи строку в число, потом сравнивай cmp
     
  7. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    n0name
    Код (Text):
    1.     mov     edx,ecx
    2.     shr     ecx,2
    3.     repe cmpsd
    4.     jne     .ne
    5.     mov     ecx,edx
    6.     and     ecx,3
    7.     repe cmpsb
    8.     jne     .ne
    Я б сказал "только если заранее известно количество байт".
     
  8. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    IceStudent
    хе, я имел ввиду просто repe cmpsd.
     
  9. zxcc

    zxcc New Member

    Публикаций:
    0
    Регистрация:
    21 окт 2006
    Сообщения:
    172
    А как перевести строку в число?
     
  10. PaCHER

    PaCHER New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2006
    Сообщения:
    852
    zxcc
    RTFM
     
  11. AsmGuru62

    AsmGuru62 Member

    Публикаций:
    0
    Регистрация:
    12 сен 2002
    Сообщения:
    689
    Адрес:
    Toronto
    Поищи по форуму - должны быть конвертирующие примеры.
    Один из алгоритмов (не самый лучший):

    Допустим есть строка: "123"

    1. Результат = 0 (например регистр EBX, или DWORD в памяти)
    2. Загружаем символ "1" (а затем, в цикле: "2" и "3")
    3. Вычитаем из "1" символ "0", получая двоичное представление
    4. Результат = (Результат * 10) + значение из п.3
    5. Если ещё есть символы, повторяем пункты 2-4