pic basic pro belli bir adrese değişken atama

Başlatan alisumer, 10 Nisan 2019, 06:47:19

alisumer

sayın hocalarım pasic ile değişken ataması bildiğim kadarı ile sadece  A    VAR  BYTE yada WORD şeklinde oluyor ama ben asm deki gibi istediğim  özel kayıtçıya kayıt yapmak istiyorum asm de bu A EQU 0X020  gibi oluyor benim için önemi ise asm ile basic i birlikte kullanıyorum basicte verdiğim değişkeni asm ile kullanamıyor olmam nereye kaydettiğini bilmek ve ben ayarlamak istiyorum varmı yolu?
Hep meraktan

ete

Pek çok işlemcide  değişkenlar data hafızasıda 56 nolu adresten itibaren yer alıyorlar.
Basicde değişken tanımlarken;
A VAR BYTE 56 şeklinde tanımlarsan o değişken 56 nolu adrese bilgi yerleştirir.Bu tekniği sıklıkla Simulasyonda değişken takibi yaparken kullanmaktayım.
Watch window'u açıp sağ tıkladığın zaman sana değişken adı ile adresini sorar sende veriersen o değişkenin program seyrinde aldığı değerleri anlık olarak izleyebilirsin.

Bir programı derledikten sonra derleyici ASM uzantılı bir dosya üretir. Bu dosyatı text editörle açarsan içinde değişkenlerin hangi adreslere yerleştirildiğinide görebilirsin. Genellikle bir Data adres başlangıcı verilir sonra bir değişken için data adres+20 gibi ifadeler kullanırlar. Bu başlangıç adresinden 20 hafıza sonrasına yerleştirildiğini göstermektedir.

Ete

alisumer

eyvallah hocam sayende öğrendikçe öğreniyoruz
Hep meraktan

alisumer

A VAR BYTE 56 Komutu yerine $56 yazılırsa registerlerin hex adresine yazılır $ yazılmazsa 56 = 0x38 e desimal adresin karşılığı olan hex adrese denk gelen yere yazıyor karıştırmamak için hex format kullanılması daha iyi oluyor kolay gelsin
Hep meraktan

alisumer


ASM
KANAT_L         EQU 0X020
KANAT_H  EQU 0X021
KUYRUK_L  EQU 0X022
KUYRUK_H EQU 0X023
MOTOR_L EQU 0X024
MOTOR_H     EQU 0X025
DUMEN_L EQU 0X026
DUMEN_H EQU 0X027
ZAMAN EQU 0X028
KANAT              EQU 0X030
KUYRUK            EQU 0X032
MOTOR             EQU 0X034
DUMEN             EQU 0X036
ENDASM
KL      VAR BYTE  $20
KH      VAR BYTE  $21
KYL      VAR BYTE  $22
KYH      VAR BYTE  $23
ML      VAR BYTE  $24
MH      VAR BYTE  $25
DL      VAR BYTE  $26
DH      VAR BYTE  $27
KANAT   VAR BYTE  $30
KUYRUK  VAR BYTE  $32
MOTOR   VAR BYTE  $34
DUMEN   VAR BYTE  $36
KANAT1  VAR WORD
KUYRUK1 VAR WORD
MOTOR1  VAR WORD
DUMEN1  VAR WORD
ZAMAN VAR BYTE  $28

ASM-BASICkod karışık yazdığım kumandanın değişken adreslerini bu şekilde tanımladım asm de de çağırsam basic de de çağırsam yazılan adresi görüyor  bu konuda benim gibi zamanında sıkıntı yaşayanlar örnek olarak kullanabilir sorunsuz çalışıyor . Teşekkürler ETE hoca
Hep meraktan

Powered by EzPortal