Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Информационные технологии
        Сравнение значений регистров в MPASM
Отметить все сообщения как прочитанные   [ Помощь ]
» Добро пожаловать на форум "Информационные технологии" «

Переход к теме
<< Назад Вперед >>
Одна страница
Модераторы: paradise, KMA
  

Alexsis f


Новичок


Всех приветствую. При программировании PIC-контроллеров столкнулся с проблемой.
Ситуация следующая. Имеются значения 2-х регистров PASS и VAR. Следует осуществить сравнение из значений, и в случае:
1) если условно VAR = PASS , то переходим к метке "loopY";
2) если условно VAR <> PASS, то переходим к метке "loopX"
Код ASM1
;Вот кусок кода
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
movlw   b'00000001'
movwf   PASS          ;Присваиваем значение регистру PASS
movlw   b'00000011'
movwf   VAR            ;Присваиваем значение регистру VAR
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
loop:
movlw   PASS    ; заносим PASS в W
xorwf   VAR,  0 ; побитовое ИЛИ (меняется флаг Z регистра STATUS)
                     ;0-нулевой результат выполнения арифм. операции;
                     ;1-ненулевой результат...
btfss   STATUS, 0x02  ;если 3-й бит STATUS = 1, то прыжок...
goto    loopX
goto     loopY


Условие не выполняется. Не могу понять, где я допустил ошибку.
Был бы благодарен за разъяснения.

Всего сообщений: 1 | Присоединился: март 2011 | Отправлено: 28 марта 2011 9:09 | IP
Alexu007


Новичок

1. Я не силён в ассемблере для контроллеров - он точно может сравнивать регистр с константой? Может только регистр с регистром или регистр с памятью?

2. В "обычном" ассемблере оператор xor часто используется для обнуления регистров, например xor ax, ax. Вы уверены, что вам надо именно xor, а не скажем or или cmp?

3. goto - оператор безусловного перехода. Независимо от результата выполнения операции "btfss   STATUS, 0x02" вы всегда перепрыгните в loopX, и никогда в loopY


(Сообщение отредактировал Alexu007 31 марта 2011 0:43)


(Сообщение отредактировал Alexu007 31 марта 2011 0:47)

Всего сообщений: 11 | Присоединился: март 2011 | Отправлено: 31 марта 2011 0:42 | IP

Отправка ответа:
Имя пользователя   Вы зарегистрировались?
Пароль   Забыли пароль?
Сообщение

Использование HTML запрещено

Использование IkonCode разрешено

Смайлики разрешены

Опции отправки

Добавить подпись?
Получать ответы по e-mail?
Разрешить смайлики в этом сообщении?
Просмотреть сообщение перед отправкой? Да   Нет
 

Переход к теме
<< Назад Вперед >>
Одна страница

Форум работает на скрипте © Ikonboard.com