77-сурет. Emu8086 эмулятор терезесі
Эмулятор терезесінде регистрлер және программаны басқа- ру батырмалары көрсетілген. Ал берілген код терезесінде прог- рамманың мәтіні көрсетіледі, онда дәл сол мезетте орындалып жатқан жол белгіленіп тұрады. Бұл программаны түсіну және жөндеу үшін өте ыңғайлы. Эмулятор терезесінде программаны толық орындауға қосуға немесе қадам бойынша орындалуын жүргізуге болады. Программаны қадам бойынша орындау түзе- ту үшін өте ыңғайлы. RUN батырмасы арқылы программаның іске қосылуын қарастырып көрейік. Егер программада қате бол- маса, онда аяқталғаны туралы хабарлама шығады, ОК батырма- сын басып, нәтижені көресіз.
122
түсініктемелер (нүктелі үтірден басталады) және жолдың соңы- на дейін жалғасады. Тағы да айта кетсек, регистрлер рөл атқар- майды. RET, ret немесе Ret бір команда болып есептеледі, яғни әріптердің регистрлері ескерілмейді.
Құрылған файлды дискіге сақтайсыз. EMULATE (жасыл ұш- бұрышы бар батырманы) басып немесе F5 функционалдық ба- тырмасы арқылы іске қосамыз. Программаның орындалуы ба- рысында екі терезе ашылады: эмулятор терезесі және берілген код терезесі.
79-сурет. Сіздің алғашқы программаңыз орындалды
Жоғарыда айтылғандай бұл программа латынның «А» әрпін баспаға беріп тұр.
Ескеретіні, Emu8086 – бұл ЭМУЛЯТОР, яғни ол тек ком-
пьютердің 8086 процессорымен жұмысын имитациялайды. Сон- дықтан қарастырылып отырған мысалда программаны ОЖ емес, эмулятор орындайды. Emu8086 жеке компьютерде орындалатын нақты программаларды да құруға болады. Бізге қазір програм- маның ОЖ немесе эмуляторда орындалуы аса маңызды емес, ал- дымен, ассемблер тілінде программаны қалай құратынына бай- ланысты сұрақтарды қарастырып көрейік. Жоғарыдағы мысал- ды талдайық:
#make_COM#– 1-інші жол. Emu8086 эмуляторында құры- латын файлдың типін анықтау үшін пайдаланылады. Көріп отырғанымыздай, COM кеңейтілуі бар файл.
123
78-сурет. Программаның аяқталғаны туралы хабарлама
ORG 100h – 2-інші жол. Бұл команда программалық сана- ғыштың мәнін орнатады, себебі жадыға СОМ файлды жүктеу барысында алғашқы 256 байтты бөледі (ондық сан 256 оналты- лық 100 санына тең). Программаның коды тек осы блоктан ке- йін ғана орналасады. СОМ типіндегі файлдарды компиля- циялайтын барлық программалар осы директивадан басталады.
MOV AH, 02h– 3-інші жол. Нұсқау (немесе команда) MOV екінші операндтың мәнін бірінші операндқа жылжытады, яғни 02h мәні АН регистріне жылжиды. 02h – бұл DOS ОЖ команда- сы, ол экранға символды шығарады.