(дополнение к ответу Bill'a) Ответ на вопрос содержится в самом вопросе. (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено ShiphT 13 февраля 2004 г. 11:54
В ответ на: Тут всего 16 типов переходов: один из них в "никуда", один "всегда"(яля просто JMP), остальные по условию. отправлено Sergey Pinigin 13 февраля 2004 г. 10:54

16 типов - т.е 4 бита в опкоде определяют тип jmp.
все условия, в конечном итоге, сводятся к однобитовой проверке и, скорей всего, три бита определяют тип чего сравнивать, а четвертый - с чем сравнивать, например:
010 1 - переход если ноль (флаг Z == 1)
010 0 - переход если неноль (флаг Z == 0)
011 1 - переход если перенос (флаг C == 1)
011 0 - переход если неперенос (флаг C == 0)
и т.д.
Тогда безусловный переход (просто jmp) сравнивает 0(1):
000 0 - переход если (!) ноль есть ноль (0 == 0) - всегда верно
000 1 - переход если (!) ноль есть неноль (0 == 1) - что ессно чушь и перехода никогда не будет.
Т.о команда "нет перехода на адрес" получилась сама-собой из выкройки системы команд.

PS:Обычно такие команды являются недокументированными (Z80, x86 и т.д.)

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru