- •Поясніть взаємозв’язок між данними типу «массив» і змінною типу «показчик»:
- •Формат записів для одержання стану перемикаючих клавіш за допомогою функції 02h преривання int16h:
- •Сегментные регистры:
- •8.1. Включение в проект новой формы.
- •8.2. Просмотр форм и модулей без включения их в проект.
- •8.3. Размещение компонентов на форме.
Сегментные регистры:
Сегментные регистры необходимы для обращения к тому или иному сегменту памяти (например, видеобуферу). Сегментация памяти довольно сложная и объемная тема, которую также будем рассматривать в последующих выпусках.
Новые операторы
Команда |
Перевод (с англ.) |
Назначение |
Процессор |
INC приемник |
Increment инкремент |
Увеличение на единицу |
8086 |
Команда INC увеличивает на единицу регистр. Она эквивалентна команде
ADD источник, 1
только выполняется гораздо быстрее.
Примеры:
mov al,15
inc al ---> теперь AL = 16 (эквивалентна add al,1)
mov dh,39h
inc dh ---> DH = 3Ah (эквивалентна add dh,1)
mov cl,4Fh
inc cl ---> CL = 50h (эквивалентна add cl,1)
Если мы вспомним, что программа в любой момент может обратиться к одному из четырех сегментов: к текущему сегменту кода, данных, стека или к дополнительному (сегменту данных), то нас вряд ли удивит, что в состав процессора входят четыре 16-разрядных регистра, являющихся указателями адресов текущих Сегментов. Их функции строго дифференцированы, а потому каждый регистр имеет свою "профессию": CS определяет сегмент кода, DS — сегмент данных, SS — сегмент стека и ES — дополнительный сегмент (рис. 6).
Теперь для того, чтобы, к примеру, произвести выборку слова данных из стека, программе достаточно обратиться к регистрам SS и SP, сложить находящиеся в них числа по уже известному нам правилу и в качестве результата получить реальный адрес вершины стека.
Керування формами в С++Builder:
Основным элементом любого приложения является форма - контейнер, в котором размещаются другие визуальные и невизуальные компоненты. С точки зрения пользователя форма - это окно, в котором он работает с приложением. Каждой новой форме, видимой в приложении, соответствует свой модуль (unit), описывающий эту форму как класс и включающий, если необходимо, какие-то дополнительные константы, переменные, функции и процедуры.
Надо задавать уникальное имя формы в свойстве Name. О наступлении случая совпадения имен выдается следующее предупреждение: "The project already contains a form or module named Form 1", которое означает "Проект уже содержит форму или модуль с именем Form1".
8.1. Включение в проект новой формы.
8.1.1. Способы включения в проект новой формы:
File => New Form
Соответствующая быстрая кнопка
8.1.2. Способы включения в проект ранее разработанных форм:
Project => Add to Project
Соответствующая быстрая кнопка
Копирование соответствующих файлов из одного каталога в другой, т.е. файлов: *.cpp, *.h, *.dfm.
Выполнить команду File => Open и затем команду File => Save As, тогда С++Builder автоматически скопирует файлы, описывающие форму.
Добавление формы из ДЕПОЗИТАРИЯ: выполнить команду File => New => Other, в открывшемся окне New Items на страницах Form and Dialogs можно заимствовать ряд форм для своего проекта. Форма заимствования определяется тремя радиокнопками: (1), (2), (3)
(1) Copy - копировать (2) Inherit - наследовать (3) Use - использовать
В случае совпадения имен добавляемых файлов надо перейти в окно редактора кода добавляемого приложения и сохранить конфликтующий модуль командой File => Save As в каталоге "нового" приложения, дав ему новое имя. В случае включения формы способами 8.1.2. , форма становится общей для обоих приложений, изменение которой отразиться в обоих приложениях.