Darum geht es auch nicht.

Wenn du es 1:1 übertragen möchtest, dann musst du auch die lokalen Variablen volatile machen. Versuch das mal, und GCC macht Code, der locker doppelt so groß ost wie der von BASCOM...