Курс лекций - Микропроцессоры

Команды ветвления и передачи управления - часть 2


MOV A, 34 ;Если в переменной, хранящейся в ячейке внутренней памяти 34 JNB ACC_7, TstEQ5 ;число меньше нуля, CALL Podprogramma ;то вызвать подпрограмму, обозначенную меткой ‘Podprogramma’ TstEQ5 ;------------------------------------------------------------------------------------------------------ CJNE A,#5,TstLT5 ;Если в переменной, хранящейся в ячейке внутренней памяти 34 занесено число 5, CALL Podpr5 ;то вызвать подпрограмму, обозначенную меткой ‘Podpr5’ TstLT5 ;------------------------------------------------------------------------------------------------------ JNС TstGE5 ;Если в переменной, хранящейся в ячейке внутренней памяти 34 занесено число, меньшее 5, CALL PodprLT5 ;то вызвать подпрограмму, обозначенную меткой ‘PodprLT5’ TstGE5 ;--------------------------------------------------------------------------------- JC TstNxtUsl ;Если в переменной, хранящейся в ячейке внутренней памяти 34 занесено число, большее или равное 5, CALL PodprGE5 ;то вызвать подпрограмму, обозначенную меткой ‘PodprGE5’ TstGT5 ;------------------------------------------------------------------------------------------------------ CJNE A,#6,$+3 ;Если в переменной, хранящейся в ячейке внутренней памяти 34 JC TstNxtUsl ;занесено число, большее 5, CALL PodprGT5 ;то вызвать подпрограмму, обозначенную меткой ‘PodprGT5’ ;--------------------------------------------------------------------------------- JNC TstNxtUsl ;Если в переменной, хранящейся в ячейке внутренней памяти 34 занесено число, меньшее или равное 5, CALL PodprLE5 ;то вызвать подпрограмму, обозначенную меткой ‘PodprLE5’

Как видно из приведённых примеров, команды переходов этого микроконтроллера позволяет реализовать намного более эффективные по количеству команд программы по сравнению с другими процессорами, такими как, например .

Косвенный переход в системе команд микроконтроллеров семейства MCS-51 обеспечивает ветвление программы по содержимому аккумулятора А. Это позволяет реализовывать операцию перехода по заданному коду, эквивалентную оператору case в языке программирования pascal, но намного быстрее (за два машинных цикла).


- Начало -  - Назад -  - Вперед -