acaba bir hex dosyasını nasıl bir bas
dosyasına dönüştürebilirim
Neden buna ihtiyaz duydunuz acaba anlatabilirmisiniz?
basic kolaylik bakimindan çok güzel.Lakin hex to bas yapicak
bir program sanirim yok.
sanırım arkadaş autochipin içini görecek :)
ben
zannetmiyorum böyle birşey olacağını
İ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
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.
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 ...
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:
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...
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
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 ...
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
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...
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
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!
Verdigin örneği gördüm hocam da senin verdiğin örnek
spesifik bir örnek. Böyle örnekler bulabilirsin ama genelleyemezsin. Çünkü basicteki veya diğer üst seviye programlama dillerindeki
komutların çoğu assembler a çevrilirken tek bir komutta çevrilmezler hepsi tek assembler komutu olsaydı haklıydın ama bir işlemi
teorik olarak sonsuz yoldan yapabilirsin. Örneğin bir çarpma işlemini en az 3 yoldan yapabilirsin ve biz bu yollardan hangisini
kullandığını ayrıca bu işlemin sadece çarpma mı yoksa kare alma içerisindeki çarpma işlemi mi olduğunu tersten giderek anlamak
istersek kafayı yeriz. Dolayısıyla compiler ların yaptıkları iş tek yönlüdür. Fakat ben senin bahsettiğin dillerin yapısını bilmediğim
için o kunuda birşey söyleyemiyorum ama en azından C,Basic, Pascal için bunun mümkün olmadığını söyleyebilirim. Ayrıca eğer
mümkünse bu herkesin çok işine yarar dünyada herkes programları istediği dilde geliştirir sen pascalda yazarsın sonra ben onu
basic e çevirir oradan devam ederim. keşke öyle olsaydı...
Bencede mümkündür ama kodun hangi basic diliyle
yazıldığını bilmek ve yine o dile çevirmek mümkün olabilir. Birebir çeviri değil mantık yürüterek olması gereken kod tahmin
edilebilir. Buna rağmen böyle birşeyi yapmak oldukça zor olması gerek...
ben siteyi ve bu forumu yeni buldum ve daldim.Bu tartismaniza birde su yonden bakmanizi rica ediyorum. Hex to basic belki olabilir fakat ; bu kodlar birisine lazim diye baskasinin yazdigindan bire bir faydalanma yerine problemimizi kendimiz cozmeliyiz. Yani baskasinin yazdiklarini calmayip kendimiz yeni bir seyler yapsak daha iyi olmaz mi?
Keşke öyle bir program olsa her şey daha kolay olurdu ama sen yine asm öğren :shock: çünkü temel buna dayalı ve sınırsız. Bir ara öyle bir programın peşinde bende dolaştım öyle anlarım oldu ki asm de yazdığım programın başını ve sonu karıştırdığım oldu. Tecrübe artıkça bu da çözülüyor. Senin sıkıntını çok iyi anlıyorum. Ayrıca ubedi ye çalıntı konusunda katılmıyorum bilgi paylaştıkça artar bir başkası daha önce yapabildi ise onun tecrübesinden niye faydalanmayayım. :lol: