К сожалению, в массив нельзя писать ASM,поэтому примется примитивы писать в дизассемблированном виде как unsigned int.
const unsigned int __flash Set_SDA[]= {
0x9ac0, // asm("sdi 0x18,0") Установка пина 0
0x9508, // asm(ret)
0x9ac1, // asm(sdi 0x18,1) Установка пина 1
0x9508 // asm(ret)
};
void main( void )
{
unsigned char n;
n = 0; // Работа с пином 0.
((void (*)())(((unsigned int)((unsigned int *)(Set_SDA+(n*2))) >> 1)))();
n = 1; // Работа с пином 1.
((void (*)())(((unsigned int)((unsigned int *)(Set_SDA+(n*2))) >> 1)))();
}