Watchdog ISR in assembly language

Can't you use the assembler .include directive? This works for me in Linux (I don't know about Windows).

asm (".include \"/full/path/to/sketch/asm.h\" \n");

extern "C" int func();

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  Serial.println(func());
}

asm.h:

.section .text

.equ elo, 105
.equ ehi, 122

.global func
func:
  ldi r24,elo
  ldi r25,ehi
  ret

I use a .h file so the IDE doesn't complain, it's a bit of a hack. You seem to have to use an absolute path to .include, and you have to remember to save it in the IDE each time you change it before compiling.