not a label hatası (ÇÖZÜLDÜ)

Başlatan erhanzeynel, 30 Kasım 2008, 04:02:27

erhanzeynel

Arkadaşlar pic basic öğrenmeye yeni başladım

MiCrodeStudioPlus, MPLAB ve PBP247 kulanıyorum.

Yazdığım uzunca bir programı derlerken kullandığım etiketlerden bazıları için "etiket is not a label" şeklinde bir hata vermeye başladı.

etiketleri düzgün bir şekilde verdiğimden eminim. Zaten aynı etiketler programın bir önceki sürümünde de vardı ve hatasız derlendi. programa 30 satır ekledim ve usülüne göre tanıttığım etiketleri tanımaz oldu.

Ayrıca bu etiketler mcs nin sol tarafındaki pencerede labels altında da görünüyor. ama pbp derlerken bu etiketler eksik diyor.

Hata verdiği etiketlerden birkaçını yukarı taşıdım o etiket için sorun çözüldü ama hepsi için aynısını yapamayacağım.
sonuçta etiketler "altta kalanın canı çıksın" oynuyor resmen.

arkadaşlar nedir bu sorunun çözüm yolu? Yardım lütfen.

OG

Çözüm kodları görebilmekten gecer.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

ibrsel

Eğer fazla etiket tanımlamış iseniz bu sorunu yaşıyor olabilirsiniz..Kullandığınız entegre 16F84 ise 16F628 veya 16F88 (Bacak bağlantıları aynı ama program hafızaları fazla) kullanarak bir daha deneyin..

erhanzeynel

Alıntı yapılan: "ibrsel"Eğer fazla etiket tanımlamış iseniz bu sorunu yaşıyor olabilirsiniz..Kullandığınız entegre 16F84 ise 16F628 veya 16F88 (Bacak bağlantıları aynı ama program hafızaları fazla) kullanarak bir daha deneyin..

derleyebildiği ve derleyemediği programlar arasında etiket sayısı olarak fark yok birazdan iki kodu birden ekleyeceğim. Ben de 16f84 e kodun sığmamasından korkuyordum ancak elimde başka entegre yok, Balıkesir/Altınoluk'ta oturuyorum, burda 22pf bulmak bile ayrı bir eziyet ve baskı devresini de yaptım.

mcs da chipi 16f877 seçtim, derlerken yine aynı hatayı veriyor.

erhanzeynel

'****************************************************************
'*  Name    : uv pozlandırma için zamanlayıcı                   *
'*  Author  : Erhan Zeynel Ünverir                              *
'*  Notice  : Copyright (c) 2008 - 2015                         *
'*          : All Rights Reserved                               *
'*  Date    : 29.11.2008                                        *
'*  Version : 1.0                                               *
'*  Notes   : sorunsuz derleniyor ve çalışıyor                  *
'*          : 12 adet read, 12 adet write ve 6 adet if then     *
'           : ekleyince derlenemiyor                            *
'****************************************************************
ILK:
    DEFINE OSC 4
    DEFINE WDT_OFF

    
    SET VAR BIT
    BUT1 VAR BIT
    BUT2 VAR BIT
    BUT3 VAR BIT
    BUT4 VAR BIT
    BUT5 VAR BIT
    BUT6 VAR BIT
    BUT7 VAR BIT
    KARSAY VAR BIT
    IL VAR BIT
    GER VAR BIT
    PASS VAR BYTE
    KESSAY VAR BYTE     'KESME SAYMA YAZACI 1 SN ELDE ETMEK İÇİN
    BEKLE VAR BYTE      'BEKLEME DÖNGÜSÜ İÇİN YAZAÇ
    TEKRAR VAR BYTE     'TEKRAR YAZACI
    DISP VAR BYTE       'EKRANDA GÖRÜNECEK SAYI
    BINLER VAR BYTE     'BİNLER YAZACI
    YUZLER VAR BYTE     'YÜZLER YAZACI
    ONLAR VAR BYTE      'ONLAR YAZACI
    BIRLER VAR BYTE     'BİLER YAZACI
    
	INTCON = %10100000
    OPTION_REG = %01010100

    ON INTERRUPT GOTO KESME
    
    

BASLA:
    
    TRISB = %00000000
    TRISA = %00000000
    KESSAY = 0
    TMR0 = 6
    GOSUB KAPAT
    YUZLER = 12
    ONLAR = 12
    BIRLER = 12
    BINLER = 12
    IL = 0
    GER = 0
    BUT1 = 0
    BUT2 = 0
    BUT3 = 0
    BUT4 = 0
    BUT5 = 0
    BUT6 = 0
    BUT7 = 0
    gosub GIRIS
    GOSUB GOSTER
    
ANA:
    GOSUB OKU
    GOSUB YORUMLA 
    GOSUB HESAPLA
    GOSUB KARAR
    gosub GOSTER
    GOTO ANA
    

YORUMLA:
    
     IF BUT7 = 1 THEN
     BIRLER = 1
     ONLAR = 1
     YUZLER = 1
     BINLER = 1
     GER = 0
     IL = 0
     SET = 0
     GOSUB KAPAT
    
     ENDIF
     
     IF SET = 1 THEN
     GOTO AYAR
     ENDIF
     
     IF BUT6 = 1 THEN
     KARSAY = 1
     BIRLER = 1
     ONLAR = 1
     YUZLER = 1
     BINLER = 1
     GER = 0
     IL = 1
     HIGH PORTA.4
     ENDIF
     
     
     
     IF BUT5 = 1 THEN
     SET = 1
     
     ENDIF
     
     IF BUT4 = 1 THEN
     SET = 1
     
     ENDIF
     
     
     GOTO SON4
AYAR:

    IF BUT5 = 1 THEN
    BIRLER = BIRLER + 1
    
   
    
    ENDIF
    
    IF BUT4 = 1 THEN
    IF BIRLER = 1 THEN
    
    IF ONLAR = 1 THEN
    
    IF YUZLER = 1 THEN
    
    IF BINLER = 1 THEN
    
    GOTO SON6
    ENDIF
    ENDIF
    ENDIF
    ENDIF
    BIRLER = BIRLER - 1
    
SON6:    
    
    ENDIF
    
    IF BUT6 = 1 THEN
    KARSAY = 0
    IL = 0
    GER = 1
    HIGH PORTA.4
   
    
    ENDIF
    
SON4:
    RETURN
         
     
    
   

OKU:
    BUT1 = 0
    BUT2 = 0
    BUT3 = 0
    BUT4 = 0
    BUT5 = 0
    BUT6 = 0
    BUT7 = 0
	PASS = PASS - 1
	IF PASS > 1 THEN
	GOTO SON5
    ENDIF
    
    GOSUB GIRIS
    IF PORTB.0 = 0 THEN     'BİRİNCİ DÜĞMEYE BASILDIYSA
    BUT1 = 1             
    ENDIF
    
    IF PORTB.1 = 0 THEN     'İKİNCİ DÜĞMEYE BASILDIYSA
    BUT2 = 1            
    ENDIF
    
    IF PORTB.2 = 0 THEN     'ÜÇÜNCÜ DÜĞMEYEBASILDIYSA
    BUT3 = 1              
    ENDIF
    
    IF PORTB.3 = 0 THEN     'DÖRDÜNCÜ DÜĞMEYE BASILDIYSA
    BUT4 = 1             
    ENDIF
    
    IF PORTB.4 = 0 THEN     'BEŞİNCİ DÜĞMEYE BASILDIYSA
    BUT5 = 1
    KARSAY = 0              
    ENDIF
    
    IF PORTB.5 = 0 THEN     'ALTINCI DÜĞMEYE BASILDIYSA
    BUT6 = 1
    KARSAY = 0            
    ENDIF
    
    IF PORTB.6 = 0 THEN     'YEDİNCİ DÜĞMEYE BASILDIYSA
    BUT7 = 1
    ENDIF
    PASS = 10   
 SON5:   
    RETURN

GIRIS:
    
   
    LOW PORTA.0
    LOW PORTA.1
    LOW PORTA.2
    LOW PORTA.3
    TRISB = %01111111
    PORTB = %00000000
    BUT1 = 0
    BUT2 = 0
    BUT3 = 0
    BUT4 = 0
    BUT5 = 0
    BUT6 = 0
    BUT7 = 0    
    RETURN
    
    
KAPAT:
                      'FLORASANI KAPATMA ALT DÖNGÜSÜ
    LOW PORTA.4         'PORTA 4. BİT 0 OLUR
    RETURN
    
AC:
    
    HIGH PORTA.4        'FLORASANT AÇMA ALT DÖNGÜSÜ
    RETURN              'PORTA 4. BİT 1 OLUR
    
        
CIKIS:
    
    
    LOW PORTA.0
    LOW PORTA.1
    LOW PORTA.2
    LOW PORTA.3
    TRISB = 0
    PORTB = %11111111
    RETURN



GOSTER:
    
    BEKLE = 0
    FOR BEKLE = 1 TO 10
    
    TEKRAR = 0              'KÜMENİN 4 KEZ TEKRARLANMASI İÇİN DÖNGÜ KURULDU
    FOR TEKRAR = 1 TO 4
    
    GOSUB CIKIS              'ÇIKIŞ ATAMALARI YAPILDI
    
    IF TEKRAR = 1 THEN      'İLK TEKRARDA BİRLER HANESİ GÖSTERİLECEK
    DISP = BIRLER - 1
    HIGH PORTA.0
    LOW PORTA.1
    LOW PORTA.2
    LOW PORTA.3
    ENDIF
    
    IF TEKRAR = 2 THEN       'İKİNCİ TEKRARDA ONLAR HANESİ GÖSTERİLECEK
    DISP = ONLAR - 1
    LOW PORTA.0
    HIGH PORTA.1
    LOW PORTA.2
    LOW PORTA.3
    ENDIF
    
    IF TEKRAR = 3 THEN       'ÜÇÜNCÜ TEKRARDA YÜZLER HANESİ GÖSTERİLECEK
    DISP = YUZLER - 1
    LOW PORTA.0
    LOW PORTA.1
    HIGH PORTA.2
    LOW PORTA.3
    ENDIF
    
    IF TEKRAR = 4 THEN       'DÖRDÜNCÜ TEKRARDA BİNLER HANESİ GÖSTERİLECEK
    dISP = BINLER - 1
    LOW PORTA.0
    LOW PORTA.1
    LOW PORTA.2
    HIGH PORTA.3
    ENDIF 

    
SELECT CASE DISP
    CASE 0 
        PORTB = %11000000   ' 0 ın 7sg karşılığı
    CASE 1 
        PORTB = %11111001   ' 1 in 7sg karşılığı
    CASE 2 
        PORTB = %10010010   ' 2 nin 7sg karşılığı
    CASE 3 
        PORTB = %10110000   ' 3 ün 7sg karşılığı
    CASE 4 
        PORTB = %10101001   ' 4 ün 7sg karşılığı
    CASE 5 
        PORTB = %10100100   ' 5 in 7sg karşılığı
    CASE 6 
        PORTB = %10000100   ' 6 nın 7sg karşılığı
    CASE 7 
        PORTB = %11110001   ' 7 in 7sg karşılığı
    CASE 8 
        PORTB = %10000000   ' 8 un 7sg karşılığı
    CASE 9 
        PORTB = %10100000   ' 9 un 7sg karşılığı
    CASE 11
        PORTB = %10111111   ' - nin 7sg karşılığı
END SELECT

    
    NEXT TEKRAR
    
    NEXT BEKLE

	RETURN

	DISABLE
KESME:
	INTCON.2 = 0
	TMR0 = 6    
    KESSAY = KESSAY + 1
    IF KESSAY < 125 THEN
    GOTO SON
    ENDIF
    KESSAY = 0
    
    IF GER = 1 THEN
    BIRLER = BIRLER - 1
	ENDIF
    
    IF IL = 1 THEN
    BIRLER = BIRLER + 1
    ENDIF
    
SON:   
    RESUME
    ENABLE
    
HESAPLA:

    IF BIRLER = 12 THEN
    GOTO SON2
    ENDIF
    
    IF BIRLER < 1 THEN
    ONLAR = ONLAR - 1
    BIRLER = 10
    ENDIF
    
    IF ONLAR < 1 THEN
    YUZLER = YUZLER - 1
    ONLAR = 6
    ENDIF
    
    IF YUZLER < 1 THEN
    BINLER = BINLER - 1
    YUZLER = 10
    ENDIF
    
    IF BIRLER > 10 THEN
    BIRLER = 1
    ONLAR = ONLAR + 1
    ENDIF
    
    IF ONLAR > 6 THEN
    ONLAR = 1
    YUZLER = YUZLER + 1
    ENDIF
    
    IF YUZLER > 10 THEN
    YUZLER = 1
    BINLER = BINLER + 1
    ENDIF
    
SON2:    
    RETURN
    
KARAR:
    
    IF KARSAY = 1 THEN
    GOTO SON3
    ENDIF
    
    IF IL = 0 THEN
    IF GER = 0 THEN
    GOTO SON3
    ENDIF
    ENDIF
    
    
    
    
    IF BIRLER = 1 THEN
    
    IF ONLAR = 1 THEN
    
    IF YUZLER = 1 THEN
    
    IF BINLER = 1 THEN
    GOSUB KAPAT
    SET = 0
    IL = 0
    GER = 0
    KARSAY = 1
    ENDIF
    ENDIF
    ENDIF
    ENDIF
    
SON3:
    
    RETURN
    
    
    
    END


arkadaşlar bu sorunsuz derlenen ve çalışan programım.

erhanzeynel

'****************************************************************
'*  Name    : uv pozlandırma için zamanlayıcı                   *
'*  Author  : Erhan Zeynel Ünverir                              *
'*  Notice  : Copyright (c) 2008 - 2015                         *
'*          : All Rights Reserved                               *
'*  Date    : 29.11.2008                                        *
'*  Version : 1.0                                               *
'*  Notes   :                   *
'*          : 4 adet read, 4 adet write ve 2 adet if then     *
'           : eklendi derlenemiyor                            *
'****************************************************************
ILK:
    DEFINE OSC 4
    DEFINE WDT_OFF

    
    SET VAR BIT
    BUT1 VAR BIT
    BUT2 VAR BIT
    BUT3 VAR BIT
    BUT4 VAR BIT
    BUT5 VAR BIT
    BUT6 VAR BIT
    BUT7 VAR BIT
    KARSAY VAR BIT
    IL VAR BIT
    GER VAR BIT
    PASS VAR BYTE
    KESSAY VAR BYTE     'KESME SAYMA YAZACI 1 SN ELDE ETMEK İÇİN
    BEKLE VAR BYTE      'BEKLEME DÖNGÜSÜ İÇİN YAZAÇ
    TEKRAR VAR BYTE     'TEKRAR YAZACI
    DISP VAR BYTE       'EKRANDA GÖRÜNECEK SAYI
    BINLER VAR BYTE     'BİNLER YAZACI
    YUZLER VAR BYTE     'YÜZLER YAZACI
    ONLAR VAR BYTE      'ONLAR YAZACI
    BIRLER VAR BYTE     'BİLER YAZACI
    
	INTCON = %10100000
    OPTION_REG = %01010100

    ON INTERRUPT GOTO KESME
    
    

BASLA:
    
    TRISB = %00000000
    TRISA = %00000000
    KESSAY = 0
    TMR0 = 6
    GOSUB KAPAT
    YUZLER = 12
    ONLAR = 12
    BIRLER = 12
    BINLER = 12
    IL = 0
    GER = 0
    BUT1 = 0
    BUT2 = 0
    BUT3 = 0
    BUT4 = 0
    BUT5 = 0
    BUT6 = 0
    BUT7 = 0
    gosub GIRIS
    GOSUB GOSTER
    
ANA:
    GOSUB OKU
    GOSUB YORUMLA 
    GOSUB HESAPLA
    GOSUB KARAR
    gosub GOSTER
    GOTO ANA
    

YORUMLA:
    
     IF BUT7 = 1 THEN
     BIRLER = 1
     ONLAR = 1
     YUZLER = 1
     BINLER = 1
     GER = 0
     IL = 0
     SET = 0
     GOSUB KAPAT
    
     ENDIF
     
     IF SET = 1 THEN
     GOTO AYAR
     ENDIF
     
     IF BUT3 = 1 THEN       'YENİ EKLENDİ EKLENİNCE SORUN ÇIKARIYOR
     READ 1 BIRLER          'YENİ EKLENDİ EKLENİNCE SORUN ÇIKARIYOR
     READ 2 ONLAR           'YENİ EKLENDİ EKLENİNCE SORUN ÇIKARIYOR
     READ 3 YUZLER          'YENİ EKLENDİ EKLENİNCE SORUN ÇIKARIYOR
     READ 4 BINLER          'YENİ EKLENDİ EKLENİNCE SORUN ÇIKARIYOR
     ENDIF                  'YENİ EKLENDİ EKLENİNCE SORUN ÇIKARIYOR
     
     IF BUT6 = 1 THEN
     KARSAY = 1
     BIRLER = 1
     ONLAR = 1
     YUZLER = 1
     BINLER = 1
     GER = 0
     IL = 1
     HIGH PORTA.4
     ENDIF
     
     
     
     IF BUT5 = 1 THEN
     SET = 1
     
     ENDIF
     
     IF BUT4 = 1 THEN
     SET = 1
     
     ENDIF
     
     
     GOTO SON4
AYAR:

    IF BUT5 = 1 THEN
    BIRLER = BIRLER + 1
    
    IF BUT3 = 1 THEN            'YENİ EKLENDİ EKLENİNCE SORUN ÇIKARIYOR
    WRITE 1 BIRLER              'YENİ EKLENDİ EKLENİNCE SORUN ÇIKARIYOR
    WRITE 2 ONLAR               'YENİ EKLENDİ EKLENİNCE SORUN ÇIKARIYOR
    WRITE 3 YUZLER              'YENİ EKLENDİ EKLENİNCE SORUN ÇIKARIYOR
    WRITE 4 BINLER              'YENİ EKLENDİ EKLENİNCE SORUN ÇIKARIYOR
    ENDIF                       'YENİ EKLENDİ EKLENİNCE SORUN ÇIKARIYOR
    
   
    
    ENDIF
    
    IF BUT4 = 1 THEN
    IF BIRLER = 1 THEN
    
    IF ONLAR = 1 THEN
    
    IF YUZLER = 1 THEN
    
    IF BINLER = 1 THEN
    
    GOTO SON6
    ENDIF
    ENDIF
    ENDIF
    ENDIF
    BIRLER = BIRLER - 1
    
SON6:    
    
    ENDIF
    
    IF BUT6 = 1 THEN
    KARSAY = 0
    IL = 0
    GER = 1
    HIGH PORTA.4
   
    
    ENDIF
    
SON4:
    RETURN
         
     
    
   

OKU:
    BUT1 = 0
    BUT2 = 0
    BUT3 = 0
    BUT4 = 0
    BUT5 = 0
    BUT6 = 0
    BUT7 = 0
	PASS = PASS - 1
	IF PASS > 1 THEN
	GOTO SON5
    ENDIF
    
    GOSUB GIRIS
    IF PORTB.0 = 0 THEN     'BİRİNCİ DÜĞMEYE BASILDIYSA
    BUT1 = 1             
    ENDIF
    
    IF PORTB.1 = 0 THEN     'İKİNCİ DÜĞMEYE BASILDIYSA
    BUT2 = 1            
    ENDIF
    
    IF PORTB.2 = 0 THEN     'ÜÇÜNCÜ DÜĞMEYEBASILDIYSA
    BUT3 = 1              
    ENDIF
    
    IF PORTB.3 = 0 THEN     'DÖRDÜNCÜ DÜĞMEYE BASILDIYSA
    BUT4 = 1             
    ENDIF
    
    IF PORTB.4 = 0 THEN     'BEŞİNCİ DÜĞMEYE BASILDIYSA
    BUT5 = 1
    KARSAY = 0              
    ENDIF
    
    IF PORTB.5 = 0 THEN     'ALTINCI DÜĞMEYE BASILDIYSA
    BUT6 = 1
    KARSAY = 0            
    ENDIF
    
    IF PORTB.6 = 0 THEN     'YEDİNCİ DÜĞMEYE BASILDIYSA
    BUT7 = 1
    ENDIF
    PASS = 10   
 SON5:   
    RETURN

GIRIS:
    
   
    LOW PORTA.0
    LOW PORTA.1
    LOW PORTA.2
    LOW PORTA.3
    TRISB = %01111111
    PORTB = %00000000
    BUT1 = 0
    BUT2 = 0
    BUT3 = 0
    BUT4 = 0
    BUT5 = 0
    BUT6 = 0
    BUT7 = 0    
    RETURN
    
    
KAPAT:
                      'FLORASANI KAPATMA ALT DÖNGÜSÜ
    LOW PORTA.4         'PORTA 4. BİT 0 OLUR
    RETURN
    
AC:
    
    HIGH PORTA.4        'FLORASANT AÇMA ALT DÖNGÜSÜ
    RETURN              'PORTA 4. BİT 1 OLUR
    
        
CIKIS:
    
    
    LOW PORTA.0
    LOW PORTA.1
    LOW PORTA.2
    LOW PORTA.3
    TRISB = 0
    PORTB = %11111111
    RETURN



GOSTER:
    
    BEKLE = 0
    FOR BEKLE = 1 TO 10
    
    TEKRAR = 0              'KÜMENİN 4 KEZ TEKRARLANMASI İÇİN DÖNGÜ KURULDU
    FOR TEKRAR = 1 TO 4
    
    GOSUB CIKIS              'ÇIKIŞ ATAMALARI YAPILDI
    
    IF TEKRAR = 1 THEN      'İLK TEKRARDA BİRLER HANESİ GÖSTERİLECEK
    DISP = BIRLER - 1
    HIGH PORTA.0
    LOW PORTA.1
    LOW PORTA.2
    LOW PORTA.3
    ENDIF
    
    IF TEKRAR = 2 THEN       'İKİNCİ TEKRARDA ONLAR HANESİ GÖSTERİLECEK
    DISP = ONLAR - 1
    LOW PORTA.0
    HIGH PORTA.1
    LOW PORTA.2
    LOW PORTA.3
    ENDIF
    
    IF TEKRAR = 3 THEN       'ÜÇÜNCÜ TEKRARDA YÜZLER HANESİ GÖSTERİLECEK
    DISP = YUZLER - 1
    LOW PORTA.0
    LOW PORTA.1
    HIGH PORTA.2
    LOW PORTA.3
    ENDIF
    
    IF TEKRAR = 4 THEN       'DÖRDÜNCÜ TEKRARDA BİNLER HANESİ GÖSTERİLECEK
    dISP = BINLER - 1
    LOW PORTA.0
    LOW PORTA.1
    LOW PORTA.2
    HIGH PORTA.3
    ENDIF 

    
SELECT CASE DISP
    CASE 0 
        PORTB = %11000000   ' 0 ın 7sg karşılığı
    CASE 1 
        PORTB = %11111001   ' 1 in 7sg karşılığı
    CASE 2 
        PORTB = %10010010   ' 2 nin 7sg karşılığı
    CASE 3 
        PORTB = %10110000   ' 3 ün 7sg karşılığı
    CASE 4 
        PORTB = %10101001   ' 4 ün 7sg karşılığı
    CASE 5 
        PORTB = %10100100   ' 5 in 7sg karşılığı
    CASE 6 
        PORTB = %10000100   ' 6 nın 7sg karşılığı
    CASE 7 
        PORTB = %11110001   ' 7 in 7sg karşılığı
    CASE 8 
        PORTB = %10000000   ' 8 un 7sg karşılığı
    CASE 9 
        PORTB = %10100000   ' 9 un 7sg karşılığı
    CASE 11
        PORTB = %10111111   ' - nin 7sg karşılığı
END SELECT

    
    NEXT TEKRAR
    
    NEXT BEKLE

	RETURN

	DISABLE
KESME:
	INTCON.2 = 0
	TMR0 = 6    
    KESSAY = KESSAY + 1
    IF KESSAY < 125 THEN
    GOTO SON
    ENDIF
    KESSAY = 0
    
    IF GER = 1 THEN
    BIRLER = BIRLER - 1
	ENDIF
    
    IF IL = 1 THEN
    BIRLER = BIRLER + 1
    ENDIF
    
SON:   
    RESUME
    ENABLE
    
HESAPLA:

    IF BIRLER = 12 THEN
    GOTO SON2
    ENDIF
    
    IF BIRLER < 1 THEN
    ONLAR = ONLAR - 1
    BIRLER = 10
    ENDIF
    
    IF ONLAR < 1 THEN
    YUZLER = YUZLER - 1
    ONLAR = 6
    ENDIF
    
    IF YUZLER < 1 THEN
    BINLER = BINLER - 1
    YUZLER = 10
    ENDIF
    
    IF BIRLER > 10 THEN
    BIRLER = 1
    ONLAR = ONLAR + 1
    ENDIF
    
    IF ONLAR > 6 THEN
    ONLAR = 1
    YUZLER = YUZLER + 1
    ENDIF
    
    IF YUZLER > 10 THEN
    YUZLER = 1
    BINLER = BINLER + 1
    ENDIF
    
SON2:    
    RETURN
    
KARAR:
    
    IF KARSAY = 1 THEN
    GOTO SON3
    ENDIF
    
    IF IL = 0 THEN
    IF GER = 0 THEN
    GOTO SON3
    ENDIF
    ENDIF
    
    
    
    
    IF BIRLER = 1 THEN
    
    IF ONLAR = 1 THEN
    
    IF YUZLER = 1 THEN
    
    IF BINLER = 1 THEN
    GOSUB KAPAT
    SET = 0
    IL = 0
    GER = 0
    KARSAY = 1
    ENDIF
    ENDIF
    ENDIF
    ENDIF
    
SON3:
    
    RETURN
    
    
    
    END


Bu da derlenemiyen programım.
2 adet if then, 4 adet read, 4 adet write ekledim program derlenemez oldu.

pic 16f877 seçsem de derlenemiyor.

erhanzeynel

bu da sorunun ekran görüntüsü


erhanzeynel

evet arkadaşlar 40 görüntüleme ve 2 cevap.

Cevaplar beni çözüme ulaştıramadı yine de cevap yazan arkadaşlara teşekkürler.

Yokmu bir fikri olan?
ya da kodları kendi bilgisayarında derlemeyi deneyen?

benim programda mı bir sorun var yoksa pbp da mı onu bir araştıralım.

OG

Program yazarken for-next ve if-endif lerde TAB tuşunu kullanırsan daha toplu görünür. Bu olmazsa programı incelemek zor geliyor ve bakan olmuyor.

   IF BUT4 = 1 THEN
        IF BIRLER = 1 THEN
            IF ONLAR = 1 THEN
            IF YUZLER = 1 THEN
                IF BINLER = 1 THEN
                    GOTO SON6
                ENDIF
            ENDIF
        ENDIF
    ENDIF

gibi.



READ ve WRITE komutlarını yanlış yazmışsın, virgüller eksik, hatayı ondan veriyor.

READ 1, BIRLER
WRITE 1, BIRLER
şeklinde düzelt.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

erhanzeynel

çok teşekkür ederim. Az önce ben de read ve write komutlarındaki hatayı farkettim ve düzelttim. Program derlemesindeki hata gitti.

Yanıltıcı olan bu hata nedeniyle ... not a label şeklinde hata vermesi oldu.

teşekkür ederim.