Команды передачи управления делятся, с одной стороны, на команды безусловного перехода и похожие на них команды вызова подпрограмм (последние от первых отличаются тем, что явно размещают в стеке содержимое счетчика команд для последующего возврата из подпрограммы), с другой стороны, — на команды условного перехода, т. е. нарушения последовательности выполнения операторов по какому-то условию. Большинство таких команд оперируют с адресом в памяти (К) оператора, на который производится переход. В тексте ассемблерных программ абсолютные или относительные числа, обозначающие адрес, в команды передачи управления не подставляются, вместо них указывают метки, которые затем компилятор интерпретирует, как абсолютный адрес. Команды, начинающиеся с буквы «В» (от Branch— «ветка») предполагают предварительный вызов одной из команд сравнения. Описание команд передачи управления приведено в табл. П4.4—П4.5.
Команды безусловного перехода и вызова подпрограмм
1Для устройств с максимально возможным объемом памяти программ до 64 К слов (128 кбайт).
Команды условного перехода
1Значение 2 — если следующая команда занимает одно слово (два байта) и 3 — если следующая команда занимает два слова (четыре байта).
2Команды SBIC и SBIS действительны только для РВВ по первым 32 адресам (0..31).
В табл. П4.6 приведено описание команд переноса данных.
В табл. П4.7 приведены команды управления системой.
Приложение 5
Тексты программ
Далее приведены полные тексты микропрограмм для конструкций, разбираемых в книге. Каждая программа подробно описана в указанных далее главах. Для воспроизведения сканируйте исходный текст с помощью Fine Reader, проверьте и сохраните в виде текстового файла с расширением asm. После этого программу можно компилировать и загружать в память контроллера, как описано в
Описание схемы и программы часов см.