Написать программу перевода числа из десятичного представления в шестнадцатеричное - Assembler

Узнай цену своей работы

Формулировка задачи:

Написать программу перевода числа из десятичного представления в шестнадцатеричное.
что-то вроде получилось
; masm dos com #
.286
.model tiny
.code
start: mov ax,3
int 10h
mov ax,0B800h
mov es,ax
mov di,0
mov ah,02h
mov al,'$'
mov cx,25
l1: push cx
mov cx,80
rep stosw
pop cx
loop l1
int 16h
ret; Выход
end start

Решение задачи: «Написать программу перевода числа из десятичного представления в шестнадцатеричное»

textual
Листинг программы
start: mov ax,3
int 10h
push 0B800h
pop es
mov di,0
mov ax,200h+'$'
mov cx,80*25
rep stosw
mov ah,0
int 16h
ret

Объяснение кода листинга программы

  1. mov ax,3 - Переменная ax содержит 3.
  2. int 10h - Выполняется функция BIOS, которая выводит на экран число 3.
  3. push 0B800h - Начинается выполнение команды push, которая сохраняет в стеке значение 0B800h (1001111000000000).
  4. pop es - Команда pop извлекает из стека значение, которое сохраняется в регистре es.
  5. mov di,0 - Регистр di устанавливается равным 0.
  6. mov ax,200h+$ - В регистр ax записывается значение 200h (96) с символом $ (код символа доллара).
  7. mov cx,80*25 - Значение 80 умножается на 25 и записывается в регистр cx.
  8. rep stosw - Команда stosw повторяется до тех пор, пока в регистре cx не станет равным 0. При каждой итерации в буфер, на который указывает di, записывается значение из регистра ax.
  9. mov ah,0 - В регистр ah записывается 0.
  10. int 16h - Выполняется функция BIOS, которая выводит на экран число 96.
  11. ret - Код возвращает управление в вызывающую программу.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5
Похожие ответы