претує параметр-змінну, як 32 розрядно покажчик, а розмір параметра-змінної всегда Рівний 4 (розміру 32 розрядно покажчика). У Паскалі синтаксис для доступу до параметра змінній и до значення параметра Однаково. У разі вбудований асемблера це не так. Тому для доступу до вмісту параметра-змінної вам спочатку придется Завантажити 32-розрядно покажчик, а потім звернута до осередку, на якові ВІН указує.
например, если X и У - параметри-змінні пріведеної вищє Функції Sum, то вона может віглядаті Наступний чином:
function Sum (var X, У: Integer): Integer; bx, Xах, es: [bx] bx, Yах, es: [bx] Result, ax ;;
Деякі ідентіфікаторі, Такі, як змінні типу Запис мают область Дії, что дозволяє поводітіся до них з помощью операции Вибори елементи структури-крапки (.).
например, з обліком опісів:
=record, У: Integer ;;=record
А, B: Point ;;: Point ;: Rect;
для доступу до полів в змінніх P и R можна використовуват Наступний конструкції:
asmах, P.Xdx, P.Ycx, RAXbx, RBY;
Для безпосередньої побудова змінної можна використовуват Ідентифікатор типу. Кожна з наведених нижчих інструкцій генерує одна и тій же машині код, что завантажує в АХ ES: [DI + 4]:
ах, (Rect PTR es: [di]). B.Xах, Rect (es: [di] .B.Xах, es: Rect [di] .B.Xах, Rect [es:di] .B.Xах, es: [di] .Rect.BX;
Область Дії задається тіпів, полем и ідентіфікатором перемінної типу записів або об'єктного типу. Крім того, ідентифікатора модуля відкріває область Дії конкретного модуля (як Повністю уточнень Ідентифікатор в Паскалі).
3. Підпрограмі
Підпрограмі прізначені для реализации алгоритмів опрацювання ОКРЕМЕ частин деякої складної задачі. Смороду дають змогу реалізовуваті Концепцію структурного программирования, суть которого Полягає в розкладанні складної задачі на послідовність простих підзадач и в складанні для алгоритмів розв'язування кожної підзадачі відповідніх підпрограм. Розрізняють дві види підпрограм - підпрограмі-процедури та підпрограмі-функції. Підпрограмі поділяються на Стандартні та підпрограмі користувача. Стандартні підпрограмі створюваті НЕ нужно - смороду містяться у стандартних модулях System, Crt, Dos, Graph ТОЩО. Підпрограма користувача - це пойменована група команд, якові створюють и опісують в основній Програмі в Розділах procedure або function и до якої звертають з будь-которого місця програми потрібну Кількість разів.Паскалі є дві тіпі підпрограм: процедури І ФУНКЦІЇ. Основна відмінність между ними Полягає в тому, что функція Повертає значення І может використовуват у виразі, Наприклад:
:=Sin (A);
тоді як процедура віклікається для виконан однієї або более завдань:
(Це провірка);
Опис процедур та функцій займає визначене місце у структурі програми, того, дере чем знайомитися з процедурами и функціями, необходимо Розглянуто структуру програми на Паскалі.
4. Структура програми
стандартному Паскалі програми мают строгий формат:
Ім'я-програми
Мітки;
описание констант;
визначення тіпів даних;
опису змінніх: i functions;
основне Тіло програми.
З п яті секцій Опису - label, const, type, var и procedures и functions - НЕ всі повінні буті присутній в Кожній Програмі. Проти, в стандартному Паскалі, если смороду ін?? сутні, то смороду повінні слідуваті у Вказаною порядку и Кожна секція винна з являтися только один раз. За секцією опису могут слідуваті процедури І ФУНКЦІЇ, и только тоді - основні Тіло програми, что складається з Деяк числа операторів.уpбo-паскаль Забезпечує значний більш Гнучкий структуру програми. Bce, что вимагається, - це, щоб оператор program (если такий є) БУВ дере, а основні Тіло програми - останнім. Між ними можна мати скільки завгодно много секцій опису, у будь-якому порядку І як завгодно змішанімі з процедурами и функціямі. Ho дере, чем что-небудь використовуват, це повинною буті Визначи, інакше на етапі компіляції появится ПОВІДОМЛЕННЯ про ошибку.
5. Процедури І ФУНКЦІЇ
Як згадувать Ранее, процедури І ФУНКЦІЇ, відомі як підпрограмі, могут з'явитися в будь-якому місці до основного тела програми.
Процедури І ФУНКЦІЇ дозволяють включать в основній програмний блок додаткові блоки. Кожний описание процедури або Функції містіть заголовок, за Яким слідує програмний блок. Процедура...