Спойлер

Вопрос. В чем прикол? Ошибка ДШ. В ерате вроде этого нет или я не туда гляжу?

Код: Выделить всё
// vectors_atmega32.inc
.cseg
.org 0x0000
jmp Reset
; ***** INTERRUPT VECTORS ************************************************
.org INT0addr ; External Interrupt Request 0
reti ; jmp EXT_INT0
.org INT1addr ; External Interrupt Request 1
reti
.org INT2addr ; External Interrupt Request 2
reti
.org OC2addr ; Timer/Counter2 Compare Match
// jmp TIMER2_COMP
rjmp TIMER2_COMP // Пример !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.org OVF2addr ; Timer/Counter2 Overflow
reti
.org ICP1addr ; Timer/Counter1 Capture Event
reti
.org OC1Aaddr ; Timer/Counter1 Compare Match A
reti
.org OC1Baddr ; Timer/Counter1 Compare Match B
reti
.org OVF1addr ; Timer/Counter1 Overflow
reti
.org OC0addr ; Timer/Counter0 Compare Match
reti ; jmp TIMER0_COMP
.org OVF0addr ; Timer/Counter0 Overflow
reti
.org SPIaddr ; Serial Transfer Complete
reti
.org URXCaddr ; USART, Rx Complete
reti
.org UDREaddr ; USART Data Register Empty
reti
.org UTXCaddr ; USART, Tx Complete
reti
.org ADCCaddr ; ADC Conversion Complete
reti
.org ERDYaddr ; EEPROM Ready
reti
.org ACIaddr ; Analog Comparator
reti
.org TWIaddr ; 2-wire Serial Interface
reti
.org SPMRaddr ; Store Program Memory Ready
reti
;-------------------------------------------------------------------------
;-------------------------------------------------------------------------
.org INT_VECTORS_SIZE ; size in words
;===================
Код: Выделить всё
//---------------------------------------------------------
[] - jmp 0x0000
[] - 0x0001
[] - следующий вектор 0x02
[] -
//------------------------------------------------------
[] - reti 0x0000
[] - 0xff (заглушка) 0x0001
[] - следующий вектор 0x02
[] -
//---------------------------------------------------------
В старом нет такой сноски на данные команды?Demiurg писал(а):Из-за этого я храню старые версии даташитов.
Не получается у меня по другому перевести эту фразу.Note: 1. These instructions are only available in ATmega168PA and ATmega328P.
Код: Выделить всё
;===================
.nolist
.include "m168Adef.inc"
.list
;===================
jmp Reset
Reset:
jmp Reset
По-моему здравый смысл - это четкое соблюдение ДШ, без догадок. Вот я и спрашивал у форумчан, ошибка или это, есть ли где указание на нее.Demiurg писал(а):Исходите из здравого смысла.
Смысл этой фразы в даташите в том, что инструкции доступны не относительно букв A-PA, а относительно ядер 48-88-168-328, т.к. даташит обычно общий на несколько моделей контроллеров. Т.е. в данном случае эти команды отсутствуют в 48 и 88 контролерах, независимо от того, есть там буква на конце или нет.Z_h_e писал(а):Никакого тут яндекса не надо чтобы это понять. Данная запись указывать, что данные инструкции недоступны для Atmega168A и Atmega328.