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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2012, 20:26   #1
Димон222
Пользователь
 
Регистрация: 09.11.2012
Сообщений: 12
По умолчанию Количество нулевых елементов масива

Поправте код:
Код:
model small

 .stack 100h

 .data
 k db ?
 len equ 5 
 mas db 5,0,8,0,8

 .code
 begin:
 mov ax, data
 mov ds, ax
 mov al, 0 
 mov cx, len ;
 xor ax,ax
 xor bx,bx
 jcxz exit
 cycle:
 cmp mas[si],0
 je M1
 inc si
 M1:
 inc al
 inc si
 loop cycle

 mov k, ah
 EXIT: 
 mov ax,4c00h
 int 21h
 end begin
Какие тут ошибки?



________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 09.11.2012 в 21:32.
Димон222 вне форума Ответить с цитированием
Старый 09.11.2012, 21:41   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

много мелких ошибок/помарок/неточностей.
а в ассемблере не бывает мелочей.
поэтому Ваш код не только некомпилируем, но и в принципе не работоспособен.

думаю, что Вы хотели написать что-то вроде такого:
Код:
model small

.stack 100h

.data
 k db ?
 len equ 5 
 mas db 5,0,8,0,8

.code
begin:
 mov ax, @data
 mov ds, ax
 mov al, 0    ; обнулили счётчик нулевых элементов
 mov cx, len  ; взяли количество элементов в массиве
 mov si, 0    ; начинаем с 1-го элемента (смещение = 0)
 cycle:
 cmp mas[si],0
 jne M1
 inc al
M1:
 inc si
 loop cycle

 mov k, al
EXIT: 
 mov ax,4c00h
 int 21h
end begin

p.s. Вас не смущает, что увидеть значение переменной K в вашей программе можно только в отладчике?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.11.2012, 21:49   #3
Димон222
Пользователь
 
Регистрация: 09.11.2012
Сообщений: 12
По умолчанию

Мы все лабы показуем в отладчике.А как я могу посмотреть значения регистра al?
Димон222 вне форума Ответить с цитированием
Старый 09.11.2012, 22:19   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

в каком именно отладчике? любой нормальный и так отображает все регистры!

если же речь идёт про DEBUG
то так выполните команду
Код:
r AX
получите четырёхзначное шестнадцатеричное число.
первые две цифры - это значение регистра AH,
вторые две цифры - значение регистра AL
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.11.2012, 22:29   #5
Димон222
Пользователь
 
Регистрация: 09.11.2012
Сообщений: 12
По умолчанию

Всмысле в програме написать?(я в td полный 0 !!!)

Последний раз редактировалось Димон222; 09.11.2012 в 22:44.
Димон222 вне форума Ответить с цитированием
Старый 09.11.2012, 22:51   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
я в td полный 0 !!!)
в смысле "в td" ?!
в TurboDebugger ?!
там не надо ничего писать. там регистры отображаются и так.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.11.2012, 23:05   #7
Димон222
Пользователь
 
Регистрация: 09.11.2012
Сообщений: 12
По умолчанию

А где увидеть?
Димон222 вне форума Ответить с цитированием
Старый 09.11.2012, 23:33   #8
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

справа....
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 09.11.2012, 23:46   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

смотрим на скриншоте:



p.s. я не знаю, как Вас учат и чему, но если Вам в отладчике не показали, где отображаются регистры, считайте, Вам вообще ничего не показали!
Изображения
Тип файла: jpg td_2.jpg (53.8 Кб, 155 просмотров)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.11.2012, 00:04   #10
Димон222
Пользователь
 
Регистрация: 09.11.2012
Сообщений: 12
По умолчанию

Но я там не вижу AL
Димон222 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как уничтожить 5 последних елементов масива?С++ или С. DIQUON Помощь студентам 2 08.11.2012 22:06
Найти количество положительных, отрицательных и нулевых чисел!! Александр Маслов Помощь студентам 2 21.12.2010 00:32
Найти количество положительных и нулевых элементов массива Rec0rd Помощь студентам 2 31.01.2010 20:24
Как определить количество не пустых елементов масива SeRhy Общие вопросы C/C++ 6 21.10.2009 18:40
Количество нулевых элементов blackslayer Общие вопросы C/C++ 4 17.10.2009 16:35