Mein Senf, auch wenn ich noch nie mit dem Simulator gearbeitet habe (schäm):

Wenn ich es richtig deute, versuchst du ein 40KHz-Signal (für einen ultraschall-sender?) zu erzeugen.

Ich zähle die Zyklen, die jeder asm-Befehl benötigt, zusammen und komme somit auf die Laufzeit eines Programmabschnitts. Fürs Grobe nehme ich einen Frequenzzähler, der z.b. auch schon in Multimetern für 30 Euro vorhanden ist.

Sollen beide Zustände, High und Low, die gleiche Länge haben, ist man mit dem waitus-Befehl natürlich schlecht bedient. Ich würde hierfür lieber einen Timer benutzen, das ist erheblich genauer einstellbar.

Diese Vermischung von Basic und ASM ist etwas ungewohnt für meine Augen -.- Ich trenne die verschiedenen Sprachbereiche lieber deutlicher voneinander um z.B. auch besser erkennen und vermeiden zu können, das man in ASM etwas macht, was Bascom aus dem Tritt bringt.

Gruß MeckPommER