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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2016, 08:26   #1
fatin
Новичок
Джуниор
 
Регистрация: 20.05.2016
Сообщений: 1
По умолчанию найти количество отрицательных элементов в массиве

Нужно найти количество отрицательных элементов в массиве а, только не полутчается и выдает ошибку, вот и не пойму какую? Помогите пожалоста разобраться? очень нужно!!!!(Ассемблер)
.model small
.stack 100h
.data
a db 5,-2,3,4,5,6,-85,-10,-9,11
n equ 10
msg db 'kol-vo otricatelnih elementov: ','$'
p db ' ','$'
.code
mov ax,@data
mov ds,ax
mov ax,0
mov si,0
xor bx,bx
xor ax,ax
lea dx,msg
mov ah,9
int 21h
xor ax,ax
mov cx,n
label1:
cmp a[si],0
jl label2
inc si
cmp si,n
je c21
loop label1
label2:
inc bl
inc si
cmp si,n
je c21
loop label1
c21:
mov al,bl
mov cx,10
lea si,p+3
c20:
cmp ax,10
jb c30
xor dx,dx
div cx
or dl,30h
mov [si],dl
dec si
jmp c20
c30:
or al,30h
mov [si],al
lea dx,p
mov ah,9
int 21h
fatin вне форума Ответить с цитированием
Старый 20.05.2016, 09:52   #2
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Код:
.data
array   db  5,-2,3,4,5,6,-85,-10,-9,11
len     =   $ - array      ; длина массива

.code                      ;
      xor   ax,ax          ; очищаем АХ
      mov   si,array       ; указатель на массив
      mov   cx,len         ; его длина
@1:   lodsb                ; берём в AL байт из SI
      or    al,al          ; логическая операция (можно test)
      jns   next           ; проверяем флаг SF на нуль
      inc   ah             ; считаем отрицательные элементы
next: loop  @1             ; мотаем цикл СХ-раз..
      ;--------------------; AH = кол-во отрицательных элементов
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти количество отрицательных элементов матрицы 3grgbteryjyyr Помощь студентам 1 03.06.2015 19:24
Найти количество отрицательных элементов Маша906 Помощь студентам 1 14.07.2014 11:11
Найти количество отрицательных и нечётных элементов. Wiedzzmin Паскаль, Turbo Pascal, PascalABC.NET 1 31.05.2010 22:03