Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.10.2015, 10:06   #1
ElShikari
 
Регистрация: 26.02.2014
Сообщений: 9
По умолчанию Отображение положительных и отрицательных элементов массива

Есть код, который отображает количество отрицательных элементов массива. Его необходимо изменить так, чтобы он отображал положительные и отрицательные элементы. И если не затруднит, прошу прокомментить ключевые строки.

Код:
.model small
.data
MAS dw -1,-2,-4,-7,0,-3,9,10
mess db 'Kolichestvo otricatelnyh elementov v massive=$'
 
.code
start:
 
mov ax,@data
mov ds,ax
 
mov ah,9h
lea dx,mess
int 21h
 
 
lea si,MAS
mov cx,8
mov bx,0
 
Cikl:
lodsw
test ax,ax
jns M1
inc bx
M1:
loop Cikl
mov al,bl
or al,30h
int 29h
mov ax,0
int 16h
 
mov ax,4c00h
int 21h
 
end start
ElShikari вне форума Ответить с цитированием
Старый 24.10.2015, 10:12   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
xor dx,dx ;Для кол-ва минусовых
xor bx,bx ;Для колва-плюсовых
...
test ax,ax
jns M1
inc bx ;Если найдено положительное - увеличиваем ВХ
M1:
jmp next ;Идем на следующую итерацию
inc dx ;Если найдено отрицательное - уведичиваем ДХ
next:
loop Cikl

mov al,bl ;Выводим положительные по твоей схеме
or al,30h
int 29h
mov ax,0
int 16h

mov al,dl ;Выводим отрицательные по твоей схеме
or al,30h
int 29h
mov ax,0
int 16h
...
Годится?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.10.2015, 10:26   #3
ElShikari
 
Регистрация: 26.02.2014
Сообщений: 9
По умолчанию

Спасибо. А как вывести вторую надпись: Kolichestvo polozhitelnyh elementov v massive?
ElShikari вне форума Ответить с цитированием
Старый 24.10.2015, 11:41   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну напиши еще переменку
Код:
mess2 db 'Kolichestvo otricatelnyh-2 elementov v massive=$'
И подай ее в второй блок, где есть lea dx,...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определите частное от деления суммы положительных элементов массива на модуль суммы отрицательных элементов Aselyabel Visual C++ 1 22.01.2014 17:32
СИ: Задан массив, состоящий из целых положительных и отрицательных чисел. Создать новый массив из положительных элементов старого Любимая Помощь студентам 0 28.05.2013 18:44
массиве X(N) найти максимальный элемент среди положительных элементов массива и минимальный среди отрицательных элементов. sorok Общие вопросы C/C++ 2 20.03.2012 12:18
Pascal. Найти сумму отрицательных и сумму положительных элементов линейного массива. badname47 Паскаль, Turbo Pascal, PascalABC.NET 1 07.02.2012 06:29
найти среднее арифметическое значение положительных и отрицательных элементов массива A=(a[i][j]), i=1,2,...,n; j=1,2,...,m. Valentina2011 Общие вопросы C/C++ 2 15.12.2011 13:04