Программалау негiздерi

Программалау негiздерi

Дәріс сабағының құрылымы:
1. Программалау туралы түсінік
2. Программалау кезеңдері.
3. Ассемблер тілінде программалау

1. Ассемблер тiлiнде программаны дайындау және iске қосу кезеңдерi программаның текстiн дайындау, трансляциялау, құрастыру және отладкалау кезеңдерiнен тұрады.
2. Программаның текстiн дайындау кез-келген текстiк текстiк редакторда, мысалы Norton Commander программасының текстiк редакторында жазылады. Дегенмен, программаның текстiн дайындау кезiнде WINDOWS жүйесiнiң WordPad және Блокнот программаларын қолдануға болады. Бiрақ бұл жағдайда орыс алфавитiмен қиындықтар туады, егер орыс әрiптерiмен жазылған түсiнiктемелер берiлсе, оны ДОС жүйесiнде ашып, трансляцияласақ әрiптер орнына түсiнiксiз символдар шығады. Сондықтан MS-DOS операциялық жүйесiнiң басқарылуымен орындалатын ассемблер программаларының текстерiн сол ортада жүргiзген дұрыс.
3. Алдыңғы сабақтағы программаны қарастырайық. Осы программадан бiрқатар қажеттi моменттердi атап көрсетуге болады. Программадағы assume, segment, ends, end операторлары ешқандай машина кодтарына трансляцияланбайды және жадыдан көрiнбейдi. Олар тек трансляторға трансляциялау командаларының тәсiлдерi (assume), сегмент шекаралары (segment, end), программаны аяқтайтын текстiк жол жөнiнде қызметтiк ақпарат беру үшiн қолданылады.
Программаның әрбiр трансляцияланатын сөйлемiне белгiлi-бiр араласу (смещение) сәйкес келедi., араласу тапсырмасы әрбiр сегментте жеке орындалады. Mov AX, DATA бiрiншi командасының команда сегментiнiң басынан араласуы бар, ол нөлге тең. Ол 3 байт орын алады, сондықтан келесi командада 3 байттан басталады.
Транслятор Mov AX, DATA командасының кодын толығымен анықтай алмады. Осы командада АХ регистрiне DATA сегментiнiң сегменттiк адресi берiледi. Бiрақ бұл адрес программаның орындалатын файлы жадығы жүктелгенде ғана белгiлi болады. Сондықтан программа листингiнде осы адрестiң орнына s әрпiмен белгiленген ноль сандары тұр. S әрпi бұл жерде белгiсiз сегменттiк адрестiң болатындығын көрсетiп тұр. ВА 0000 коды бар команда листингтiң 8-жолында орналасқан. Осы командада DX регистрiне msg деп аталатын жол араласуы жазылады (offset қызметтiк сөзi бұл жерде араласу көрсетiлгендiгiн бiлдiредi). Msg жолы мәлiметтер сегментiнiң ең басында орналасқан және оның сегмент басындағы араласуы 0-ге тең. Бұл команда неге r әрпiмен белгiленген.(r – relocatable- переместимый). Бұрын айтылғандай, кез-келген сегмент жадыда 16-ға еселi адреспен ғана орналасады.
TASM пакетiнен TD.EXE турбоотладчигiнiң жұмысын қарастырайық. Отладчикпен жұмыс iстемес бұрын жұмысшы катологта жүктемелiк (p.exe) және бастамалық (p.asm) файлдарының бар екендiгiн тексерiп алу қажет.
Отладчиктi қосу үшiн келесi команданы енгiзу қажет:
td p
команданы енгiзгеннен кейiн экранда отладчик терезесi ашылады. Бұл процесс кезiнде экранға бiрнеше терезелердi шығару қажет болады. Олар көп болғандықтан бiр-бiрiн жауып тұрады. Олардың барлығын бiруақытта көру үшiн өлшемдерiн кiшiрейту қажет болады. Терезелер өлшемдерiн өзгерту Ctrl+F5 командасымен жүредi.


Отладчиктiң бастапқы терезесi (1-сурет) программаны зерттеу үшiн аз ақпарат бередi.Ассемблер тiлiнiң деңгейiнде программаны отладкалау үшiн процессордың жалауша регистрлерiн қоса, барлық регистрлерiн, көп жпғдпйда программадан тыс мiлiметтер өрiстерiн зерттеу қажет. Неғұрлым көп ақпарат беретiн терезе – процессор терезесi, ол View-CPU менюiмен немесе Alt-V-C клавишаларымен шақырылады.

Процессор терезесi программа текстiн ассемблер тiлiнде және машиналық кодтарды, процессор регистрлерiн, жалаушаларын, стектi, жадынының iшiндегiелерiн бақылауға арналған бес iшкi терезелерден тұрады. Осы терезелердiң көмегiмен программаның толық жүрiсiн бақылауға болады.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *