- •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) Файлы в паскале
1) Простые типы данных в с
Char – один байт, содержащий один символ из локального символьного набора
Int–целое число, обычно имеющее типовой размер для целых чисел в данной системе
Float – вещественное число одинарной точности с плавающей точкой
Double – вещественное число двойной точности с плавающей точкой
Составные типы данных в С
typedefиспользуется длясокращения сложных или просто длинных определений типов, или же длясокрытия реально используемых типов. Синтаксисtypedefочень прост: мы пишем обычное объявление стековой переменной и добавляем перед этим определением ключевое словоtypedef. При этом никакая переменная не создается, а имя «переменной» становится синонимом указанного типа. Например:typedefconstchar*string;/* string - указатель на константный символ */ typedefvoid(*fptr)(int);/* fptr - указатель на функцию, возвращающую void и принимающую int */
Структурыпредставляют собой агрегаты разнородных данных (полейраз-
ноготипа); в отличие от массивов, где все элементы имеютодинитотжетип.
struct{
int x,y; /* два целых поля */
char s[10]; /* и одно - для строки */
} s1;
2) Строки в ассемблере
Строкипредставляют собой обычный массив. Есть несколько распространенных способов хранения длины строки:
В отдельной переменной,
В первом ее байте (Pascal)
string db 12, ‘hello world!’
Знак 0 на конце (Си)
string db ‘hello world!’, 0
Знак $ на конце(DOS)
string db ‘hello world!$’
Операции со строками:
movsb/movsw/movsd. Записывает 1 / 2 / 4 байта изds:[esi] вes:[edi]. Изменяетesiиediна 1 / 2 / 4. Если флагDFустановлен, то уменьшает, иначе увеличивает. Командаstdустанавливает флаг,cldсбрасывает.
lodsb/lodsw/lodsd. Записывает 1 / 2 / 4 байта изds:[esi] вal/ax/eax, изменяетesiна 1 / 2 /4.
stosb/stosw/stosd. Записывает 1 / 2 / 4 байта изal/ax/eaxвes:[edi], изменяетediна 1 / 2 / 4.
cmpsb/cmpsw/cmpsd. Сравниваетds:[esi] сes:[edi] и изменяетesiиediна 1 / 2 / 4.
scasb/scasw/scasd. Сравниваетds:[esi] сal, изменяетesiна 1 / 2 / 4.
3) Условные Операторы в паскале
If условие then действие1 [else действие2];
Case выражение of
Список констант 1: begin
{действия}
end;
Список констант N: begin
{действия}
end;
Else
begin
{действия}
end;
End;
Выполнения оператора case начинается с вычисления выражения. Действия между begin и end выполняются в том случае, если значение выражения после case совпадает с константой из соответствующего списка. Если это не так, то выполняются действия, идущие после else.
Билет 13
1) Работа с файлами в с
Файлпредставляет собой последовательность байтов, хранящуюся на каком-либо физическом носителе информации.
Открытие файла – fopen(имя, режим)
Открыть файл для чтения – “r” “rb”
Для записи – “w” “wb”
Добавить информацию в файл – “A” “AB”
Режимы: “R+” “W+” “A+”
“R+B” “W+B” “A+B”
Закрытие файла – fclose(ф.п.)
Запись информации в файл – Putc(символ, ф.п.) иFputc()
Вывод инф-ции из файла – getc()
