Переменная

Тема в разделе "WASM.ASSEMBLER", создана пользователем SPINS, 17 июл 2008.

  1. SPINS

    SPINS New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2008
    Сообщения:
    6
    Как в ассемблере реализовать переменную типа integer

    ; Считываем число из файла кладем ее в переменную DWORD
    invoke ReadFile,MainHandle, ADDR Count, 4, ADDR readed, 0
    ; Помещаем в регистр EBX считанное число
    MOV EBX,Count

    Но число в EBX не такое какое указано в файле.
     
  2. DEEP

    DEEP Андрей

    Публикаций:
    0
    Регистрация:
    27 апр 2008
    Сообщения:
    491
    Адрес:
    г. Владимир
    Естественно, не такое. Ибо, во первых, это не само число, а лишь первые 4 символа этого числа в ASCII представлении. А во-вторых, отладчик, даже при условии того что ты прочитаешь ту строку целиком и преобразуешь её в это самое число, не будет тебе его выдавать в знаковом представлении.
     
  3. SPINS

    SPINS New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2008
    Сообщения:
    6
    Тогда как преобразовать считанное из файла значение в число?
     
  4. DEEP

    DEEP Андрей

    Публикаций:
    0
    Регистрация:
    27 апр 2008
    Сообщения:
    491
    Адрес:
    г. Владимир
    Ты бы хоть знаки вопроса, блин, ставил)

    А вот подумай. Символы с "0" по "9" располагаются в кодовой таблице последовательно. Что если, скажем, от каждого символа отнять индекс нуля в кодовой таблице, и сложить эти числа в соответствии с номерами их разрядов?
    Ну плюс ещё проверку ввести на отрицательность. Если первый символ - это минус, то в конце обращаем полученное число командой NEG.
     
  5. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    Syntax

    int StrToInt( LPCTSTR lpSrc
    );