Вывести на экран английские буквы код которых делится на 2 и на 3 - Assembler

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

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

Нужно дописать программу которая выводит на экран все английские буквы код которых делится на 2 и на 3. Часть программы я написала, а вложенный цикл не могу описать. Помогите пожалуйста
mov ah, 02h;
mov dl,'A';
mov cx, 26;
 
metka:
    int 21;
    inc dl;
    loop metka;
 
mov ah, 09h;
mov dx, press;
int 21h;
 
mov ah, 08h;
int 21h;
 
mov ax, 4C00h;
int 21h;
 
;----------------------------------
press:
    db 13,10, 'Press any key...$'

Решение задачи: «Вывести на экран английские буквы код которых делится на 2 и на 3»

textual
Листинг программы
; masm dos com #
.286
.model tiny
.code
org 100h
start:  mov ax,3
    int 10h
    mov cx,27/6
        mov ah,2
        mov dl,'B'
@@: int 21h
    add dl,6
    loop @b
    mov ah,0
    int 16h
    ret
end start

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

  1. В начале кода мы видим, что он написан на языке Assembler с использованием инструкций для процессора 8086.
  2. .286 - это директива, которая указывает на то, что код написан для процессора 80286.
  3. .model tiny - это директива, которая указывает на модель памяти, используемую в программе. В данном случае, модель памяти tiny.
  4. .code - это директива, которая указывает на то, что следующий код является кодом программы.
  5. org 100h - это директива, которая определяет точку входа в программу. В данном случае, точка входа находится по адресу 100h.
  6. start: - это метка, которая указывает на точку входа в программу.
  7. mov ax,3 - это инструкция, которая переносит значение 3 из регистра AX в регистр DX.
  8. int 10h - это инструкция, которая выводит на экран значение регистра DX, то есть число 3.
  9. mov cx,27/6 - это инструкция, которая переносит результат деления числа 27 на 6 в регистр CX.
  10. mov ah,2 - это инструкция, которая устанавливает регистр AH равным 2.
  11. mov dl,'B' - это инструкция, которая переносит символ 'B' из строки в регистр DL.
  12. int 21h - это инструкция, которая выполняет функцию 21h, которая обычно используется для вывода символов на экран.
  13. add dl,6 - это инструкция, которая прибавляет к значению регистра DL число 6.
  14. loop @b - это инструкция, которая выполняет цикл до тех пор, пока значение регистра CX больше или равно 0.
  15. mov ah,0 - это инструкция, которая устанавливает регистр AH равным 0.
  16. int 16h - это инструкция, которая выполняет функцию 16h, которая обычно используется для завершения работы программы.
  17. ret - это инструкция, которая возвращает управление в вызывающую программу.
  18. Код в цикле выводит на экран все буквы, коды которых делятся на 2 и на 3.
  19. Значение 27/6 в регистре CX означает, что будет выведено 4 буквы, так как 27 делится на 2 и на 3 без остатка.
  20. Если бы в коде было использовано другое число, например, 37, то в регистре CX было бы значение 6, и программа вывела бы на экран 2 буквы, так как 37 делится на 2, но не делится на 3 без остатка.

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


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

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

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