Hex den PicBasic Pro ya

Başlatan biteker, 12 Aralık 2002, 01:06:32

biteker

acaba bir hex dosyasını nasıl bir bas

dosyasına dönüştürebilirim

byka

Neden buna ihtiyaz duydunuz acaba anlatabilirmisiniz?
DWIN LCD Satış Türkiye email:info@kamantek.com  web:http://www.kamantek.com/shop/index.php

diablo

basic kolaylik bakimindan çok güzel.Lakin hex to bas yapicak

bir program sanirim yok.

glans

sanırım arkadaş autochipin içini görecek :)
ben

zannetmiyorum böyle birşey olacağını

biteker

İlk önce cevap veren

arkadaşlara ilgilerinden dolayı teşekkür ediyorum.
Sevgili byka neden hex to bas yapabilen bir programa ihtiyacım olduğunu

sormuş cevaplayayım;
Ben PIC programlama ile yeni yeni ilgileniyorum fakat uzun süredir visual basic ile program

geliştiriyorum internetten PIC basic pro ilgili örnekler indirdiğimde hex in yanı sıra asm dosyası yada küçük bir ihtimalle c de

yazılmış kodları var ama ben sadece PBP ile yazılanları anlıyorum örneğin bir tane uygulama var şu an elimde hava sıcaklığını lcd

de gösteren bir proje ben bunu com port a bağlayarak bilgisayardan görmek istiyorum onun için böyle bir programa ihtiyacım

var

diablo arkadaşımın cevabına ise
benim bildiğim kadarı ile yaklaşık 35 tane assemler kodu var ve bu kodlarında bir

hex karşılığı (yanlış biliyor olabilirim eğer yanlışsa düzeltirseniz sevinirim) örneğin bir a komutunun karşılığı BA5 olsun dolayısı ile

PBP kodu hex e çevirebiliyor ise tersinede çevirebilir bu tezimi desteklemek için ise örnek olarak HEX to ASM programlarını örnek

veriyorum

glans arkadaşımın verdiği cevaba gelince ise
Ne demek istediğini anlamadım açıklarsa sevinirim

diablo

Dostum bende yapilamaz demedim,su an böyle bir program

piyasada yok dedim.Belki bir süre sonra hex to bas programi da yapilabilir.Açikcasi yapilirsa benimde çok işime yarar.

biteker

Aslında piyasada Hex to Bas yapabilecek bir

programın olmaması çok ilginç umarım vardır da biz varlığından haberdar değilizdir!



Buradan Assemmler, Hex ve Nesneye dayalı programlama dillerini bilenlere bir çağrıda bulunmak istiyorum isterseniz

bilgilerimi birleştirerek böyle bir programı ortaya çıkaralım dışardan bakıldığında aslında o kadarda zor görülmüyor böyle bir projeyi

meydana getirmek gerçi işin işine girince değişebilir ama ..... neyse

Bana göre, adım adım

düşündüğümüzde ilk önce asm komutların hex karşılıklarını bilmek daha ronrada PBP komutlarının ASM karşılıklarını belirlemek

gerekiyor daha sonra Programımızı oluşturarak yapılan işlemi terisne Bas haline dönüştürmek kalıyor

Sonuç olarak

şahsım adına da konuşmak gerekirse AR-GE den uzak bir milletiz hep hazır bekliyoruz neden ilklere

imza atmak bizim için bu kadar uzak ...

AlundrA

arkadaşlar hex'ten bas'a çeviri yapmak neredeyse

imkansız bişey çünkü bas'tan hex'e çevirir ken bir komut için birden fazla assembly komutu üretilir fakat bunu geri çevirmek

istediğinizde bir komutu direk bas'a çeviremezsiniz çünkü çevireceğiniz bas komutu birçok asm komutundan oluşur bunu c dili

için bi örnekle göstereyim
 for(deger=0;deger<18;deger++)  
02F5:  CLRF   

22
02F6:  CLRF   21
02F7:  MOVF   22,F
02F8:  BTFSS  03.2
02F9:  GOTO   

303
02FA:  MOVF   21,W
02FB:  SUBLW  11
02FC:  BTFSS  03.0
02FD:  GOTO   

303
....................          x++;  
02FE:  INCF   23,F
02FF:  INCF   21,F
0300:  BTFSC  

03.2
0301:  INCF   22,F
0302:  GOTO   2F7

mesela yukarıdaki kod

for(deger=0;deger<18;deger++)  
x++;

komutlarının

asm ye çevrilmiş hali burada 02f5 adresinde bir komutun başladığını nasıl anlayabilirsiniz? anlasanızda bunun nerede bittiğini

nerden bileceksiniz? hem değişkenlerin isimleri nedir deger ve x değişkenlerine ne isim verilecek? ayrıca değişkenler kaç bytelık bir

integermi float mı byte mı? kısacası hexten yüksek düzeyli bir dile çeviri yapmak mümkün olsa bile ortaya çıkacak kod öyle karmaşık

ve anlaşılmaz olurki hiç çevirmeyin daha iyi :lol:
yapabilirim!

birumher

Arkadaşlar gerçekten böyle bir şeyin imkansız olduğunu

soyleyebilirim. HEX kodlar sadece assembler a çevrilebilir. ve assembler da herhangibir üst seviye dile dönüştürülemez. Bu işlem

sadece tek yönlü bir işlemdir Compiler Basic kodelarını assembler a dönüştürür ama basic kodu bu işlemin tersi yapılarak assembler

a dönüşemez... Öyle olsaydı her programın C, DElphi, Basic kodlarını kolayca elde edip bütün değişiklikleri çok basitçe yapabilirdik.

Ama maalesef böyle birşeyin imkanı yok...
Birkan.Herguner

akivanc75

bence bir şekilde olması lazım ama hangi şekilde olduğunu

bilemiyorum.
mesela bir plc den program okuyabiliriz değil mi?
gavur bu işi çözmüş bence ya
KA

akivanc75

low portb.1
end

bunun hexi

:

:0E0000000128861083168610630083120428E0
:02400E00F53F7C
:00000001F

low

portb.2
end

bunun hexi

:

:0E0000000128061183160611630083120428DE
:02400E00F53F7C
:00000001FF



lo

w portb.0
end

bunun hexi

:

:0E0000000128061083160610630083120428E0
:02400E00F53F7C
:00000001FF


high

portb.0
end

bunun

hexi:

:0E0000000128061483160610630083120428DC
:02400E00F53F7C
:00000001FF




nhigh porta.0
end

bunun hex i

:

:0E0000000128051483160510630083120428DE
:02400E00F53F7C
:00000001FF

low

porta.0
end

bunun hexi

:

:0E0000000128051083160510630083120428E2
:02400E00F53F7C
:00000001FF

2 ve 3. satırlar

aynı , geriye kalır 1. satırlar:

high

porta.0:0E00000001280514831605[/b:d3db96882

4]10630083120428DE
low porta.0  

:0E000000012805108316051063

0083120428E2
high

portb.0:0E00000001280614831606[/b:d3db96882

4]10630083120428DC
low portb.0:

:0E000000012806108316061063

0083120428E0
low portb.1

::0E00000001288610831686106

30083120428E0

kalın herflerle gösterilenlere dikkatli bakınız :

10 : low komutu
14:high

komutu
05:porta.0
06:portb.0
86:portb.1

gibi gibi yani .......

kızmayın yaw , mesela yani ...
KA

aster

akivanc haklı plc lerde programı yazdıktan sonra tekrar

koruma yoksa okuyabilsin
hex leri tekrar yazdıgın leder diline çevirebilir hatta içindediki mnemicleri okuyabilirsin
bunu

bir hazır portatif eeprom a download upload yapabilirsin simdiki bu usb ye yakılan 16 mb aletler gibi düşünün

birumher

Tabii ki HEX dosyaları assemblera çevirebilirsin ama

assemblerdan daha üst seviye bir dile çevirmen imkansız çunkü hex kodlar ve assemblerdaki kodlar bire bir mikroişlemcinin kendi iç

komutlarından oluşurlar ama üst seviye programlama dillerindeki kodlar bunların birleşimlerinden oluşur dolayısıyla HEX->ASM

mümkündür ama HEX->Basic veya ASM->Basic mümkün değil...
Birkan.Herguner

aster

Dostum ladder, boolean dilleri inin seviyesini tam bilmem

ama asm nin üstünde bir dil olması gerekir zaten asmbler adından anlaşılmıyormu veya daha iyi bilen biri bizi aydınlatsın da

hengame olmayalım

akivanc75

plc ler hex kodu okurlar ve bunu da ladder yada stl yada fbd

ismi verilen şekillere dönüştürürler. Ve dostlarım bana güvenin bunlar üst düzey dilleridir.

hex > basic  

MÜMKNDÜR!!!!

örnek verdim ya hocam!
KA