хекс в десятичый

Discussion in 'WASM.BEGINNERS' started by TOLSTOPUZ, Sep 4, 2008.

  1. TOLSTOPUZ

    TOLSTOPUZ New Member

    Blog Posts:
    0
    .data
    buf word 1 dup (?)

    .code
    mov ax , 07D8 ; 2008 год
    mov buf, ax

    И как это теперь "прочитать по русски"? т.е. 2008
     
  2. S_Alex

    S_Alex Alex

    Blog Posts:
    0
    MasmLib.hlp

    atodw Convert ascii number to DWORD
    htodw Convert hex string to DWORD
    dwtoa Convert DWORD to ascii string
    dw2hex Convert DWORD to hex string
    dw2 all Convert DWORD to ascii hex
    udw2str Convert unsigned DWORD to string
    ustr2dw Convert string to unsigned DWORD
    ltoa Convert signed DWORD to ascii string
    atol Convert ascii string to signed DWORD
     
  3. 2FED

    2FED New Member

    Blog Posts:
    0
    TOLSTOPUZ как понять прочитать? buf это ведь не строка, и


    mov ax , 07D8h ; 2008 год
    mov buf, ax
    cmp buf,2008 ; будет корректно работать.
     
  4. TOLSTOPUZ

    TOLSTOPUZ New Member

    Blog Posts:
    0
    Год - может быть любой. Что мне, все года сравнивать, массив создавать7
    Нужен алгос, преобразующий число хекс в десятичное.
     
  5. Y_Mur

    Y_Mur Active Member

    Blog Posts:
    0
    TOLSTOPUZ
    Так ты всё таки не на экран десятичное выводишь, а сравниваешь десятичное с hex ?
    Тогда открою маленький секрет - и 07D8h и десятичное 2008 преобразуются компилятором в двоичное 11111011000b ;)), так что в программе пиши как хочешь всё сравнится правильно, поскольку и 07D8h и 2008 и 11111011000b это одно и тоже число.
     
  6. TOLSTOPUZ

    TOLSTOPUZ New Member

    Blog Posts:
    0
    Нет, из буфера-то я вывожу именно на экран.
    Сравнить-то я ессно сравнил бы...
    Мне надо вывести мессагу для пользователя с нормальной цифрой.
    Вообще вопрос о сравнении не стоит..
     
  7. onSide

    onSide New Member

    Blog Posts:
    0
    TOLSTOPUZ юзай алгоритм для перевода из двоичной в десятичную... Это уже основы, поэтому изучай это сам ;)
     
  8. Y_Mur

    Y_Mur Active Member

    Blog Posts:
    0
    TOLSTOPUZ
    Тогда или по ссылке в #5
    Или wsprintf
    %d - позиция для десятичного числа, %x - для hex