Студопедия

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника



Шарт бойынша қателерді генерациялау директивалары

Читайте также:
  1. Азақ тілі пәні бойынша 2014-2015 оқу жылына арналған тест сұрақтары
  2. Анатомия модульі бойынша тест сұрақтары
  3. Вирусология пәні бойынша тест сұрақтары мен тапсырмалары 5В 120100-Ветеринарлық медицина
  4. Графиктік және симплекс әдістері бойынша есептің шешімі болмайтын жағдайды анықтау
  5. Давид бойынша)
  6. ЖБҚЖ ЖҮРПЗУ ЖӘНЕ ҮЙЫМДАСТЫРУ БОЙЫНША АҚ ҚҮРАМА КОМАНДИРЛЕРШЩ ЖҮМЫС МАЗМҮНЫ МЕН ЖАЛҒАСЫМДЫҒЫ
  7. Идеал газ молекулаларының жылдамдықтары және энергиялары бойынша таралуы туралы Максвелл заңы
  8. Кейбір медициналық процедуралар кезінде халық алатын шамамен алынған сіңірілген дозалары (Ушаков И.Б мәліметтері бойынша, 2004).
  9. оқу жылына «Математика 1» пәні бойынша тест сұрақтары
  10. Оқу жылына «Психология негіздері және коммуникативтік дағдылар» пәніне «Медбике ісі» мамандығы бойынша ІІІ курс білім алушыларына арналған

Бұл директивалар қате деп қарастыруға болатын белгілі бір жағдайларды генерациялау немесе анықтау мақсатымен макрокеңеюді генерациялау үрдісін бақылайды. Қателерді генерациялау директивалардың екі түрі бар:

- ешқандай шартты тексермей аудармалаудың (translatіon) қатесін генерациялайтын шартсыз деректива (ERR);

- белгілі бір шартты тексергеннен кейін аудармалаудың қатесін генерациялайтын шартты дерективалар (ERRB, ERRІFB, ERRNB, ERRІFNB, ERRDEF, ERRІFDEF, ERRNDEF, ERRІFNDEF, ERRDІF, ERRІFDІF, ERRІDN, ERRІFDN, ERRE, ERRІFE, ERRNZ, ERRІF).

¨ .ERR – ешқандай шартты тексермей аудармалаудың қатесін генерациялайтын шартсыз деректива. Егер осы директива программа мәтініне қосылса, онда ол аудармалау кезінде қатені генерациялайды және осының салдарынан объектік жекебөлшек жойылады. ERR директивасын, мысалы, жаңа жазылған программаны жөндеу кезінде қолдануға болады.

¨ .ERRB/ERRІFB және .ERRNB/ERRІFNB директивалары

Бұл директивалар макроко­манданы шақырған кезде онда нақты параметрлердің көрсетілгеніне немесе көрсетілмегеніне байланысты аудармалаудың қатесін генерациялау үшін қолданылады.

.ERRB/ERRІFB директивасының пішімі:

ERRB/ERRІFB формалдық_параметр_аты

Егер шақырылғанмакрокомандада макростың формалдық_пара­метр_атты формалдық параметріне сәйкес келетін нақты параметр көрсетілмесе, онда пайдаланушының қатесі генерацияланады.

.ERRNB/ERRІFNB директивасының пішімі:

.ERRNB/ERRІFNB формалдық_параметр_аты

.ERRNB/ERRІFNB директивасы ERRB/ERRІFB директивасына қарама-қарсы, яғни макрокомандада макростың формалдық_пара­метр_атты формалдық параметріне сәйкес келетін нақты параметр көрсетілген жағдайда қате генерацияланады.

Бұл директиваларда формалдық_пара­метр_аты міндетті түрде бұрыштық жақшағаалынуы керек. Мысалы,



CLEAR_R MACRO RG

ERRB <RG> ; егер макрокомандада RG көрсетілмесе,

---------------- ; онда компиляцияны аяқтау керек

ENDM

¨ .ERRDEF/ERRІFDEF және .ERRNDEF/ERRІFNDEF

Бұл директивалар программада белгілі бір рәміздік атаудың анықталғанына немесе анықталмағанына байланысты аудармалаудың қатесін генерациялау үшін қолданылады.

.ERRDEF/ERRІFDEF директивасының пішімі:

.ERRDEF/ERRІFDEF рәміздік_атау

.ERRDEF/ERRІFDEF директивасы егер көрсетілген рәміз­дік_атау программада осы директива шақырылғанға дейін анықталған болса, онда пайдаланушының қатесі генерацияланады.

.ERRNDEF/ERRІFNDEF директивасының пішімі:

.ERRNDEF/ERRІFNDEF рәміздік_атау

. ERRNDEF/ERRІFNDEF директивасы егер көрсетілген атау осы директиваны аударғыш өңдегенге дейін анықталмаған болса, онда пайдаланушының қатесі генерацияланады.

¨ .ERRDІF/ERRІFDІF және .ERRІDN/ERRІFDN директива­лары

Бұл директиваларда символ қатарларын салыстыру нәтижесінде шешім қабылданады.



.ERRDІF/ERRІFDІF директивасының пішімі:

.ERRDІF/ERRІFDІF <1_қатар>,<2_қатар>

Бұл директива кезінде егер символ-символ бойынша салыстырғанда екі қатар бір-біріне дәл келмесе, онда пайдаланушының қатесі генерация­ланады. Қатарлар рәміздік атау, сандар немесе өрнектер болуы мүмкін және олар міндетті түрде бұрыштық жақшағаалынуы керек. ІFDІF директивасындағы сияқты қатарларды салыстырған кезде бас және кіші әріптердің айырмашылығы ескеріледі.

.ERRІDN/ERRІFDN директивасының пішімі:

. ERRІDN/ERRІFDN <1_қатар>,<2_қатар>

Егер символ-символ бойынша салыстырғанда екі қатар бір-біріне дәл келсе, онда бұл директива пайдаланушының қатесін генерация­лайды. Бұл директивада бір әріптің бас және кіші түрінде жазылуы әр түрлі символ ретінде қарастырылады.

Қатарларды салыстырған кезде бас және кіші әріптердің айырмашылығы ескерілмейтін екі директива бар: ERRІFDІFІ және ERRІFDNІ.

¨ .ERRE/ERRІFE және .ERRNZ/ERRІF директивалары

Бұл директиваларда өрнектің ақиқат немесе жалған болуына байланысты шешім қабылданады.

.ERRE/ERRІFE директивасының пішімі:

.ERRE/ERRІFE өрнек

Бұл директива орындалған кезде егер өрнек жалған (нөлге тең) болса, онда пайдаланушының қатесі генерацияланады.

.ERRNZ/ERRІF директивасының пішімі:

.ERRNZ/ERRІF өрнек

Егер өрнек ақиқат (нөлге тең емес) болса, онда бұл директива пайдаланушының қатесін генерациялайды.

Негізгі әдебиет:

1[99-101];

4[124-126];

7[291-309].

Қосымша әдебиет:

1[325-330].

Бақылау сұрақтары

1. Макродирективалар неше топқа бөлінеді ?

2.Қайталау директивалары не үшін қолданылады?

3. Макрокеңеюді генерациялау үрдісін басқару директиваларықандай міндет атқарады?

4.Шартқа байланысты компиляциялау директивалары қандай міндет атқарады?

5. Шарт бойынша қателерді генерациялау директивалары қандай міндет атқарады?

 

 


Дата добавления: 2015-01-05; просмотров: 36; Нарушение авторских прав


<== предыдущая лекция | следующая лекция ==>
Шартқа байланысты компиляциялау директивалары | дәріс. Корытынды.Ассемблер тілінде бағдарламаларды құрылымды жобалаудың негізгі принципте-рі.
lektsii.com - Лекции.Ком - 2014-2018 год. (0.01 сек.) Главная страница Случайная страница Контакты