8bit işlemcide 9 girişi test etme asm ile

Başlatan ilhan_mkp, 22 Nisan 2012, 12:58:02

ilhan_mkp

arkadaşlar 8bitlik bir işlemcim var atmega16 9 girişim 3çıkışım var
girişlere göre çıkışları değiştereceğim fakat 9 biti en lolay nasıl test ederim
8biti aşağıdaki gibi kontrol ediyorum fakat 9bit olunca iş baya karışacak gibi
bu bit test olayını bana anlatabilirmisiniz avr olması şart değil mantığı anlasam yetecek

.include "m16def.inc"

.cseg
.org 0x0000
 rjmp main

main:
	 ldi r16,0x00 
	 out ddrc,r16 ;portc giriş

     ldi r16,0xff 
	 out ddrd,r16 ;portd çıkış
     rjmp btknt

fw:
   sbi portd,0    ;portd0 set
   rjmp btknt

rw:
   sbi portd,1    ;portd1  set
   rjmp btknt     ;btknt etiketine atla

rst:
    cbi portd,0   ;portd0 reset
	cbi portd,1   ;portd1 reset
	   
btknt:
	   in r17,pinc   ;pinc yi r17 yaz 
	   cpi r17,0xfe  ;r17 ile 0xfe değerini karşılaştır
	   breq fw       ;karşılaştırma doğru ise fw ye atla
	   
	   in r17,pinc   ;pinc yi r17 yaz 
	   cpi r17,0x7e  ;r17 ile 0x7e değerini karşılaştır
	   breq rw       ;karşılaştırma doğru ise rw ye atla
	   
	   in r17,pinc    ;pinc yi r17 yaz 
	   cpi r17,0xf0   ;r17 ile 0xf0 değerini karşılaştır
	   breq rst       ;karşılaştırma doğru ise rw ye atla
	   
	   rjmp btknt    ;btknt atla

mehmet

8-biti taşıyan değişken gibi yine 8-bitlik bir değişken
daha tanımla, 9.biti kontrol etmek için. Bu değişkenin
0-1 olma durumunu denetleyerek sorunu çözebilirisin.

Saygılar...
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr