Разработать программу получения суммы отрицательных элементов массива - Assembler

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

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

3. Задан массив X размерности n знаковых целых чисел. Разработать программу получения суммы отрицательных элементов массива.

Решение задачи: «Разработать программу получения суммы отрицательных элементов массива»

textual
Листинг программы
Data Segment para 'data'
mas dw      1,2,3,4,5   
n   dw      5           
zn  dw      ?          
Data Ends 
 
Code Segment para 'code' 
Assume CS:Code, DS:Data, ES:Nothing 
 
main:
 
      mov ax,data
      mov ds,ax
 
      mov cx,n 
      mov si,0 
      mov ax,0 
      
      mov ax,4c00h 
      int 21h 
      
      
 
L:    add   ax,mas[si] 
      add  si,2 
      LOOP L 
 
      mov zn,ax  
      ret

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

  1. Объединение сегментов данных и кода: Data Segment para 'data' mas dw 1,2,3,4,5 n dw 5 zn dw ? Data Ends Code Segment para 'code' Assume CS:Code, DS:Data, ES:Nothing
  2. Инициализация регистров: main: mov ax,data mov ds,ax mov cx,n mov si,0 mov ax,0
  3. Вывод сообщения на экран: mov ax,4c00h int 21h
  4. Основной цикл обработки массива: L: add ax,mas[si] add si,2 LOOP L
  5. Вывод результата на экран: mov zn,ax ret

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

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