Сложить отдельно положительные и отрицательные элементы массива - Assembler

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

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

В массиве С(12) сложить отдельно элементы положительные и отрицательные. Подсчитать количество элементов в каждой сумме

Решение задачи: «Сложить отдельно положительные и отрицательные элементы массива»

textual
Листинг программы
  1. include io.asm
  2. STACK1 segment
  3. db 128 dup (?)
  4. STACK1 ends
  5.  
  6. DATA segment
  7. mus dw 12 dup (?)
  8. otr dw 0
  9. pol dw 0
  10. sum_pol dw 0
  11. sum_otr dw 0
  12. text1 db 13,10 ,"kol pol: ",'$'
  13. text2 db 13,10 ,"kol otr: ",'$'
  14. text3 db 13,10 ,"sum pol: ",'$'
  15. text4 db 13,10 ,"sum otr: ",'$'
  16. DATA ENDS
  17.  
  18. CODE segment
  19. START:
  20. ASSUME CS:Code, DS:Data, SS:Stack1
  21. mov ax, Data
  22. mov ds, ax
  23.  
  24. mov dx, 0
  25. mov bx, 0
  26. mov di, 0
  27. mov si, 0
  28. mov ax, 0
  29. mov cx, 12
  30.  
  31. VVOD: ININT ax
  32. mov mus[si], ax
  33. inc si
  34. inc si
  35. loop VVOD
  36.  
  37. mov ax, 0
  38. mov si, 0
  39. mov cx, 12
  40. met3: mov ax, mus[si]
  41. cmp ax, 0
  42. JL met1
  43. add pol,1
  44. add dx, mus[si]
  45. mov sum_pol, dx
  46. JMP met2
  47. met1: add otr,1
  48. add bx, mus[si]
  49. mov sum_otr, bx
  50. met2:inc si
  51. inc si
  52. loop met3
  53.  
  54. mov ah, 9h
  55. mov dx, OFFSET text1
  56. int 21h
  57. mov dx,0
  58. mov dx, pol
  59. OUTINT dx
  60. add dx,'0'
  61. mov ah,02h
  62.  
  63. mov ah, 9h
  64. mov dx, OFFSET text2
  65. int 21h
  66. mov dx,0
  67. mov dx, otr
  68. OUTINT dx
  69. add DX,'0'
  70. mov ah,02h
  71.  
  72. mov ah, 9h
  73. mov dx, OFFSET text3
  74. int 21h
  75. mov dx,0
  76. mov dx, sum_pol
  77. OUTINT dx
  78. add dx,'0'
  79. mov ah,02h
  80.  
  81. mov ah, 9h
  82. mov dx, OFFSET text4
  83. int 21h
  84. mov dx, sum_otr
  85. mov dx, dx
  86. OUTINT dx
  87. add dx,'0'
  88. mov ah,02h
  89.  
  90.  
  91. MOV ah, 10h
  92. INT 16h
  93. MOV ah, 4ch
  94. INT 21h
  95. CODE ends
  96. end start

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

Код выполняет следующие действия:

  1. Считывает 12 чисел из массива mus в переменные dx, bx, di, si, ax, cx.
  2. Производит сложение положительных и отрицательных чисел, сохраняя результаты в переменных pol и otr соответственно.
  3. Выводит на экран количество положительных и отрицательных чисел, а также их сумму.

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


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

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

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

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

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

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