Отрицательные элементы массива заменить их квадратами - Assembler

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

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

Задать с клавиатуры массив из 10 отрицательных и положительных чисел. Разрядность вводимых числе <3. Организовать проверку ввода. Отрицательные элементы массивы заменить их квадратами. В программе предусмотреть приглашение к вводу массива, вывод сообщения об ошибке и выходного массива

Решение задачи: «Отрицательные элементы массива заменить их квадратами»

textual
Листинг программы
  1. .model small
  2.  
  3. .data
  4. arr db 1,-2,3,-4,5,-6,7,-8,9,-10
  5. len = $ - arr          
  6.  
  7. .stack 100h    
  8.  
  9. .code          
  10. start:         
  11. mov ax,@data   
  12. mov ds,ax
  13.  
  14. lea si,arr
  15. mov cx,len
  16. negsqr:
  17. lodsb
  18.  
  19. test al,80h
  20. jz skip
  21.  
  22. imul al
  23.  
  24. mov byte ptr [si-1],al
  25.  
  26. skip:
  27. loop negsqr
  28.    
  29. mov ah,4Ch     
  30. mov al,00h     
  31. int 21h        
  32. end start

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

В этом коде выполняется замена отрицательных элементов массива на их квадраты. Вот список действий, которые происходят в коде:

  1. Устанавливается модель памяти на small.
  2. Определяется сегмент данных, в котором будет размещен массив.
  3. Задается сам массив, его отрицательные элементы будут заменены на квадраты.
  4. Вычисляется длина массива, она равна количеству элементов минус один.
  5. Устанавливается стек размером 100 байт.
  6. Задается сегмент кода.
  7. Определяется точка входа в программу.
  8. Код перемещает указатель на начало массива в регистр SI.
  9. Код перемещает длину массива в регистр CX.
  10. Начинается цикл, который выполняется до тех пор, пока не будут обработаны все элементы массива.
  11. Внутри цикла проверяется каждый байт массива на отрицательность.
  12. Если байт является отрицательным, он умножается на -1 и сохраняется обратно в массив.
  13. После выполнения цикла программа завершается.
  14. Код перезаписывает конец массива на ноль, чтобы корректно завершить массив.
  15. Выполняется функция 21h, которая завершает программу.

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


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

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

5   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы