Строку в число

Тема в разделе "WASM.BEGINNERS", создана пользователем tower120, 4 май 2007.

  1. Quark

    Quark New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2007
    Сообщения:
    211
    tower120
    Код (Text):
    1. unsigned long __fastcall LsStringToHex(PCHAR str)
    2. {
    3.     __asm{
    4.         xor  eax,eax
    5.         xor  edx,edx
    6.         mov  esi,ecx
    7.         push 8
    8.         pop  ecx
    9. next:
    10.         dec  ecx
    11.         jl   eos
    12.         lodsb
    13.         cmp  al,'0'
    14.         jl   eos
    15.         cmp  al,'9'
    16.         jg   aa10
    17.  
    18.         shl  edx,4
    19.         lea  edx,[edx+eax-0x30]
    20.         jmp  next      
    21. aa10:
    22.         cmp  al,'A'
    23.         jl   eos
    24.         cmp  al,'F'
    25.         jg   aa20
    26.  
    27.         shl  edx,4
    28.         lea  edx,[edx+eax-'A'+10]
    29.         jmp  next
    30. aa20:
    31.         cmp  al,'a'
    32.         jl   eos
    33.         cmp  al,'f'
    34.         jg   eos
    35.  
    36.         shl  edx,4
    37.         lea  edx,[edx+eax-'a'+10]
    38.         jmp  next
    39. eos:
    40.         mov  eax,edx}
    41. }
     
  2. Vov4ick

    Vov4ick Владимир

    Публикаций:
    0
    Регистрация:
    8 окт 2006
    Сообщения:
    581
    Адрес:
    МО
    А скобки и DS зачем, если "туда", а не в память? Если пишешь под венду, сегмент переопределять не надо.
     
  3. mathio

    mathio New Member

    Публикаций:
    0
    Регистрация:
    16 июн 2007
    Сообщения:
    110
    // был в неадекватном состоянии. каюсь.
     
  4. t17fenics

    t17fenics New Member

    Публикаций:
    0
    Регистрация:
    12 янв 2008
    Сообщения:
    5
    Сорри, я попутался, толку то переводить в десятичные, проц то работает с шестнацетиричными :)

    Так вот, как их теперь в шестнацетиричные перевести???
     
  5. Xerx

    Xerx Алексей

    Публикаций:
    0
    Регистрация:
    17 фев 2005
    Сообщения:
    528
    Адрес:
    Russia
    t17fenics
    По 4 бита и таблицей преобразования.
    table db '0123 ... DEF'
    и получай адрес table + смещение как значение этих 4 бит
     
  6. t17fenics

    t17fenics New Member

    Публикаций:
    0
    Регистрация:
    12 янв 2008
    Сообщения:
    5
    а можно это ввиде кода оформить, а то чо то не особо врубаюсь пока
     
  7. Mikl_

    Mikl_ New Member

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