proton register set etme hatası

Başlatan uardal, 30 Temmuz 2012, 15:06:59

uardal

herkese kolay gelsin,

son günlerde protonda şöyle bir sorun almaya başladım, kesme için registerleri set ederken bazı registerlere müdahale edemiyorum, programın asm çıktısı aşağıda , tecrübeli arkadaşlardan yardım rica edicem mümkünse.

en basit hata rx kesmesi için rcie bitini 1 yapıyorum fakat asm çıktısı olarak bsf status,5 komutu işletiyor. ne olduğunu anlayamadım.

F1_000037 equ $ ; in [KILIT ALICI.BAS] RCIE=1
   Bsf STATUS,5

F1_000031 equ $ ; in [KILIT ALICI.BAS] bsf STATUS.5
   Bsf STATUS,5
F1_000032 equ $ ; in [KILIT ALICI.BAS] bsf PIE1.5
   Bsf PIE1,5
F1_000033 equ $ ; in [KILIT ALICI.BAS] bcf STATUS.5
   Bcf STATUS,5
F1_000035 equ $ ; in [KILIT ALICI.BAS] GIE=1
   Bsf INTCON,7
F1_000036 equ $ ; in [KILIT ALICI.BAS] PEIE=1
   Bsf INTCON,6
F1_000037 equ $ ; in [KILIT ALICI.BAS] RXIE=1
   Bsf STATUS,5
ram_bank = 1
   Bsf PIE1,5
F1_000038 equ $ ; in [KILIT ALICI.BAS] RBIE=1
   Bsf INTCON,4
F1_000039 equ $ ; in [KILIT ALICI.BAS] RCSTA.7=1
   Bcf STATUS,5
ram_bank = 0
   Bsf RCSTA,7
F1_000040 equ $ ; in [KILIT ALICI.BAS] PORTB_PULLUPS=FALSE
   Bsf STATUS,5
ram_bank = 1
   Bsf OPTION_REG,7
F1_000041 equ $ ; in [KILIT ALICI.BAS] ALL_DIGITAL =TRUE
   Movlw 7
   Bcf STATUS,5
ram_bank = 0
   Movwf CMCON
F1_000045 equ $ ; in [KILIT ALICI.BAS] Output PORTB.4
   Bsf STATUS,5
ram_bank = 1
   Bcf TRISB,4
F1_000048 equ $ ; in [KILIT ALICI.BAS] Input PORTB.1
   Bsf TRISB,1

Tagli

PIC modelini yazmamışsın, 16F628A'yı referans aldım.

İstediğin işlem yapılıyor. Bsf PIE1,5 komutu RCIE'yi 1 yapar. Ancak oraya erişebilmek için Bank1'e geçmek gerekir. Bsf STATUS,5 de bu bank değişimini yapıyor.
Gökçe Tağlıoğlu