ASM İLE PBP ARASINDA REGISTER BAĞINTISI

Başlatan bigbey, 06 Haziran 2005, 16:55:12

bigbey

Tüm üye arkadaşlara selamlar.
Picbasic'de ASM kod'u yazıldığında kullanılan değişken içeriğini ASM'den çıkınca nasıl değerlendirebiliriz.
ASM rutini içinde kullandığımız bir değişkenin değerini Basic bölümünde nasıl kullanabiliriz.
TA6R

ete

@bigbey,

PBP da değişkenlerine isim vererek tanımlıyorsun.
Sonra ASM bölümünde yazdığın kodlarda hafıza numarası yerine bu değişken isimlerini kullanıyorsun. Böylece Asm içinde veya Asm den çıktığın zaman aynı değişkenleri istediğin gibi kullanabilirsin.

ETE
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

bigbey

SAYIN ETE,

****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2005 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 06.06.2005                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
REGISTER1    VAR BYTE 

TRISD = 0

    
MAIN: 
    REGISTER1 = $FF
    CALL    LABEL1
    GOTO    MAIN
    
LABEL1:
ASM
      MOVF  REGISTER1,W
      MOVWF PORTD
      RETURN
ENDASM    

      END


Yazdığımda ASM bölümü için symbol not previously defined Register1 mesajı veriyor.Sembol tanımsız görünüyor.Biraz daha açıklayabilirmisin.
TA6R

ete

@Bigbey,

Bir noktayı açıklamayı unutmuşum Kususra bakma.
Asm bölümünde değişkenleri yazarken başlarına _ karekterini ekleyeceksin o kadar.

Senin program üzerinde açıklıyorum;

**************************************************************** 
'* Name : UNTITLED.BAS * 
'* Author : [select VIEW...EDITOR OPTIONS] * 
'* Notice : Copyright (c) 2005 [select VIEW...EDITOR OPTIONS] * 
'* : All Rights Reserved * 
'* Date : 06.06.2005 * 
'* Version : 1.0 * 
'* Notes : * 
'* : * 
'**************************************************************** 
REGISTER1 VAR BYTE 

TRISD = 0 


MAIN: 
REGISTER1 = $FF 
CALL LABEL1 
GOTO MAIN 

LABEL1: 
ASM 
MOVF   _REGISTER1,W      ;burada değişken adı başına _ karekteri gelecek.
MOVWF PORTD 
RETURN 
ENDASM 

END
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

bigbey

Sayın ETE,
Çok teşekkür ederim.. İşlem tamam.
TA6R