Имеются два массива по 10 элементов. Сложить по модулю 2 биты 0 и 7. Результат во второй массив. - Assembler

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

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

Доброго времени суток. В универе получил задание написать прогу, но я совершенно не знаю ассемблера, а сдавать уже завтра Имеются два массива. В каждом 10 элементов. Между 0 и 7 битом каждого элемента первого массива происходит сложение по модулю 2, результат записывается во второй массив. Буду крайне признателен

Решение задачи: «Имеются два массива по 10 элементов. Сложить по модулю 2 биты 0 и 7. Результат во второй массив.»

textual
Листинг программы
  1. .model small
  2. .386
  3.  
  4. .data
  5. arr1 db 12,37,29,56,84,90,58,63,47,76
  6. arr2 db 10 dup(?)
  7.  
  8. .stack
  9. db 255 dup(?)
  10.  
  11. .code
  12. start:
  13. mov ax,@data
  14. mov ds,ax
  15. mov es,ax
  16.  
  17. xor si,si
  18. lea di,arr2
  19. mov cx,10
  20. action:
  21. mov al,byte ptr arr1[si]
  22. mov ah, 0
  23. shl ax, 1
  24. shr al, 1
  25. xor al,ah
  26. and al, 1
  27.  
  28. stosb
  29.  
  30. inc si
  31. loop action
  32.  
  33. mov ah,4Ch
  34. mov al,00h
  35. int 21h
  36. end start

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

.model small .386 .data arr1 db 12,37,29,56,84,90,58,63,47,76 arr2 db 10 dup(?) .stack db 255 dup(?) .code start: mov ax,@data mov ds,ax mov es,ax xor si,si lea di,arr2 mov cx,10 action: mov al,byte ptr arr1[si] mov ah, 0 shl ax, 1 shr al, 1 xor al,ah and al, 1 stosb inc si loop action mov ah,4Ch mov al,00h int 21h end start В этом коде:

  1. Сначала мы объявляем два массива: arr1 и arr2.
  2. Затем мы задаем начальные значения регистрам.
  3. Мы используем цикл для прохождения по обоим массивам.
  4. Внутри цикла мы получаем байт из arr1, используя его как индекс.
  5. Мы сдвигаем этот байт вправо на 1 бит и сохраняем результат в AX.
  6. Затем мы сдвигаем результат вправо на 1 бит и сохраняем его в AL.
  7. Мы инвертируем AL и AND его с 1, чтобы получить только старший бит.
  8. Мы записываем этот старший бит в arr2.
  9. Мы повторяем шаги 4-8 для каждого элемента в массиве.
  10. В конце мы выводим сообщение об успешном выполнении программы.

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


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

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

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

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

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

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