Ben assembly kullanıyorum diğer dillerden hiç anlamam, sadece şöyle bir öneride bulunabilirim eğer delay_ms(500) yerine delay_ms(degısken)şeklinde bir kullanım mevcutsa program içerisinde 2 buton tanımlayıp bu iki butonu sürekli tarayıp butonlara basıldığında hangi butonsa degısken değerini arttırığp azaltabilirsiniz, bu olmuyorsa delay_ms(500) yi bir döngü içerisine koyup bu döngünün tekrar sayısını yine butonlarla arttırılıp azaltılan gecikme_tekrar adlı değişkenle sağlarsınız, dili bilmediğim için ancak bu kadar, assembly olsaydı daha net yardımcı olabilirdim.