М.Өтемісұлы атындағы Батыс Қазақстан Мемле



жүктеу 0,53 Mb.
бет6/8
Дата20.11.2018
өлшемі0,53 Mb.
#21922
түріПрограмма
1   2   3   4   5   6   7   8

Синтаксис ассемблера


Предложения, составляющие программу, могут представлять собой синтаксическую конструкцию, соответствующую команде, макрокоманде, директиве или комментарию. Для того чтобы транслятор ассемблера мог распознать их, они должны формироваться по определенным синтаксическим правилам. Для этого лучше всего использовать формальное описание синтаксиса языка наподобие правил грамматики. Наиболее распространенные способы подобного описания языка программирования — синтаксические диаграммы и расширенные формы Бэкуса—Наура . Для практического использования более удобны синтаксические диаграммы . К примеру, синтаксис предложений ассемблера можно описать с помощью синтаксических диаграмм, показанных на следующих рисунках.



Рис. 1. Формат предложения ассемблера

27. Тақырып: Процедуралар және call опреаторы



Рис. 2. Формат директив



Рис. 3. Формат команд и макрокоманд

На этих рисунках:



  • белгі аты— тұжырымның бірінші байтының адрес өзінің мәні болатындай идентификатор

  • имя — берілген директиваны басқа аттас болатын директиваларынан айыратын идентификатор

  • амал коды және директива – сәйкес машиналық команданың , макрокоманданың немесе директиваның мнемоникалық белгілеуі

  • операндтар – ассемблердің өнделу объетілерін белгілейтін команда, макрокоманда немесе директивасының бөліктері.



  • объекты, над которыми производятся действия. Операнды ассемблера описываются выражениями с числовыми и текстовыми константами, метками и идентификаторами переменных с использованием знаков операций и некоторых зарезервированных слов.


28. Тақырып: Процедуралар және call операторы

 


Команда схема: 

call цель 


Міндеті:

  • басқаруды жақындағы немесе алыстағы процедураға беру және қайта оралу нүктесін стекте жаттау.

  • есептерді ауыстыру.

Синтаксис
Жұмыс жасау алгоритмі :
операнда типімен анықталады:

  • жақын белгі—eip/ip мәні стекке кіргізіледі

  • алыстағы белгі—eip/ip и cs. мәні стекке кіргізіледі .

  • r16, 32 немесе m16, 32 —регистрді немесе жады ұяшығын

  • в защищенном режиме — интерпретация цели передачи управления зависит от значения байта AR дескриптора, определяемого селекторной частью указателя. Целью здесь являются дальний вызов процедуры без изменения уровня привилегий, дальний вызов процедуры с изменением уровня привилегий или переключение задачи.

Состояние флагов после выполнения команды (кроме переключения задачи):


Команданың орындалуы жалаулар қалып-күйіне әсер етпейді






29. Тақырып: Процедуралар және call операторын қамтитын программалардың стекті қолдануы

До сих пор мы рассматривали только программы, представляющие


собой одну длинную последовательность исходного кода. Каждая
программа начиналась с раздела кода, выполняла поочередно каждую
инструкцию (иногда изменяя свой маршрут при выполнении циклов или
принятии решений), а затем завершалась в конце раздела кода. Все
это хорошо для небольших программ, но в больших программах требу-
ется использования таких конструкций, которые называются подпрог-
раммами.
Возможно вы уже знакомы с подпрограммами в языках высокого
уровня. В языке Си подпрограммы называются функциями, в Паскале и
Бейсике - процедурами и функциями. Подпрограммы, процедуры и фу-
нкции представляют собой, в общем, одно и то же - отдельную часть
кода, воспринимающую определенные входные данные, выполняющую оп-
ределенные действия и, возможно, возвращающую полученное в ре-
зультате значение.

30. Тақырып: Процедуралар және call операторын қамтитын программалардың стекті қолдануы
Подпрограмма көмегімен программа модульдік принцип бойынша құруға болады. Подпрограмма қолдану кейбір арнайы детальдарды жасырып оларды төменгі денгейге түсіреді, ал программист тек қана прогамманың жалпы алгоритмімен ғана жұмыс жасайды. Подпрограмма көмегімен программа компакты түрде құрылады, себебебі бөлек программаны программаның әрбір жерінен шақыруға болады. Бұл көптеген программалау тілдерінде пайдалынады.

Подпрограмманы орындау:

Основные моменты выполнения подпрограммы иллюстрируются на
Рис. 5.12. В вызывающей подпрограмму программе выполняется инст-
рукция CALL, которая заносит адрес следующей инструкции в стек и
загружает в регистр IP адрес соответствующей подпрограммы, осуще-
ствляя таким образом переход на подпрограмму. После этого под-
программа выполняется, как любой другой код. В подпрограммах мо-
гут (часто это так и бывает) содержаться инструкции вызовов дру-
гих подпрограмм. Фактически, должным образом построенные подпрог-
раммы могут даже вызывать сами себя (это называется рекурсией).

6. Лабораториялық сабақтарының жоспарлары

Лабораториялық жұмыс 1

Компьютер жадында мәліметтер қалай сақталады ?



Предположим, что:
нульдың белгілеуі мынадай болады 0000 (четыре нуля),
Бір - 0001,
Екі - 0010 (т.е. правую единицу заменяем на 0, а вторую устанавливаем в 1).
Әрі қарай:
Үш - 0011
Төрт - 0100
Бес - 0101
Алты - 0110
Жеті - 0111
Сегіз - 1000
Тоғыз - 1001
ж.т.с.с.

В Ассемблере после двоичного числа всегда должна стоять буква "b". Это нужно для того, чтобы при ассемблировании программы Ассемблер смог отличать десятичные, шестнадцатеричные и двоичные числа. Например: 10 - это "десять", 10h - это "шестнадцать" а 10b - это "два" в десятичной системе. Т.о. в регистры можно загружать двоичные, десятичные и шестнадцатеричные числа.



Например:

mov ax,20

mov bh,10100b

mov cl,14h

Нәтижесінде AX, BH және CL регистрларында бірдей сандар орналасады, бірақ олар әртүрлі санау жүйелірінде жазылған.

Компьютер ол санды екілік форматтта сақтайды (BH регистріндегідей.).



Лабораториялық жұмыс 2

Он алтылық санау жүйесі

Екәләк жүйесінің негәзгі қолайсыздығы – сандардың өзындықтары. Практика екілік сандармен арнайы жағдайларда ғана жұмыс жасайды. Мысалы, кейбір биттардың мәндерін бақылау үшін. Ал егер айнымалылардың мәндер ең болмаса 4 биттен үлкен болған жағдайда 16-қ жүйеге көшеді. 16-қ жүйе ондық жүйесінен гөрі жинақы және одан екілік жүйеге оңай көшуге болады. 16-қ жүйесінде қолданылатын «цифр»: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А, В, С. D, E, F.

Цифраның сандағы позициясының номері 16-ны шығару дәрежесіне сәйкес, яғни;

96h = 9 * 16 + 6 = 150

9h = 1001b, 6h = 0110b, 96h = 10010110b


Десятичное

Двоичное

Шестнадцатиричное

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

0000b
0001b
0010b
0011b
0100b
0101b
0110b
0111b
1000b
1001b
1010b
1011b
1100b
1101b
1110b
1111b
10000b

00h
01h
02h
03h
04h
05h
06h
07h
08h
09h
0Ah
0Bh
0Ch
0Dh
0Eh
0Fh
10h



Лабораториялық жұмыс 3

Мәліметтер форматтары


жүктеу 0,53 Mb.

Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау