From button press, how long does it take to change data on the fly using BusTools/1553-API?

An example is to have a button that when pressed toggles data in an on-board memory location between 0 and 1. When the value is 0, one command is executed. When the value is 1, another command is executed. Timing depends on the latency in the user program and the frame rate. If it takes 100 milliseconds from the button push before the data is toggled in the memory location, then that time is added to the time it takes to execute the branch command. If you have a major frame rate of 1 second, it could take as much as 1.2 seconds to execute the branch.

If you plan to use interrupts, then the latency of the interrupt depends on the the system interrupt latency and the interrupt processing that then takes place. In 32-Bit Windows and UNIX systems, we provide a high-level interrupt processing feature in BusTools_RegisterFunction. This is a very convenient function, but not very deterministic. It can take 100 - 200 microseconds to get into a user function after the interrupt event. If you need faster processing you should write your own interrupt handling function. If you need very fast and very deterministic interrupts, use a real-time O/S like VxWorks.