Вывести на экран монитора в режиме эмуляции DOS содержимого двух регистров - Assembler

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

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

Задание на лабораторную работу: 1. Вывести на экран монитора в режиме эмуляции DOS содержимого двух регистров (ax,bl) Если при выводе значение регистра равно нулевому значению, то предусмотреть в коде программы (без ввода с клавиатуры) возможность записи в данный регистр произвольного значения.

Решение задачи: «Вывести на экран монитора в режиме эмуляции DOS содержимого двух регистров»

textual
Листинг программы
use16
org 100h
 
push ax
mov ax,03h
int 10h
pop ax
 
pushf
pop cx
 
or bl,bl
jnz @f
    .loop0:
        add cx,0EAh
        or cl,cl
        jz .loop0
    mov bl,cl
@@:
mov [es:0],bl
mov [es:1],0Ah
 
or ax,ax
jnz @f
    .loop0:
        add cx,0EAh
        or cx,cx
        jz .loop0
    mov ax,cx
@@:
mov [es:0],al
mov [es:1],0Ah
mov [es:2],ah
mov [es:3],0Ah
 
ret

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

В этом коде на языке Assembler для процессора x86 происходит следующее:

  1. Вывод на экран содержимого регистра AX (номер 100h) в шестнадцатеричной системе счисления.
  2. Сохранение в стеке значения регистра AX.
  3. Установка значения регистра AX равным 3.
  4. Выполнение команды int 10h, которая выводит на экран содержимое регистра AX.
  5. Восстановление из стека значения регистра AX.
  6. Вывод на экран содержимого регистра CX (номер 100h) в шестнадцатеричной системе счисления.
  7. Выполнение цикла, пока значение регистра CX не станет равным 0.
  8. Внутренний цикл:
    • Увеличение значения регистра CX на 0EAh (11011010b).
    • Проверка значения регистра CX.
    • Если значение регистра CX не равно 0, переход к внутреннему циклу.
    • Если значение регистра CX равно 0, переход к внешнему циклу.
  9. Сохранение в стеке значения регистра BL.
  10. Вывод на экран содержимое регистра BL.
  11. Сохранение в стеке значения регистра AX.
  12. Вывод на экран содержимое регистра AL (номер 100h).
  13. Вывод на экран содержимое регистра AH (номер 100h).
  14. Выполнение команды ret, которая завершает работу программы.

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


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

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

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