Программа для нахождения факториала числа - Assembler
Формулировка задачи:
Ребята помогите, сижу на экзамене дали прогу...
Напишите программу для нахождения факториала числа.в программе реализуйте :
А)Ввод числа с клавиатуры
Б)Вывод результата на экран
Решение задачи: «Программа для нахождения факториала числа»
textual
Листинг программы
.model tiny .code org 100h start: mov ah,01h int 21h sub al,30h mov ah,0h mov bl,0Ah mov bl.al mov ah,01h int 21h sub al,30h add bl,al mov ax,0h mov ax,bx mul cx @For: mul cx loop @For mov bl,0Ah div bl mov bl,ah mov dl,30h add dl,al mov ah,02h int 21h mov dx,0h mov dl,bl add dl,30h mov ah,02h int 21h ret end start
Объяснение кода листинга программы
Код выполняет следующие действия:
- Устанавливает модель памяти в
tiny
и код в сегменте 100h. - Начинает выполнение программы с метки
start
. - Выводит на экран число, которое считывает с клавиатуры.
- Сбрасывает значение регистра BL и AL.
- Перемещает значение регистра BL в AL.
- Выполняет ввод числа с клавиатуры и сохраняет его в регистре AX.
- Начинает цикл, который выполняет умножение числа в регистре AX на число в регистре CX.
- Выполняет деление числа в регистре BL на число в регистре AL.
- Сохраняет частное от деления в регистре BL и остаток в регистре AL.
- Добавляет значение регистра AL к значению регистра DL.
- Выводит на экран результат.
- Устанавливает регистр DX в 0.
- Перемещает значение регистра BL в регистр DL.
- Добавляет значение регистра DL к значению регистра AL.
- Выводит на экран результат.
- Завершает выполнение программы и возвращает управление операционной системе.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д