Перевод из двоичной системы счисления в шестнадцатиричную - Assembler
Формулировка задачи:
Здравствуйте! Пытаюсь решить задачу: разработайте программу преобразования некоторого двоичного числа (16 бит) в виде 4-х шестнадцатеричных цифр, а также вывести шестнадцатеричные цифры на экран.
Хочу проверить в окне Watch смещение hex, но при нажатии F9 появляется темный экран (точно не знаю, но похоже на зацикливание). Подскажите, в чем ошибка. Спасибо!
model small stack 256 .data num dw 1000b count dw 0 shift db 12 hex db 4 dup (0) .code main: mov ax, @data mov ds, ax mov cx, 4 label_1: mov ax, num mov cl, shift shr ax, cl and ax, 0Fh mov di, count mov [hex][di], al inc count sub shift, 4 loop label_1 exit: mov ax,4c00h int 21h end main
Решение задачи: «Перевод из двоичной системы счисления в шестнадцатиричную»
textual
Листинг программы
mov ax,3 int 10h
Объяснение кода листинга программы
ax
- это регистр, который используется в коде. Он обычно используется для хранения данных и выполнения операций. Значение3
присваивается региструax
.int 10h
- это команда, которая выполняет переход к следующему сегменту памяти. В данном случае, команда переходит к сегменту памяти, который содержит таблицу символов ASCII.- Результатом выполнения команды будет переход к сегменту памяти, где хранятся символы ASCII. В данном случае, команда переходит к символу, который соответствует числу
3
в десятичной системе счисления (в шестнадцатеричной системе это3
также). - Таким образом, в результате выполнения данного кода, на экран будет выведен символ, соответствующий числу
3
в десятичной системе счисления.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д