Белов, А.В. Микроконтроллеры AVR: от азов программирования до создания практических устройств

256 Микроконтроллеры AVR от азов программирования... Программа на Ассемблере Возможный вариант программы на Ассемблере показан на листинге 5.15. В программе использованы следующие новые для нас команды. brcs _________________________________________________________ Условный переход по признаку переноса. Выполняет передачу управле ­ ния в случае, если признак переноса С равен единице. Данная команда является полной противоположностью уже знакомой нам команды Ьгсс, которая, напротив, вызывает переход при отсутствии переноса. add _________________________________________________________ Арифметическая операция сложения. Производит сложение содер ­ жимого двух РОН. Эта команда имеет два операнда, в качестве кото ­ рых выступают имена складываемых регистров. В строке 54 программы (листинг 5.15) к содержимому регистра count прибавляется содержимое регистра ZL. Результат помещается в ZL. adc _________________________________________________________ Сложение с переносом. Этот оператор тоже выполняет сложение. Но в процессе сложения он учитывает перенос, возникший в предыдущей операции сложения. Команда сложения с учетом переноса используется при составлении программ, позволяющих складывать большие числа. Если каждое из слагаемых занимает больше, чем один байт, то входящие в них байты складывают в несколько этапов. Сначала складывают младшие байты, а затем старшие. При сложе ­ нии младших байтов может возникнуть бит переноса (если результат оказался больше, чем OxFF). Этот перенос и нужно учесть при сложении старших байтов. Команда adc производит сложение содержимого двух регистров, имена которых указаны в качестве ее операндов. К полученной сумме добавляется значение признака переноса. В строке 56 программы к содержимому регистра temp прибавляется содер ­ жимое регистра ZH с учетом значения признака переноса. Результат помещается в ZH. clr _________________________________________________________ Сброс всех разрядов РОН. Команда имеет один параметр — имя РОН, разряды которого нужно сбросить. Действие этой команды равносильно записи в РОН числа 0x00. mov _________________________________________________________ Передача данных между двумя РОН. Эта команда имеет два операнда. Первый операнд — имя регистра, получателя данных. Второй операнд —

RkJQdWJsaXNoZXIy MTExODQxMg==