Страница 1 из 1

Неопознанная ошибка при компиляции

Добавлено: 30 апр 2009, 22:59
kolorimage
У меня программа-
.model small
.stack 100h
.data
mas db 1h,2h,3h,2h,4h,2h
kilk db ?
.code
mov ax,@data
mov al,mas
mov bx,0
mov ah,2h
mov cx,5
m1:
mov di,cx
cmp mas[di],ah
jne m2
inc bx
m2:loop m1
mov ah,4ch
int 21h
end
Должно быть так..Задан массив (mas db 1h,2h,3h,2h,4h,2h) и я должен програмно проверить сколько у масиве чисел 2h.сделал програму и всьо вроде ок , но только программа пропускает вот ету строчку -inc bx.
Что не так ???подскажыте..

Re: Неопознанная ошибка при компиляции

Добавлено: 01 май 2009, 16:08
Naeel Maqsudov
Не пропускает при компиляции?
А сообщение об ошибке какое?

Re: Неопознанная ошибка при компиляции

Добавлено: 01 май 2009, 16:54
kolorimage
Ошибки нет..но программа не делает то что должна..
Сначала программа заносит число 5 в сх (размер массива) ,потом строка mov di,cx ,заносит это число в DI и строки cmp mas[di],ah jne m2 проверяют если число з массива mas [di] и 2h не ровно один одному то мы переходим на метку m2:loop m1 если ровно то мы проходим и додаем до bx 1.Но только программа думает что в массиве нет числа 2h ,но оно там эсть , и целых 3 штуки.Что не так??

Re: Неопознанная ошибка при компиляции

Добавлено: 02 май 2009, 00:17
somewhere
mov ax,@data
Наверное следующей строчкой вы хотели написать mov ds, ax

Re: Неопознанная ошибка при компиляции

Добавлено: 02 май 2009, 00:37
kolorimage
ТОЧНО :D .Спасибо большое.