.data buf word 1 dup (?) .code mov ax , 07D8 ; 2008 год mov buf, ax И как это теперь "прочитать по русски"? т.е. 2008
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
TOLSTOPUZ как понять прочитать? buf это ведь не строка, и mov ax , 07D8h ; 2008 год mov buf, ax cmp buf,2008 ; будет корректно работать.
Год - может быть любой. Что мне, все года сравнивать, массив создавать7 Нужен алгос, преобразующий число хекс в десятичное.
TOLSTOPUZ Так ты всё таки не на экран десятичное выводишь, а сравниваешь десятичное с hex ? Тогда открою маленький секрет - и 07D8h и десятичное 2008 преобразуются компилятором в двоичное 11111011000b ), так что в программе пиши как хочешь всё сравнится правильно, поскольку и 07D8h и 2008 и 11111011000b это одно и тоже число.
Нет, из буфера-то я вывожу именно на экран. Сравнить-то я ессно сравнил бы... Мне надо вывести мессагу для пользователя с нормальной цифрой. Вообще вопрос о сравнении не стоит..
TOLSTOPUZ юзай алгоритм для перевода из двоичной в десятичную... Это уже основы, поэтому изучай это сам