Столкнулся с необходимостью прочитать данные из Signature Row в IAR. С ходу в интернете не нашел, написал сам. Вот делюсь, может кому пригодится:

Код
uint8_t ReadSignatureRow(uint16_t address) {
  // функция использует под свои нужды GPIOR0 и GPIOR1!
  GPIOR0=uint8_t(address);
  GPIOR1=uint8_t(address>>8);
  unsigned char _t=__save_interrupt();
  __disable_interrupt();
  while (SPMCSR_SPMEN==1);
  asm("IN R30,0x1E \n" // из GPIOR0, младшая часть адреса
      "IN R31,0x2A \n" // из GPIOR1, старшая часть адреса
      );
  SPMCSR=0x21;    
  asm("LPM \n"
      "MOV R16,R0 \n"
      "OUT 0x1E, R16"  // Выводим результат в GPIOR0
      );    
  while (SPMCSR_SPMEN==1);
  __restore_interrupt(_t);
  return GPIOR0;
}