Как вывести число в шестнадцатеричном виде?


Q27: А как напечатать число в шестнадцатеричном виде?
A: Можно сделать так:
(результат помещяется в es:di)

число в шестнадцатеричном виде

Вот и всё!

После SBB числа 0-9 превращаются в 96h - 9Fh, а числа 0Ah - 0Fh - в 0A1h - 0A6H. Затем DAS вычитает 66h из первой группы чисел, переводя их в 30h - 39h, и 60h из второй группы чисел, переводя их в 41h - 46h

>А вот наиболее очевидный но немного менее быстрый и удобный способ: команда XLATB. Она помещает в AL байт из таблицы в памяти по адресу ES:BX (или ES:EBX) со смещением относительно начала таблицы равным AL.

Пример:

Вход: AL - hex-цифра (00h - 0Fh)
          ES - сегментный адрес таблицы.

Выход: AL - ascii-код символа.

В сегменте кода:

lea bx,htable
xlatb

В сегменте данных:

htable db "0123456789ABCDEF"

Вот и все.

 

Вернуться к списку вопросов >>

 

 

Другие новости



Счетчики





Яндекс.Метрика