Hallo,
ich habe was gefunden und zwar in der interruptroutine machst Du rcalls :
rcall schreibe_bit
rcall loeschebit.....
in den obengenannten routinen sehe ich aber keine rets
also bleiben die Adressen die bei dem Sprung mit rcall auf dem stack geschrieben gerden
auch drin,
damit holst Du dir mit pop am Ende der Routine völlig falsche Werte rein,
ich denke es kommt auch irgenwann dazu daß der ram überläuft.
Ich hoffe daß ich Dein Programm nicht zu schnell überflogen habe, und daß ich damit recht habe.
Gruß Sebastian