Interrupts in assembly language

Given an interrupt that occurs at 500 microsecond intervals, write an interrupt handler that generates a square wave output by setting an interface bit high for a specific number of 500 microsecond periods and then sets the interface bit low for the same number of periods before repeating the process. 
The interface is at a location whose address is equated to the label GEN and the relevant bit is 0. 

How to approach this problem using assembly language ?