Занести в BL наименьшее число из отрезка от 2 до K на которое не делится число N - Assembler

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

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

Занести в BL наименьшее число из отрезка от 2 до K на которое не делится число N, при условии что2k> N

Решение задачи: «Занести в BL наименьшее число из отрезка от 2 до K на которое не делится число N»

textual
Листинг программы
program PasAndAsm;
 
var
  N, K: byte;
begin
  repeat
    Write('N: ');
    readln(N);
    Write('K:');
    readln(K);
    if not ((2 * K) > N) then
      writeln('2K>N:', 2 * k, '>', n, ' Ne verno');
  until 2 * K > N;
 
  asm
    MOV CL,1
    @@For:
      INC CL
      MOV  AL,N
      MOV  AH,0
      DIV CL
      CMP  AH,0
    JE  @@For
    MOV BL,CL
  end;
end.

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

  1. Объявление переменных:
    • N: переменная типа byte
    • K: переменная типа byte
  2. Ввод значений переменных:
    • Вывод на экран сообщения N:
    • Считывание значения и сохранение в переменную N
    • Вывод на экран сообщения K:
    • Считывание значения и сохранение в переменную K
  3. Проверка условия:
    • Повторять следующее до тех пор, пока 2 * K больше N:
      • Если условие не выполняется, то выводится сообщение 2K>N:, значение 2 * K, >, значение N, Ne verno
  4. Начало вставки кода на языке Assembler:
    • Перемещение значения 1 в регистр CL
  5. Цикл на языке Assembler:
    • Метка цикла @@For
    • Увеличение значения регистра CL на единицу
    • Загрузка значения N в регистр AL
    • Очистка регистра AH
    • Деление AL на CL, результат сохраняется в AL, остаток в AH
    • Сравнение значения в AH с 0
    • Если остаток равен 0, переход к метке @@For
  6. Завершение вставки кода на языке Assembler:
    • Перемещение значения из регистра CL в регистр BL
    • Конец программы. Данный фрагмент кода предположительно решает задачу нахождения наименьшего числа из отрезка от 2 до K, на которое не делится число N, с использованием языка Assembler внутри программы на Pascal.

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

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