Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Assembler
Перезагрузить страницу Нахождение нечётных чисел в массиве
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Wizard Wizard вне форума
Новичок
 
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 15.02.2014
Arrow Нахождение нечётных чисел в массиве - 20.04.2014, 12:55

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

MASM
MODEL small
STACK 256
.data
array dw 32767,150,3078,526,61,8,1,443,9,11,12,13,0
failed db 0ah,0dh,'Array consists of even digits.','$'
success db 0ah,0dh,'In an array of odd numbers occur ','$'
foundtime db ? ;количество найденных элементов
fnd db ' time(s)',0ah,0dh,'$'
.code
main:
mov ax,[тут символ собаки]data
mov ds,ax
xor ax,ax
mov cx,13 ;элементы в массиве
mov SI,offset array ;ссылаемся на первый элемент массива
cld ;обнуляем флаг направления, чтобы регистр SI увеличился после lodsb
xor bx,bx ;обнуляем счётчик нечётных чисел
loopInc:
lodsb ;читаем очередной элемент в регистр AL
shr AL,1 ;сдвигаем вправо на один бит, в CF будет младший бит, для нечётного числа он будет равен 1
jnc noInc ;проверяем флаг CF
inc BL ;увеличиваем счётчик нечётных чисел
inc foundtime ;добавляем к выводу на экран
jns addNumber ;ссылаемся на вывод нечётных чисел
noInc:
loop loopInc ;цикл увеличения счётчика
addNumber:
inc SI ;увеличиваем значение элемента массива
move_next:
cmp foundtime,0h ;сравнение числа совпавших с 0
ja eql ;если больше 0, то переход
not_equal: ;нет элементов, совпавших с искомым
mov ah,09h ;вывод сообщения на экран
mov dx,offset failed
int 21h
jmp exit ;на выход
eql: ;есть элементы, совпавшие с искомым
mov ah,09h ;вывод сообщений на экран
mov dx,offset success
int 21h
mov ah,02h
mov dl,foundtime
add dl,30h
int 21h
mov ah,09h
mov dx,offset fnd
int 21h
exit: ;выход
mov ax,4c00h ;стандартное завершение программы
int 21h
end main ;конец программы
Ответить с цитированием
  (#2 (permalink)) Старый
Wizard Wizard вне форума
Новичок
 
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 15.02.2014
По умолчанию 20.04.2014, 12:58

Прилагаю файл с кодом, отформатированным в Notepad++, если так легче будет читать его.
Вложения
Тип файла: txt 5.4_-_я_пилил.txt (2.3 Кб, 296 просмотров)
Ответить с цитированием
Ads
Ответ

Метки
ассемблер , массив чисел , нечётные числа

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Среднее арифметическое в массиве чисел alfa777beta Visual Basic 1 27.06.2013 07:11
В массиве из 25 вещественных чисел найти наименьший элемент imported_Дмитрий74 Visual Basic 0 19.04.2011 17:17
Нахождение совершенных чисел Airael Assembler 2 11.04.2011 19:37
Delphi - Нахождение среднего среди большого числа чисел P.A.S.C.A.L. Delphi 6 11.02.2011 19:31
Нахождение суммы натуральных чисел на С++ Shenan Вопросы начинающих программистов 0 13.12.2010 02:46
Сумма элементов списка на нечётных позициях nullxdth Prolog 7 07.11.2010 16:34
Нахождение максимального элемента в двумерном массиве kaffetka1841 Assembler 0 12.12.2009 21:30
Нахождение количества элементов в двухмерном массиве Charlie Rat Вопросы начинающих программистов 21 27.12.2007 01:41
Нахождение суммы четных и нечетных чисел массива Charlie Rat Вопросы начинающих программистов 10 08.12.2007 17:58
Определение неповторяющихся чисел в массиве в qbasic HuKaHuH Вопросы начинающих программистов 15 25.12.2006 18:48
Нахождение количества отрицательных или простых чисел в матрице прямоугольной lector C++ Builder 5 30.03.2006 23:19
Нахождение и вывод последовательных неодинаковых чисел в массиве Anonymous Вопросы начинающих программистов 2 23.03.2003 09:08



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов