
- •2) Работа с файлами в с
- •3) Регистры процессора Intel x86
- •1) Основные команды процессора Intel x86 Расширение операндов
- •Работа с битами
- •Работа с флагами процессора
- •3) Простые типы данных в Паскеле
- •1) Составные типы данных в паскале
- •2) Циклические конструкции в с
- •3) Арифметические операции ассемблера
- •1)Условные переходы
- •2) Условные операторы в с
- •1) Массивы и строки в с
- •3) Работа с памятью в с
- •2) Составные типы данных с. Структуры
- •3) Условные Операторы в паскале
- •1) Математический сопроцессор
- •2) Циклические конструкции Паскаля
- •1) Процедуры и Функции в паскале
- •2) Простые типы данных в с
- •3) Массивы и строки в ассемблере
- •2) Общая структура программы с
- •3) Видеобуфер
- •1) Циклические конструкции в с
- •2) Работа с видеопамятью
- •3) Процедуры и функции в паскале
- •1) Простые типы данных в с
- •2) Строки в ассемблере
- •3) Условные Операторы в паскале
- •1) Работа с файлами в с
- •2) Условные переходы
- •3) Массивы и строки в паскале
- •2) Флаги
- •3) Организация сложных структур данных в паскале. Списки.
- •1) Работа с памятью в с
- •3) Составные типы данных в паскале
- •1) Массивы и строки в с
- •2) Регистры процессора Intel x86
- •1) Простые типы данных в с
- •2) Математический сопроцессор
- •3) Файлы в паскале
- •1) Условные операторы в с
- •2) Регистры процессора Intel x86
- •1) Типы данных в с
- •3) Условные Операторы в паскале
- •1) Общая структура программы с
- •2) Основные команды процессора Intel x86 Расширение операндов
- •Работа с битами
- •Работа с флагами процессора
- •3) Файлы в паскале
2) Общая структура программы с
#include <stdio.h>
int main() {
printf(“Hello, World!\n”);
return 0;
};
Команда #includeподключаетзаголовочный файлstdio.h, содержащий определения функций ввода-выводаprintfиscanf.
Затем определяется функция со специальным именем main, получающая управление при старте программы. Она возвращает значение типа «int» (целое), сигнализирующее операционной системе о степени успешности завершения программы.
Фигурные скобки { } задают блок операций.
Функция printfвыводит на экран текст. Символ «\n» означает переход на следующую строку. Так, командаprintf(“s1\ns2\n”) выведет две строки: «s1» и «s2».
return0 означает, что функцияmainвозвращает 0 и завершается. Возвращаемое значение, отличное от 0, свидейтельствует о возникновении проблемы в программе.
Строки с операторами кончаются символом «;».
<float.h>Содержит заранее определенные константы, описывающие специфику реализации свойств библиотеки для работы счислами с плавающей запятой
<math.h>Для вычисления основных математических функций
<conio.h>консольный ввод, вывод
Переменные задаются после открывающейся фигурной скобки:
int main() {
int a; // одна переменная
int b, c; // две переменные
float d = 7; // переменная и её начальное значение
3) Видеобуфер
Видеобуфер представляет собой массив двубайтных элементов. Первый байт – ASCII-код символа, второй – его атрибуты. Первые 4 бита атрибутов определяют цвет фона, вторые – цвет символа. Например, 0F31 – это белый символ «0» на черном фоне.
Символы располагаются в видеобуфере следующим образом – сначала идут 1-80 символы первой строки, потом 1-80 символы второй строки, и т.д. В первом видеорежиме 80 столбцов и 25 строк.
Билет 11
1) Циклические конструкции в с
for(начальное действие; условие продолжения; повторяющееся действие)
действие;
- "начальное действие" выполняется один раз перед циклом for
- "условие продолжения" проверяется перед каждой итерацией цикла for. Если условие истинно, цикл продолжается, иначе прерывается
- "повторяющееся действие" выполняется после каждой итерации цикла for
while(условие) // с предусловием
действие;
do // с постусловием
действие
while(условие);
В первом случае условие проверяется перед каждой итерацией, во втором - после. Если условие истинно, то цикл продолжается, иначе прерывается.
2) Работа с видеопамятью
Видеопамять в текстовом режиме (1) отображается на сегментный адрес B800. Для смены видеорежима используется функция с номером 0 прерывания 10h. Номер функции помещается в регистрAH, номер видеорежима – вAL, после этого вызывается прерывание 10hс помощью командыint.
Чтобы обращаться к буферу, его сегментный адрес следует занести в один из сегментных регистров. При этом нужно учитывать, что команда movдля сегментных регистров не может работать с константами.
3) Процедуры и функции в паскале
Подпрограмма – именованная последовательность операций. Различают два вида подпрограмм – процедуры и функции.
Функции используются, когда требуется получить значение, зависящее от некоторых параметров.
Function ИМЯ_ФУНКЦИИ ( СПИСОК_АРГУМЕНТОВ ) : ТИП_ВОЗВРАЩАЕМОГО_ЗНАЧЕНИЯ;
ЛОКАЛЬНЫЕ_ПЕРЕМЕННЫЕ;
Begin
...
ИМЯ_ФУНКЦИИ := ВОЗВРАЩАЕМОЕ_ЗНАЧЕНИЕ;
…
End;
procedure имя процедуры(параметры);
раздел описаний процедуры
begin
исполняемая часть процедуры
end;
Билет 12