Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Изменение массива не получается 
:(
    Опции темы
Black
Дата 10.10.2008, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Web-Development
**


Профиль
Группа: Участник
Сообщений: 980
Регистрация: 15.8.2004

Репутация: нет
Всего: 45



Мне необходимо все числа в массиве которые не равны 0, сделать равными 1.
Написал программу, но она не работает.

Ошибка в строке 
mov    [BX], 1

Не могу понять как изменить значение элемента массива.
Подскажите что не так делаю.


Код

model  SMALL
stack  100h

dataseg
MassB      db     0,10,20,0,0,1,40,66

codeseg
    startupcode

        lea    BX, MassB    ; BX - текущий адрес массива MassB
        mov    CX, 8        ; CX - счетчик числа итераций
        
        BEG:
        mov    AL, [BX]     ; считать очередной байт массива
        test   AL, AL       ; проверяем равен ли регистр нулю
        jz     BitFALSE      
        mov    [BX], 1      ; установим байт в значение 1
        
        BitFALSE:           ; все биты установлены в 0 (false)
        inc    BX           ; следующий элемент массива
        loop   BEG          ; для организации цикла

        ;Конец работы
        QUIT:   exitcode  0
    end




--------------------
Могу все, но ничего не умею :-)
PM WWW   Вверх
Lonley
Дата 10.10.2008, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 597
Регистрация: 7.10.2003
Где: северные ворота М урманск

Репутация: нет
Всего: 4



Код

  mov ax,value_my
  mov [si],ax

где si адресс элемента массива
ax то значение которое должен переслать туда


--------------------
Земную жизнь пройдя до половины,
Я очутился в сумрачном лесу,
Утратив правый путь во тьме долины.
Каков он был, о, как произнесу,
Тот дикий лес, дремучий и грозящий,
PM MAIL ICQ   Вверх
airyashov
Дата 13.10.2008, 07:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 1.7.2008

Репутация: 2
Всего: 6



ассемблер не знает размерности в памят куда указывает bx, нужно явно указать что пишем байт
mov byte ptr   [BX], 1 


--------------------
icq:3(один)7748666
mail:airyashov( а )inbox.ru
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0401 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.