Современные решения

для защиты Windows приложений

и восстановления исходного кода
Автор: xen. Дата публикации: 10.08.2004

Перевод чисел в двоичную форму (в виде строки)


Данная процедура конвертирует 16-битное слово в строку ASCIIZ, т.е. число 7 преобразовывается в строку 0000000000000111. Лидирующие нули включаются в строку. Строка ASCIIZ - это набор символов, завершающихся 0.

NmbrToBi$ proc ;POW36 ;Входные данные: AX - смещение строки, BX - число, которое необходимо преобразовать ;Выходные данные: Строка ASCIIZ. Регистры не сохраняются. mov DI,AX ;смещение строки mov DX,8000h ;проверочное слово, 1 в позиции 15 mov CX,16 ;обрабатываем 16 бит NumberTo_B0: mov AL,48 ;символ '0' test BX,DX ;бит равен 1? jz NumberTo_B inc AL ;символ '1' NumberTo_B: stosb ;записываем в строку '1' или '0' shr DX,1 ;сдвигаем тестовый бит вправо loop NumberTo_B0 mov [DI],DL ;завершаем строку 0 ret NmbrToBi$ endp


Комментарии

отсутствуют

Добавление комментария


Ваше имя (на форуме):

Ваш пароль (на форуме):

Комментарии могут добавлять только пользователи,
зарегистрированные на форуме данного сайта. Если Вы не
зарегистрированы, то сначала зарегистрируйтесь тут

Комментарий: