hocamdan ilk dersim.... (DEBUG)selam arkadaşlar 60 küsür yaşında almanyada ilk osmanlı bankasının bilgisayar kurulumunu ve muhasebe programını hazırladığını söyleyen yaşlı bi amcadan pogramcılık dersi alıyorum daha doğrusu kaynak yonunden çok işime yarıyor bu
Konu w_q_x_91 tarafından açılmış, 1097 kişi tarafından görüntülenip, 2 yanıt almış.
|
Özel Yazılım Trojan+, güncellemeli ve garantili. Sadece 690TL! Kredi kartınıza 12 taksit kolaylığı!
|
|||||||
hocamdan ilk dersim.... (DEBUG) konusundaki toplam yorum: 2, okunma sayısı: 1097. |
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
#1 |
|
Forum Kalfası
![]() ![]() ![]() ![]() Kayıt Tarihi: Jul 2007
Üye numarası: #134973 Yer: balıkesir
Mesaj sayısı: 774
Karma etkisi: 5065
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Karma: 506086
|
selam arkadaşlar 60 küsür yaşında almanyada ilk osmanlı bankasının bilgisayar kurulumunu ve muhasebe programını hazırladığını söyleyen yaşlı bi amcadan pogramcılık dersi alıyorum daha doğrusu kaynak yonunden çok işime yarıyor bu hafta yanına ugradım bana bunu verdi sizinle paylaşmak istedim
duyarsa çok kızacak böyleleri kendileri çözduklerı ıcın öğretmeyi pek sevmiorlar acık konusuyorum klasorde DEBUG yazıyor icinde bunlar var ben ne olduğunu bilmiyorum daha okumadım çunku daha yeni başlıyorum bunları .htm olarak ayarlamıs ve tamamını kendisi yazmış icinden kopyalayıp aynen size aktarıyorum umarım faydası olur ve yerindedir? ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() BİLGİSAYARLARDA SAYI SİSTEMLERİ Assembler programlama dili,alt seviyeli bir Programlama dilidir. Bu dilin komutları, bilgisayarın işlettiği makine dili komutlarının birebir karşlığıdır. Bu nedenle bu dile makine(Derleyici) dilide denilir. Assembler'in büyük avantajı CPU(central processing Unit) çevrebirimlerinin ve ana belleğin çok iyi bir şekilde kontrolünü sağlamasıdır. Elektronik cihazlar manyetik çekirdek(core) olarak iki durum halindedirler. Akım geçer 1, akım geçmez 0. Bunu bir lambanın açık veya kapalı durumu olarak düşünebiliriz. Şu halde Assembler (1 - 0) rakamlarından oluşan bir sayı sistemine sahiptir. Bu sayede Assemler ile yazılan programlar çok hızlı çalışır. On/Off durumuna geçmesi 1/10000000 saniyede yapabiliyor. Buna NANO second eniliyor. ASSEMBLER LANGUAGE Derleyici dilinde komutlar iki guruba ayrılır.1- Makina komutları. 2-Derleyici Komutları 1-Makina Komutları: Makinaya iş yaptıran komutlardır.Toplama, çıkarma ve taşıma komutları gibi. 2-Derleyici Komutları: Derleyiciye bilgi veren komutlar olup derlenen program içinde bir emir olarak gözükmezler. DS, DC, Start, Using komutları gibi. Makina Komutları ise iki gurupta incelenir: a)Giriş ve çıkış işlemleri ile ilgili olanlar. b)Birinci gurubun dışında kalanlar(Aritmetik ve lojik işlemler) gibi.Giriş çıkış talimatlarının progrsamcı tarafından derleyici dilinde yazılması güçtür.I.O.C.S (Input Output Control Sistem) adı verilen bir programlar topluluğundan faydalanılır.Programcı, programın başında dizilerini I.O.C.S'e tarif eder, program içinde ise kendisine gerekli rutini "makro" denilen özel talimatlarla seçerek programına dahil eder. DESİMAL SAYI SİSTEMLERİ Temel 10 Rakkamlar : 0-1-2-3-4-5-6-7-8-9 1967 =1000+900+60+7 =1x1000+9x100+6x10+7x1 =1x103+9x102+6x101+7x100 Üssü 0 olan sayı daima 1 e eşittir. BİNARY SAYI SİSTEMLERİ Temel 2 Rakkamlar : 0 - 1 |32.768|16.384|8.192|4.096|2.048 |1.024|512|256|128|64|32|16 |8|4|2|1| Her hangi bir sayıyı binary olarak ifade etmek için onu meydana getiren 2 li hane bitleri ON/Off durumuna gelir 110011001100= 1x211+1x210+0x29 +0x28+1x27+1x26+0x25+0x24 +1x23+1x22+0x21+0x20 1x2.048+1x2.024+0x512+0x256+1x128+1x64+0x32+0x16+1 x8+1x4+0x2+0x1 2.048+1.024+128+64+8+4 =32.768 DESİMAL SAYIYI BİNARY SAYIYA ÇEVİRMEK 424/2 0 212/2 0 106/2 0 53/2 1 26/2 0 13/2 1 6/2 0 3/2 1 1/1 1 Desimal sayıyı binary(bit) e çevirdik Şimdi de bu bitleri Byte olarak görelim .En yukarıdaki bit'i en sağa ondan sonrakini sola alarak bir BYTE' I düzenliyoruz.8 (0 - 7) adet bit bir Byte eder. Şimdi 424 desimal sayısını bit ve byte olarak görelim.Desimal 424 binary olarak 3 byte içine yerleşiyor. |0|0|0|1|1|0|1|0|1|0|0|0| 1x0=0+ 2x0=0+ 4x0=0+ (8x1=8)+ 16x0=0+ (32x1=32)+ 64x0=0+ (128x1=128 (256x1=256)+ 512x0=0+ 1044x0=0+ 2088x0=0 Şimdi değeri 0 olamayan parantez içinde olan binary sayılarımızı toplayalım.424 sayısını buluruz BİNARY SAYIYI DESİMAL SAYIYA ÇEVİRMEK Binary sayı soldan başlayarak 2 ile çarpılır ve ondan sonra gelen bit ilave edilip tekrar iki ile çarpılr ve böyle devam ederek en sondaki bit de ilave edilerek desimal sayı bulunur | 1 |1 |1 |1 |1 |1 |1 |1 | 1X2 = 2+1 = 3X2 6+1 = 7X2 14+1 = 15X2 30+1 = 31X2 62+1 = 62X2 126+1 = 127 ÇEKİRDEK HAFIZA ORGANİZASYONU Assemler programlamada adreslenebilir en küçük ünite BYTE olarak adlandırılır. 1 Byte 8 adet data(bilgi) biti ile 1 adet kontrol(PARİTY) bitinden ibarettir. Parity bit 0 olursa sayı pozatif, 1 olursa sayı negatiftir. 1 BYTE | P |0 |1 |2 |3 |4 |5 |6 |7 | Şeklindedir. Byte içindeki bitler soldan sağa olarak numarandırılır. 0 - 7 gibi.Fakat yukarıda DESİMAL sistemi BİNARY sistemine çevirken görüldüğü gibi sağdan sola doğru değer kazanırlar (P) Parity Bitidir.Bit içindeki sayının pozotif veya negatif olduğunu belirler 0 olursa sayı pozatif; 1 olursa sayı negatiftir. Byte içindeki bitler sağdan sola doğru değer kazanırlar.Fakat 0 - 7 olarak numaralanırlar Birici Byte Değeri 1. İkinci Byte Değeri 2. Üçüncü Byte Değeri 4. Dördüncü Byte Değeri 8 Hafıza içinde yan yana hafıza kapasitesine göre(N) adet Byte vardır.1 Byte'tan daha büyük olan bilgi üniteleri aşağıdaki gibidir. 1 B Y T E (8 BİT) | 0 |0 |0 |0 |0 |0 |0 |0 | H A L F W O R D (YARIM KERLİME - İKİ BYTE - 16 BİT) |0 |0 |0 |0 |0 |0 |0 0 | |0 |0 |0 |0 |0 |0 |0 |0 | F U L L W O R D (TAM KELİME 4 BYTE - 32 BİT)) | 0 |0 |0 |0 |0 |0 |0 0 | 0 |0 |0 |0 |0 |0 |0 0 | 0 |0 |0 |0 |0 |0 |0 0 | |0 |0 |0 |0 |0 |0 |0 |0 | D O U B L E W O R D (ÇİFT KELİME - 32 BİT) |0 |0 |0 |0 |0 |0 |0 |0 | |0 |0 |0 |0 |0 |0 |0 |0 | |0 |0 |0 |0 |0 |0 |0 |0 | |0 |0 |0 |0 |0 |0 |0 |0 | |0 |0 |0 |0 |0 |0 |0 |0 | |0 |0 |0 |0 |0 |0 |0 |0 | |0 |0 |0 |0 |0 |0 |0 |0 | |0 |0 |0 |0 |0 |0 |0 |0 | HEXZADESİMAL SAYI SİSTEMLERİ Temel = 16 Desimal sayılar (0-9) rakkamlarından oluşur. 0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F. 4 BİNARY Digit(yarım byte) = 1 Hexzadesimal Digit eder. ŞİMDİ BUNLARI BYTE OLARAK GÖRELİM 0 0 0 0=0; 0 0 0 1=1; 0 0 1 0=2; 0 011=3; 0100=4; 0101=5; 0110=6; 0111=7; 1000=8; 1001=9; 1010=A; 1011=B; 1100=C; 1101=D; 1110=E; 11111=15 (0 -15 = 16) HEXZADESİMAL ABA ABA = 10x162 + 11x161 + 10x160 = 10x256 + 11 x 16 + 10 x 1 = 2560 + 176 + 10 = 2746 DESİMAL - HEXZADESİMAL - DESİMAL Desimal sayı sıfır netice alıncaya kadar 16 ya bölünür.Çıkan Hexzadesimal değer tersten alınır. Ö R N E K: 195/16 = 122 Kalan 3 = 3 12/16 = 0 Kalan 12 = C C3--------->192 + 3 = 195 HEXZADESİMAL - DESİMAL Hexzadesimal sayının digitlerinin desimal değerleri, birler hanesi sıfır kabul edilip kaçıncı rakkam ise 16 nın o kadar assü ile çarpılıp toplanır. C 3 = 12 x 161 + 3 x 160 =12 x 16 + 3 x 1 = 192 + 3 = 195 BİLGİSAYAR YAPISI: R.A.M = Random Access Memory programcının Çalışabileceği Saha R.O.M = Read Only Memory Programcı Buradan Yanlız Komut Alır)R.O.M 'a hiçbir şekilde müdahale edilemez. C.P.U =(Central Processing Unit) merkezi işletim ünitesi.Bütün işlemler buradan organize edilir A.L.U Aritmetik ve Logic(mantıksal)Unitesi REGİSTERLER(Yazmaçlar) Sabit uzunlukta HALF WORD(Yarım kelime) olup yardımcı hafıza olarak kayıt işlemlerinde kullanılırlar. R.R Registerden Registere. R.X Registerden Hafızaya veya Hafızadan Registere. S.I Ani Operand'dan Hafızaya. S.S Hafızadan Hafızaya. ADRERSLEME-ADDRESSING 1- EFEKTİF ADRES Adres hafızada 16 bitlik bir saha kaplar.16 bit'in ilk 4 biti Register numarası olup, buna BASE (Temel) register denilir.Kalan 12 Bit DISPLACEMENT(uzaklık, boşluk) adını alır. BASE Temel Register Numarası | 0 |X |X X | Displacement | X |X |X |X |X |X |X |X |X |X |X X | 16 Bit'in belirttiği hakiki adres(EFEKTİF Adres), temel register içeriğinin Displacement'e ilavesi ile bulunur. 2- DİREKT ADRES | 0 |X |X X | |X |X |X |X |X |X |X |X |X |X |X |X | 16 bitlik bir saha işgal eder.Sol taraf daima 0 dır.Sağdaki 14 bit binary olarak adresi saklar. KENDİ KENDİNİ TARİFLEYEN TERİMLER - SELF DEFINING TERMS MEMORY(Hafıza) da kıymeti DERLEYİCİ tarafından tarif edilmeyip, kendisini tarif eden terimlerdir. Bunlar Ani Bilgi(IMMEDIATE), Sabitler(CONSTANTS). Kalıplar (MASK) REGİSTER ve ADRESLEME için kullanılırlar. Kaynak: Wardom http://www.wardom.com.tr/showthread.php?t=332622 Dört Çeşittirler: 1- Decimal - Desimal 2- Hexzadesimal - hegzadesimal 3- Character - Karakter 4- Binary - Bayneri 4. üncü şık temel derleyicide kullanılmaz 1- DESİMAL TERİMLER İşaretsiz olup en fazla 5 digit olabilir.Derlenirken binary karşılıkları ile der lenir 2- HEXZADESİMAL TERİMLER En fazla 4 Hexzadesimal digit tarif edilebilir.Tırnak içinde tarif edilirler.Sol başta X bulunur. Örnek:X'400', X'7ABA' gibi. 3- KARAKTER TERİMLERİ Bir tek karekterden ibarettir.Tırnak içinde tarif edilir.Sol Başta C bulunur:Örnek:C' ', C'3' gibi. 4- BINARY TERİMLER İşaretsiz olup 1 - 0 dan ibarettir.Bununla bir BYTE(8 Bit) tarif edilir.B '10001001' gibi. B '10101101' B '10001101' Gibi SEMBOLLER Hafızadaki sahalara müracaat etmek için hakiki adresine karşılık olarak kullanılan isimlerdir.Semboller bir talimatın isim sahasında veya başka bir talimatın operand sahasında bulunabilirler.OPRERAND olarak kullanılan bir sembol, programın başka bir yerinde muhakkak tarif edilmelidir. DC DEFINE CONSTANT - SABİT TARİF ET Hafızada değişmeyek bilginin: -Fixed point (Sabit noktalı) -Floating Point (Kayan noktalı) -Decimal (Desimal) -Character (Karakter) -Hexzadesimal (Hexzadesimal) -Adres Sabiti (Adres) Şeklinde kullanılırlar MİSALLER ADR1 DC C'TOPLAM' ADR1 DC CL15'TOPLAM' ADR2 DC X'FF00' DS DEFİNE STORAGE - SAHA TARİF ET Hafızada WORK AREA (İşlem Sahaları), I/O (Giriş Çıkış Sahaları), v.s ler ,ç,n yer ayrılır.İsim olarak yazılan sembol o sahanın en sol Byte'nın adresidir.Bununla hafızada ayrılan yerin içeriği sabit kalır. Tek operandlı bir talimattır DİSK DİZİLERİNİN ORGANİZASYONONU ve BİLGİLERE ULAŞILMASI 1-SEQUENTIAL(Kayıtların Sıra İle Yerleştirilmesi. 2-INDEXED SEQUENTIAL(Kayıtların İndeksli Olarak Sırayla Yerleştirilmesi. 3-RANDOM DİZİ ORGANİZASYONU Disk üzerinde bir bilgiye aşağıdaki sıralar takip edilerek ulaşılır MASTER İNDEX CYLİNDİR İNDEX TRACK İNDEX SECTOR İNDEX D E B U G P R O G R A M I DEBUG İle İlgili Komutlar: 1-Parametreler 2-Komutlar ile ilgili genel bilgiler 3-A (Assemle) Çevirici Komutu 4-C (Compare) Mukayese (karşılaştırma Komutu 5-D (Dump) HafızadakiBilgileri Döküm Komutu 6-E (Enter)Giriş Komutu) 7-F (Fill) Dodurma Komutu 9-H (Hexzadesimal) 16 tabanlı işlemler 10-I(Input) Programa giriş komutu 11-L (Load) Programı yükler 12-M (Move) Taşıma Komutu 13-N (Name) İsim Komutu 14-O (Output) Çıktı Komutu 15-Q (Quit) Debug Programını Terketme Komutu 16-R (Register)Kaydetme Komutu 17-S (Search)Arama Komutu 18-T (Trace) İz Komutu 19-U (Unassemble) Ters Çevirici Komutu 20-W (Write)Yazma Komutu DEBUG Programı ile herhangi bir FILE'I (Kütüğü), yükler,kütük üzerinde değişiklik yapar ve derlemeden yeniden görüntüliyebiriz.Kütükler makina dili HEXADESİMAL formatındadır. DEBUG PROGRAMINI yürütebilmek için: DEBUG[C:][PATH(yol)FILE NAME(kütük adı)[.EXE] [PARAMETRE1[PARAMETRE2] PATH, FILE NAME ve PARAMETRELER doğrultusunda DEBUG belirtilen FILE'I(kütüğü) (hafıza, bellek) içine yükler. Üzerinde değiştirme veya düzeltme yapılmak istenilen program için REGISTER'e(yazmaç) aşağıdaki değerler verilir. (CS) Code Segment (DS) Data segment (ES) Extra Segment (SS) Stack Segment Yukarıdaki yazmaçlar parça yazmaçları olup, MEMORY'nin en alt kısmına konur. DEBUG sonlandıktan sonraki ilk parçadır. Internet Protokol IP(Komut göstergesi) Hexzadesimal değerini alır. Kaynak: Wardom http://www.wardom.com.tr/showthread.php?t=332622 Yığıt SP göstergesi (STACK) parça veya Program yükleyicisinin en altına yerleştirilir ve 100 Hexzadesimal büyüklüğünde bir yığıt sağlanır. Geriye kalan AX,BX,CX,BP,SI ve DI yazmaçları sıfır değerini alır. DEBUG eğer bir FILESPEC ile başlatıldıysa, kütük uzunluğu Bite tanımında CX yazmacı içerecektir.Kütük 64K'dan büyükse, bu kütüğün uzunluğunu da BX ve CX yazmaçları içerecektir.Byük bir kısmını BX yazmacı saklar İŞARETLERİN BAŞLANGIÇ DURUMU: NV UP El PL NZ NA PO NC Varsayılan diski aktarme adresi, kod parçası içinde 80 hexadesimal değerine ayarlanır. DEBUG programı tarafından yüklenilen bir kütüğün .EXE uzantılı ise, program gerken yerleştirmeyi yapar.SEGMENT(parça) yazmaçların STACK (Yığıt) göstergesini ve IP (komut) göstergesini kütükle tanımlanan değerlere ayarlar.DS ve ES yazmaçları geçerli en düşük parçadaki program parçasının ön ekini gösterir. BX ve CX programın büyüklüğünü kapsar Program kütüğü yaratırken parametre verildiyse belleğin yüksek ucunda yüklenir DEBUG KOMUTU PARAMETRELERİ ADRESS Aşağıdaki formatların birinde bir veya iki bölümlü bir atama girişi yapın Alfabetik bir parça yazmacı, ataması artı bir göreli uzaklık değeri Kaynak: Wardom http://www.wardom.com.tr/showthread.php?t=332622 CS:0100 gibi Bir SEGMENT (parça adresi), ve bir OFFSET(göreli) uzaklık değeri 4BA:0100 şeklinde. Her iki formattaa değerler birbirinden iki nokta üst üste ile ayrılmalıdır. Bütün sayısal değerler Hexzadesimal(16 tabanlıdır). BYTE Hangi sürücü verisinin yükleneceğini veya yazılacağını belirtmek için tek basamaklı bir değer; A sürücüsü için 0; B sürücüsü için 1.Yükleme ve yazma komutlarını ileride göreceğiz FILESPEC Kütükadı ve kütükadı uzantısı içeren bir sürücü atamasıdır.Seçimsel (1 - 3) bölümden oluşabilir. Name(adlandırma) komutunun bir şey ifade edebilmesi için, bir kütükadı ve bir sürücü belirtilmelidir. LIST PORTADDRESS INPUT - OUTPUT komutlarında görülecek REGİSTERNAME(Kayıt Adı) REGİSTER kayıt etme komutu EBUG programı çalıştığında, işlem yapılan programın Registeridir.İleride REGİSTER komutlarında incelenecekDEBUG'UN ORTAK BİLGİLERİ "*" Parametre belirtilir ve tek bir harf ile belirlenir. "*" Parametreler büyük, küçük veya karışım harflerden oluşabilir "*" Aşağıdaki değerler birbirleriyle aynidir dsc:100 110 d cs:100 110 d,cs:100 110 Komutlar ENTER'e basıldıktan sonra etkili olur * DEBUG Programı DOS yazılımı ile yapılabilir "*" DEBUG programı (-) işareti ile yanıt bekler. A (A S S E M B L E) Format: A[adres] Sayısal girişler 16 tabanlı(Hexzadesimal) sayılardır.Eğer adres belirtilmemişse, DEBUG: CS:0100' dan başlar.Adres belirtilmiş ise belirtilen adresten başlar. umarım doğrudur ![]() ![]() Düzenleyen w_q_x_91 : 23-12-2009 at 16:10. |
|
|
|
|
|
#2 |
|
1st Class WarrioR
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Kayıt Tarihi: Dec 2009
Üye numarası: #396376
Mesaj sayısı: 247
Karma etkisi: 52
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Karma: 4962
|
bu kodlar ömrümü yedi ömrümü liseden beri herp aynı syler bıktım bıtsın su unıversıte .d
|
|
|
|
|
|
#3 |
|
Çırak
![]() Kayıt Tarihi: Dec 2009
Üye numarası: #401314
Mesaj sayısı: 2
Karma etkisi: 0
![]() Karma: 10
|
Bu bilgiler öğrenilmeden bilgisayar kullanamazsınız
|
|
|
|
![]() |
| Şu Anda Konuyu Görüntüleyenler: 1 (0 üye ve 1 misafir) | |
| Konu Araçları | Bu Konuda Ara |
Bu Konuda Aradığınızı Bulamadıysanız Şunlara Bakmanızı Öneririz
|
||||
| Konu | Konu Yazarı | Forum | Cevaplar | Son Mesaj |
| Dersim . | yasba | Siyaset | 0 | 23-11-2009 01:49 |
| Dersim İsyanı | Senkron. | Türk ve Dünya Tarihi | 3 | 21-11-2009 21:29 |
| Onur Öymeni sıkıntıya sokan Dersimde aslında ne oldu? | intelligence | Siyaset | 39 | 20-11-2009 00:33 |
| Tunceli'ye Dersim diyen, DTP'li Türk: Barış için bedel ödemeye hazırız | neronaga | Çöp Kutusu | 14 | 04-10-2007 19:27 |
|
|
