Практикалы жмыс №10,11

Таырыбы: Ассемблерде массивтермен жмыс жолдары. Екі лшемді массив.

Масаты: Ассемблерде екі лшемді массивтермен жмыс жолдарын мегерту.

ТЖ:Компьютер

ПЖ: TurboPascal, TurboAssembler, MacroAssembler т.б.

Баылау сратары:

1.Индексті айнымалылар алай жзеге асырылады?

2.Адресті модификациялау, индекстеу алай жасалады?

3.Жанама сілтеме дегеніміз не?

4.Бірнеше регистрлер арылы модификациялау алай жреді?

5.Орындалатын адрес дегеніміз не? Ол алай есептеледі?

6.LEA жне XLFT командаларыны маанасы неде?

Тапсырма:Берілген есепті алгоритмін рып, ассамблерде прогаммасын жазу керек.

Тапсырмаларды жеке варианттары:

№1A[N, N] матрицасыны негізгі диагональ бойында орналасан о табалы элементерді санын жне осындысын есептеу керек.

№2Квадрат матрицасы берілген. Бас диагоналіндегі максимал элементі бар жолды m нмірімен берілген жолмен орын ауыстыру керек.

№3B[N, M] матрицасы берілген. Матрицаны рбір жолынан максимал жне минимал элементі тауып, оларды орнын бірінші жне соы элементпен сйкес ауыстыру керек.

№4n-ші ретті квадрат матрицасы берілген. Оны магиялы квадрат болатындыын анытау керек, яни барлы жолдар мен баандардаы элементтерді осындысы бірдей болатын.

№5 лшемді наты матрица берілген. Оны жолдары мен баандарыны орнын ауыстыра отырып, е лкен элементті (немесе оларды біреуін) сол жа жоары брышта болуын орындау керек.

№6Берілген n-ші ретті квадрат матрицасыны симметриялы (бас диагональа атысты) болатынын анытау керек.

№7Бтін санды квадрат матрицасы берілген. рбір жолды е лкен элементін тауып, оны негізгі диагоналді элементімен ауыстыру керек.

№8 лшемді матрицаны рбір жолыны элементтерін су реті бойынша реттеу керек.

№9A[N, N] квадрат матрицасы берілген. Матрицаны теріс табалы элементтеріні орнына – нлді, ал одарыны орнына – бірді жазу керек.

№10Барлы элементтері ртрлі болатын лшемді матрица берілген. рбір жолдан е кіші мнді элемент тадалады, содан кейін осы сандарды арасынан е лкені тадалады. Табылан мнді элементті индексін крсету керек.

№11Квадрат матрицасы берілген. Транспонирленген матрица алу керек, яни баандары мен жолдарыны орындары ауыстырылан матрица.

№12n-ші ретті квадрат матрицасы жне kсаны берілген. K-сыншы жолды элементтерін осы жолда орналасан диагональ жол элементіне блу керек.

№13Бтін санды квадрат матрицасы шін k-а еселі болатын элементтер санын жне алынан мндерді ішінен лкенін табу керек.

№14Тіктртбрышты матрицаны е лкен жне е кіші элементтерін тауып, оларды орнын ауыстыру керек.

№15Тіктртбрышты матрица берілген. Элементтеріні осындысы е лкен жне е кіші болатын жолды табу керек. Табылан жолдарды жне сол жолдардаы элементтерді осындысын экрана шыару керек.


Глоссарий

А

Адресті модификациалау - командадаы адресті орындалатын адреске ауыстыру.

Ассемблер - машиналы тілді символды формада жазылуы. Онда амалдарды цифрлы кодтарыны орнына йреншікті амал белгілері немесе оларды сздік атаулары, адрестерді орнына – атаулар жазылады, ал тратылар онды жйеде жазылады.

Б

Байт (byte)- зындыы 8 бит атар жатан екілік сандар тізбегі.

Белгі – символды атау.

Бит- компьютердегі мліметтерді базалы лшемі.

Е

Екіеселі сз (double word) – бл зындыы 2 сз (4 байт) болатын мліметтерді реттелген тізбегі.

Ж

Жазба - рістері жеке яшытарда емес, яшыты блігінде орналасатын жинаталан рылым.

Жедел жад- процессор адрес шинасы арылы катынайтын компьютерді натылы (іс жзіндегі) жады немесе жедел сатау рылысы.

Жергілікті атаулар - модульде сипатталатын барлы атаулар сол модульді ішінде жекеленеді, яни сол модульді ішінде сипатталып, модульден шыанда мытылады. Ондай атаулар жергілікті атаулар деп аталады.

Жолдар- бір немесе ос тырнашалара алынып жазылан символдар тізбегі.

Жылжытылатын прораммалар (орындалатын модуль- программаны орындау барысында операциялы жйе оны жадты кез келген ыайлы жеріне орналастыра алады. Ал ол шін компиляцияланан программаны жылжытуа болатындай етіп згерту керек. Жылжытылатын программалар компоновщик (жинатаыш) деп аталатын арнайы программаларды кмегімен жасалады.

И

Идекстеу- индексті айнымалыны адресін алуды сипаттау дісі.

Идентификатор - программаны ртрлі объектілерін - айнымалыларды, белгілерді, амалдар атауларын жне т.б. - белгілеу шін олданылатын ассемблерді арапайым рылымы.

Индекстік регистр- регистр-модификатор индексті сатауа олданылатын регистр.

К

Кодтау жйесі - символдар мен оларды кодтарыны арасындаы сйкестік.

Командалар форматы- командаларды кодтау ережелері.

Компьютерді архитектурасы- ЭЕМ–ні рылымын, техникалы слбасын, логикалы йымдастырылуын айындайтын ЭЕМ–ні абстрактылы крінісі.

отарма (буферлік) жад- процессорды жедел жмысына ажетті тек аздаан командаларды уаытша сатап тратын, процессор мен жедел жадты арасындаы жад.

рылым – дегеніміз бірнеше атар жатан яшытара орналасатын рама объект. рылымны компоненттері рістер деп аталады, оларды типтері мен лшемдері ртрлі болуы ммкін: мысалы, бір ріс байт, екінші ріс сз т.с.с. рістер аталып, олара атынау осы атаулар арылы жасалады.

ызметші сздер – транслятор шін маынасы алдын-ала аныталан сздер.

Л

Логикалы командалар- логикалы (бульдік) алгебра амалдарына негізделген. Бл амалдар екілік санны жеке биттарын модификациялауа ммкіндік береді.

М

Массив – бір атау берілген, біртипті мліметтерді белгілі бір жиынтыы. Массивті DUP айталау конструкциясын олдану арылы мліметтерді анытау диретиваларымен сипаттауа болады.

Машиналы командалар- белгілі бір ережелерге сйене отырып растырылан нлдер мен бірлерді тізбегі.

Мнемокод (мнемоникалы код)- команданы міндетті блігі.

Модификатор- модификациалауда олданылатын регистр немесе жай ана дейміз.

О

Оналтылы сан - іргелес тетрадаларды (трт биттар) тізбегі.

Операндтар - командалар мен директиваларда берілетін амалдарды орындауа атысатын объектілер.

П

Позициялы санау жйесі - цифрды маынасы оны сандаы орнына тікелей байланысты болатын санау жйесі. Позициялы санау жйесінде сандарды жазуа арналан цифрлар саны санау жйесіні негізіне (q) те.

Р

Регистрлер – мліметтерді процессорда сатауа арналан жоары жылдамдыты жад аймаы.

Регистрлер - орталы процессорда орналасан жне олара программа арылы атынауа болатын яшытар.

Регистр-модификатор- модификациалауда олданылатын регистр

Рекурсивтік процедура - зіне зі тікелей (тіке рекурсия) немесе баса процедуралар (жанама рекурсия) арылы атынайтын процедура.

С

Санау жйелері- сандарды жазылу ережелеріні жиынтыы. Санау жйелері позициялы жне позициялы емес болып блінеді.

Сз (word) – бл зындыы екі байт (16 разряд) мліметтерді реттелген тізбегі.

Сйлемдер–командалар- машиналы команданы символды трде жазылуы.

Стек дегеніміз оан жазылан соы элемент бірінші оылатын принциппен йымдастырылан жад аймаы. Стек арнайы стек сегментіне орналастырылады.

Т

Табасыз бтін сандар - о сандар немесе нл.

Тікелей операнд- операнд команданы зінде крсетілуі, немесе регистрлерді бірінде орналасуы

Трансляциялау- ассемблерді (ТASM немесе MASM-ны) кмегімен адама тсінікті жазылан, бастапы программаны, процессора тсінікті, объектілік программаа трлендіру процесі.

Ттініктемелер- программаны маынасына сер етпейтін, трансляциялану кезеінде ескерілмейтін программада тсініктемелер жазу шін олданылатын ассемблер тіліні рылымы.

І

Ішкі шиналар- процессорда жйелік шиналар трізді параллелді ткізгіштер жиынтыы болып келетін, процессорды жеке блоктарын оларды мліметтер алмасуы шін жаластыратын шиналар

Ш

Шешім абылдау командалары- программаны орындалу алгоритмі бойынша машинада жазылан командаларды алыпты ретін згертіп отыру ажет болан жадайда, яни келесі орындалатын командаа ту шін олданылатын командалар. Бл командаларды программалау тілдерінде ысаша ту командаларды деп атайды.