MCS İÇERİSNDE ASM KULLANIMI

Başlatan EMKE, 15 Şubat 2015, 23:59:36

EMKE

Arkadaşlar iyi akşamlar herkese  yazdığım programda bazı yerlerde asm blokları kullanmam gerekiyor ama programı derlediğimde hata veriyor nerde yanlış yapıyorum bilen varsa yardımcı olabilirmiyim yazdığım kod aşağıda teşekkür ederim şimdiden cevaplar için.

TUS VAR BYTE   isimli bir register tanımladım    symbol not previously defined [113]  şeklinde bir hata gösteriyor derleme sonucunda.
  ayrıca bir hata daha var oda   : ıllegal digit ( f in decimal) [107)
DISABLE
KESME: 
       IF INTCON.0=1 THEN TUS_OKU
       GOTO NEXT1
TUS_OKU:
       asm
          SWAPF  PORTB,W
          ANDLW  0*0f
          MOVWF  TUS       
       endasm

ete

Değişken isimleri _ karekteri ile başlamalıdır.
Tanımlama kısmı normal ama ASM içinde kullanılan değişken isimleri "_" ile başlamalıdır aşağıdaki gibi;

B0 Var Byte

Asm
  movlw 10 
  movwf _B0
Endasm

İkinci hatada f biti nin desimal olması gerektiği belirtilmiş.
f bir asm komut parametresidir. 1 veya 0 olmasına bağlı olarak değişik anlam ifade eder. Bu bit ya 0 yada 1 dir.
Bunu $1 veya $f şeklinde yazdınız ise hata verecektir.
swapf wsave, f
bu komutda olduğu gibi f nn değerine bağlı olarak sonucun W registerinemi yoksa wsave isimli değişken adresine mi yerleşeceğini belirler.

Ete

Powered by EzPortal