ASEMBLER'IN ÜRETTİĞİ HATA KODLARI
Derleme esnasında yazdığımız programa $INCLUDE ( dosya ) ile program parçaları dahil ettiğimizde, bu dosyaların açılmasında oluşan hata kodu : FATAL ERROR opening (dosya ismi ) şeklinde bizi uyarır. Dosya isminin doğru olup olmadığını tekrar kontrol etmemiz gerekir.Programın derlenmesinden sonra ASEMBLY COMPLETE , 02 ERRORS FOUND Mesajı geldiğinde yazılımda 2 hata yaptığımızı belirtir. " Liste .LST " komutuyla listeyi çağırıp hatalarımızı satır satır görebiliriz. " ESC " tuşuna basarak programa tekrar dönebiliriz. Yazılımda yapılan hatalar : ERROR # 1 : Illegal character : Yazılımda kullanılmaması gereken bir karakterin kullanıldığını gösterir.(kullanılan karakterler başlangıç bölümlerinde açıklanmıştı.) ERROR #2 : Undefined symbol Tanımlanmamış bir sembol kullanıldığında oluşur. ERROR #3 :Dublicate symbol Daha önce tanımlanmış bir sembol ikinci kez tekrar tanımlanmaya çalışılırsa oluşur. ERROR #4 :Illagal digit for radix. Sembollerin kullanılmaması gereken bir karakter veya rakamla başlaması sonucu meydana gelir. ERROR #5 : Number too large. Belirtilen sayı 16 bit'i ( 65535 ) geçtiğinde oluşur. ERROR #6 : Missing END directive Ana program sonunda " END " kullanılmadığı zaman oluşur. ERROR #7 : Illegal opcode / directive after label Etiketten sonra yanlış opcode veya directive kullanıldığında oluşur. ERROR #9 : Text beyond END directive Program sonunda kullanılan " END " den sonra program yazılımı devam ettiğinde oluşur. ERROR #10 : Illegal or missing expression Programda yanlış veya eksik ifade kullanılmış demektir. ERROR #11 : Illegal or missing expression operator Programda yanlış ve eksik bir matematik operatörü kullanılmış demektir. ERROR #12 :Unbalanced parantheses Eksik parantez kullanılmış demektir. ERROR #13 :Illegal or missing expression volume Yanlış veya eksik sembol veya nümerik değer kullanılmış. ERROR #16 : Division by zero Programda kullanılan ifadede, bir sayı sıfıra bölünmeye çalıştığında oluşur. ERROR #17 : Illegal bit designator Bir sembole uygun olmayan bit adresi atamaya çalışıldığında oluşur. ERROR #18 : Target address exceeds relative adress range SJMP , JZ, JNC gibi bağıl sıçrama komutlarının sıçranılacak adresin 127 byte'ı geçtiği durumlarda oluşur. ERROR #20 :Illegal Operant Kullanılan komut uygun değil. ERROR #21 :Illegal indirect register R0 ve R1 haricinde indirect (dolaylı) adresleme yapıldığında oluşur. ERROR #22 :Missing operant delimiter Virgülü eksik komut kullanılmış. ERROR #24 :Attempting to EQUate a previosly SET Symbol SET directive'i ile önceden tanımlanmış sembol'ün EQU ile tekrar tanımlanmak istendiğinde oluşur. ERROR # 25 :Attempting to SET a previosly EQUated Symbol EQU directive'i ile önceden tanımlanmış sembol'ün SET ile tekrar tanımlamak istendiğinde oluşur. ERROR # 26 :Illegal SET / EQU expression SET veya EQU directive'lerinden sonra uygun olmayan ifade kullanılmış. ERROR # 27 :Illegal expression with forward referans İfadede henüz tanımlanmamış bir sembol kullanılmış . ERROR # 28 : Adress exceeds Adres range Belirtilen adres 255'i aşmış ERROR # 29 :Expecting an EOL or COMMEND Derleyici bir satırdaki komutu derlerken derlenen komuttan sonra satır sona ermemiş ise oluşur. ERROR # 32 :Byte definition exceeds 255 DB directivite ile kullanılan bir sabit 255'den büyükse oluşur. ERROR # 33 : Premature end of string ASCII harfleri ile meydana gelmiş bir dizi uygun kesme ile sonlandırılmamış demektir. ERROR # 35 :Include file nesting exceeds 8 $INCLUDE ( file ) kontrolu ile programa dahil edilen program parçalarının sayısı 8 sayısını geçerse oluşur. ERROR # 36 :Illegal or missing argument Asembler kontrollerinde eksik veya yanlış argument kullanıldığında oluşur. ERROR # 37 :Illegal control statement Anlaşılamayan kontrol ifadesi kullanıldı. Eksik veya yanlış olabilir. ERROR # 38 :Unable to open file Derlenecek olan dosya açılamadı ERROR # 40 :Program synchronization error Programınızda ORG directivite'leri ile tanımladığınız program hafıza adresleri birbirisi içine geçerse ( yani karışırsa ) oluşur. ERROR # 45 : Illegal or missing macro name MACRO yazımı sırasında; uygun olmayan sembol veya 2. defa kullanılmış sembol kullanıldığında oluşur. ERROR # 46 : Macro nesting too deep Tanımlanan macrolar 9. seviyeye aştığında olur. ERROR # 47 :Number of parameters doesn't match defination Macro da kullanılan parametrelerin sayısı macro da kullanılan parametrelerin sayısına uygun olmadığında oluşur. ERROR # 48 :Illegal parameter specification Daha önce tanımlanmış sembollerin macro içerisinde de tanımlanmaya çalışıldığında oluşur. ERROR # 49 :Too many paremeters Macrolar da kullanılabilecek maximum paremetre sayısı 16 'dır.Bu sayı aşıldığında oluşur. ERROR # 50 :Line exceeds 255 characters Program yazımı esnasında kullanılan satır uzunluğu 255 karekteri aştığında oluşur. |