Вывести на экран английские буквы код которых делится на 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
Объяснение кода листинга программы
- В начале кода мы видим, что он написан на языке Assembler с использованием инструкций для процессора 8086.
- .286 - это директива, которая указывает на то, что код написан для процессора 80286.
- .model tiny - это директива, которая указывает на модель памяти, используемую в программе. В данном случае, модель памяти
tiny
. - .code - это директива, которая указывает на то, что следующий код является кодом программы.
- org 100h - это директива, которая определяет точку входа в программу. В данном случае, точка входа находится по адресу 100h.
- start: - это метка, которая указывает на точку входа в программу.
- mov ax,3 - это инструкция, которая переносит значение 3 из регистра AX в регистр DX.
- int 10h - это инструкция, которая выводит на экран значение регистра DX, то есть число 3.
- mov cx,27/6 - это инструкция, которая переносит результат деления числа 27 на 6 в регистр CX.
- mov ah,2 - это инструкция, которая устанавливает регистр AH равным 2.
- mov dl,'B' - это инструкция, которая переносит символ 'B' из строки в регистр DL.
- int 21h - это инструкция, которая выполняет функцию 21h, которая обычно используется для вывода символов на экран.
- add dl,6 - это инструкция, которая прибавляет к значению регистра DL число 6.
- loop @b - это инструкция, которая выполняет цикл до тех пор, пока значение регистра CX больше или равно 0.
- mov ah,0 - это инструкция, которая устанавливает регистр AH равным 0.
- int 16h - это инструкция, которая выполняет функцию 16h, которая обычно используется для завершения работы программы.
- ret - это инструкция, которая возвращает управление в вызывающую программу.
- Код в цикле выводит на экран все буквы, коды которых делятся на 2 и на 3.
- Значение 27/6 в регистре CX означает, что будет выведено 4 буквы, так как 27 делится на 2 и на 3 без остатка.
- Если бы в коде было использовано другое число, например, 37, то в регистре CX было бы значение 6, и программа вывела бы на экран 2 буквы, так как 37 делится на 2, но не делится на 3 без остатка.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д