Sbci Rd,K - вычесть константу K и флаг переноса из содержимого регистра Rd, результат поместить в рег. Rdandi Rd,K - лог. И между константой K и содержимым регистра Rd, результат поместить в регистровую пару Rd. ori Rd,K - лог. ИЛИ между константой K и содержимым регистра Rd, результат поместить в регистр Rd. В МК-ах AVR фирмы ATMEL предусмотрены несколько способов адресации: 1.) Все выше описанные команды относятся к непосредственной адресации – когда - данные, над которыми осуществляется операция, находятся в самой команде; 2 .) регистровая адресация - данные, над которыми осуществляется операция, находятся в регистрах Rr (источник) и Rd (приемник) inc Rd – увеличить на единицу (инкремент) содержимое регистра Rd. dec Rd - уменьшить на единицу (декремент) содержимое регистра Rd. mov Rd,Rr – скопировать содержимое регистра Rr в регистр Rd. and Rd,Rr - лог.И меджу содержимым регистра Rr и регистра Rd. Результат находится в Rd. cp Rd,Rr - сравнить содержимое регистра Rr и регистра Rd. (Rd-Rr); 3.) прямая адресация - пересылка данных между одним из РОН и ячейкой памяти ОЗУ lds Rd,address – скопировать данные из ячейки памяти с указанным в команде адресом в регистр Rd. sts address,Rr - скопировать данные из регистра Rr в ячейку памяти с указанным в команде адресом. 4.) косвенная адресация - данные, над которыми осуществляется операция находятся в ячейке памяти, адрес которой хранится в регистре X, Y или Z. ld Rd,X -загружает один байт из адресного пространства памяти данных в РОН Rd. Адрес ячейки памяти, к которой производится обращение, содержится в регистровой паре Х. st Y,Rr - … 5.) косвенная с преддекрементом - данные, над которыми осуществляется операция находятся в ячейке памяти, адрес которой получается в регистре X, Y или Z, после вычитания из него единицы ld Rd,-X st -Z,Rr 6.) косвенная с постинкрементом - данные, над которыми осуществляется операция находятся в ячейке памяти, адрес которой хранится в регистре X, Y или Z; после чего, содержимое регистра X, Y или Z увеличивается на единицу ld Rd,X+ st Z+,Rr 7.) относительная косвенная адресация - данные, над которыми осуществляется операция находятся в ячейке памяти, адрес которой получается суммированием содержимого регистра Y или Z с константой, задавемой в команде ldd Rd,Y+q (q=0..63.) - (содержимое индексного регистра не изменяется) std Z+q,Rr (q=0..63.)
|