Assembler proqramlaşdırma dili

Fatal səhvlər haqqında məlumatlar

Fatal səhvlər haqqında məlumatlar

Göstərilən səhvlərdən başqa TASM proqramı başqa mühüm tip səhvlər haqqında məlumat vermək imkanına malikdir. Bunlar fatal səhvlər adlanır və onlar baş verdikdə TASM onlar haqqında uyğun məlumatları ekrana verir və ilkin faylın assembləşdirilməsi prosesi yavaş-yavaş kəsilir.

Bu cür səhvlər proqramın sazlanmasında mühüm əhəmiyyət kəsb etdiyindən onların analiz olunması, yaranma səbəblərini tapmaq müəyyən məntiqi araşdırma tələb edil. Belə səhvlər əsasən yaddaşla əlaqəli səhvlər olduğundan çox vaxt dayandırmalarla müşayyət olunur.

Həmin səhvlər haqqında verilən məlumatlar və onların izahı aşağıda verilmişdir.

Bad switch - Əmr sətrində düzgün olmayan parametr-asar.

Can’t find file - Köməkçi fayl tapılmayıb.

Can’t locate file - Fayl tapılmayıb. Belə məlumat verildikdə verilmiş İNCDUDE direktivində faylın adının, diskin adının və fayla yolun düzgün göstərilib–göstərilmədiyini yoxlamaq lazımdır.

Error writing to listing file - Fayl listinqinə yazma zaman səhv. Diskdə yer olmadıqda baş verə bilər.

Error writing to object file - Obyekt faylına yazma zaman səhv. Diskdə boş yer olmadıqda baş verə bilər.

Fale not found - Fayl tapılmayıb. Əmrlər sətrində yaradılmamış faylın adı göstərilir.

File was changed or deleted while assembly in progress - Assebleşdirmə prosesində fayl adı ya dəyişdirilib ya da silinib.

İnsufficient memory to process command line - Əmrlər sətrini emal etmək üçün yaddaş çatmayır.

İnternal error - Daxili səhv.

İnvalid command line - Yolverilməz əmrlər sətri.

İnvalid number after - Yolverilməz sahə nömrəsi.

Aşağıda gösərilən səhvlər yaddaş çatışmazlığı ilə əlaqədar olaraq baş verə biləcək səhvlər haqqındakı məlumatlarla bağlıdır. Alt keş-cədvəl, istifadəçi faylının assembləşdirilməsi üçün məşğul olmayan sahənin və s. çatışmadığı hallarda baş verə biləcək səhvlər haqqında məlumatlar aşağıdakı üç fatal məlumat vasitəsi ilə verilmişdir:

1. Out of hash space- Alt keş-cədvəl üçün yaddaş çatmır. Proqramdakı hər bir identifikotorun adını translyator identifikatorlar cədvəlinin bir elementi kimi formalaşdırır. Bu cədvəl 16384 identifikatorlar adı üçün nəzərdə tutulur. Lazım gəldikdə bu sayı əmrlər sətrində /kh parametrinin köməyi ilə artırmaq olar.

2. Out of memory - Yaddaş çatmır. İstifadəçi faylının assebləşdirilməsi üçün məşğul olmayan yaddaş sahəsi çatmayır. Bu problemin bir sıra həllolunma imkanları var:

a) əgər, Compile/Destination (Kompiləüiə / Naprav­lenie) menyusunda Memtory (yaddaş) qiyməti göstərilibsə, onu Disk çevirməklə;

b) əgər, Option/Linker (Opüiə/Redaktor svəzey) menyu­sunun Link Buffer parametri üçün Memtory qiymətini Disk çevirməklə; başqa yol isə proqramın əvvəlində {$L-} direktivini yerləşdirməkdir (translyatorun işi zaman TPC –nin /L göstərişindən istifadə etmək lazımdır);

c) yaddaşda cari anda lazım olmayan rezident proqramı silmək;

Əgər göstərilən variantlar kömək etməzsə, onda proq­ram modulu həddindən artıq böyükdür, onu bu cür kom­pilyasiya etmək mümkün deyil. Bu halda onu iki və daha çox modullara bölmək lazım gəlir.

3. Out of string space - Alt sətirlər üçün yaddaş sahəsi çatmayır. Əlbətdə burada əməli yaddaş üçün sərtin saxlanması, idetifikatorların adları, faylların adları, əvvələ müraciət üçün informasiya, makroəmrlərin mətni və s. nəzərdə tutulur. Bunun üçün maksimum 512 Kbayt yaddaş sahəsi nəzərdə tutulub.

Göstərilənlərdən başqa elə səhvlər olur ki, bu səhvlər baş verdikdə translyasiya prosesi qırılır. Məsələn, proqramda həddindən çox səhv olduqda translyasiya prosesi qırılır və Too many errors found məlumatı verilir.