Поиск:

Ответ в темуСоздание новой темы Создание опроса
> error 2032, ребят, как исправить? 
:(
    Опции темы
JTV
Дата 31.10.2011, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



ассемблер мне еще пока не очень хорошо знаком, помогите разобраться. Надо посчитать, какая по порядку буква в алфавите помощью циклов и команд условного перехода. Вот получилась такая программка...выдает error 2032 в 15 строке. Значит, неправильно использован регистр....как исправить?(пояснения - это так, для себя, чтобы потом не забыть суть, когда сдавать эту работу буду)
Код

.586
.model flat,stdcall
.data
    stroka1 DB 'a','d','z'
    len_stroka1=$-stroka1
.code
    _start:
        mov ECX,len_stroka1 ; запоминаю длину строки
        mov ESI,0 ; индекс массива равен 0
        mov Al,0 ;место буквы в алфавите пока равно 0
        CYC1:
            push ECX ;в стек значение длины
            mov ECX,97
            CYC2:
                CMP stroka1+ESI,ECX
                Inc AL ; увеличиваем место в алфавите на 1
                Inc ECX 
                Inc ECX ; увеличиваем позицию, с которой будем сравнивать
                JE ZNACH ; если равно, то к метке 
            LOOP CYC2
            ZNACH: mov stroka1[ESI],AL
            POP ECx    ; из стека значение длины, а потом -1
            Inc ESI    ;переходим к следующему элементу массива
        LOOP CYC1
        ret
    end _start

PM MAIL   Вверх
iff
Дата 31.10.2011, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


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

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



Вы сравниваете байт (один символ из строки) с двойным словом (регист ECX)


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

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

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


 




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


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

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