Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КП все ответы.doc
Скачиваний:
4
Добавлен:
28.10.2018
Размер:
312.83 Кб
Скачать

66. Использование встроенного ассемблера

Ассемблер встроенный в паскаль. основные особенности:

1 для всех объявлений, переменных и метод, а также комментарий используются синтаксис яп паскаль

2 к встроенному ассемблеру обращаются через конструкцию ASM

КОМАНДА ассемблера

end;

3встроенный ассемблер не может измен. регистры bp, ss, ds, sp

4всроенный ассемблер может содержать директивы:DB, DW, DD

5 ВСРОЕННЫЙ ассемблер вычисляет все выражения как 32-битные целое выражение

6 значение выражения с плавающей точкой не поддерживаются.

7 выраж-е паскаль допускают 10 или 16-ную нотацию целочисленных к-д

8 строковые константы сод-ся в стиле яп паскаль.

9 встроенный ас-р всегда интерпретирует var 32-битный указ-ль

ES:[регистр].Поэтому начало парам.var через к-ду LES,а потом исп-ть ES:[регистр]

Пр, var

x,y,s:integer;

…………..

function SUM(x,y:integer)integer;

begin

ASM

mov ax,x

add ax,y

mov @result,ax

end

writeln (‘введите x,y’);

readln (x,y);

s:=SUM (x,y);

writeln (‘s=’,s);

readln

end

д-я пр-ма складывает 2 числа x и y, @-разыменование в паскале

67. DLL-библиотек общ.понятия.

Библиотека динамической компоновки(DLL) явл.исполняемым файлом.кот. вып-ет ф-ции общ.биоблиотеки. Динамическая компоновка предст.способ вызова ф-ции.кот. не явл. частью исполняемого кода.

Исполняемый код ф-ции располож.в библ. DLL,кот сод-т неск.компилированных связанных и отд.сохр-х ф-ций в исп-ых пр-сах.В библ.часто упрощают пр-с общего доступа к д-м и источникам. Многочисленные приложения могут иметь одновременный доступ к неск.сод-ем одной копии DLL в памяти. Различают 2 вида библ.:БДК и библ. статистической компоновки (LIB). Динамическая компоновка отлич.от статич.тем,что позволяет исполняемым модулем DLL.exe вкл.только необх-ю инф-ю в среду вып-я и размещать исполняемый код в ф-ции DLL. Статич. компоновки компоновщик получ.все указ-е ф-ции из библ. и размещает код в исполняемой среде.Динамич.компоновка имеет некот.приимущества над статич.: DLL сохр. в памяти;уменьшается кол-во обменов;занимает небольшой объем места на диске;

упрощает пр-с обновления; поддер-ет многоязыковые пр-мы; упрощает соз-е международных версий. Однако,есть и небольшие недостатки.Прежде всего необ-ть иметь кроме самой пр-мы на диске и DLL.А кроме того при неполном удалении пр-м остаются старые DLL-библ. и диск оказыв. ими замусорен.

68Соз-е и исп-е DLL-библиотек. Общ.понятия. Библиотека динамической компоновки(DLL) явл.исполняемым файлом.кот. вып-ет ф-ции общ.биоблиотеки. Динамическая компоновка предст.способ вызова ф-ции.кот. не явл. частью исполняемого кода.

Исполняемый код ф-ции располож.в библ. DLL,кот сод-т неск.компилированных связанных и отд.сохр-х ф-ций в исп-ых пр-сах.В библ.часто упрощают пр-с общего доступа к д-м и источникам. Многочисленные приложения могут иметь одновременный доступ к неск.сод-ем одной копии DLL в памяти. Различают 2 вида библ.:БДК и библ. статистической компоновки (LIB). Динамическая компоновка отлич.от статич.тем,что позволяет исполняемым модулем DLL.exe вкл.только необх-ю инф-ю в среду вып-я и размещать исполняемый код в ф-ции DLL. Статич. компоновки компоновщик получ.все указ-е ф-ции из библ. и размещает код в исполняемой среде.Динамич.компоновка имеет некот.приимущества над статич.: DLL сохр. в памяти;уменьшается кол-во обменов;занимает небольшой объем места на диске;

упрощает пр-с обновления; поддер-ет многоязыковые пр-мы; упрощает соз-е международных версий. Однако,есть и небольшие недостатки.Прежде всего необ-ть иметь кроме самой пр-мы на диске и DLL.А кроме того при неполном удалении пр-м остаются старые DLL-библ. и диск оказыв. ими замусорен.

53. Checked, Unchecked

Операции С# могут выполнятся в проверяемом и непроверяемом контексте. В проверяемом контексте арифметическое перевыполнение вызывает иск-ние. В непроверяемом контексте арифметическое перевыполнение будет проигнорировано, а результат усечен.

Int i= int maxValue;

Console WriteLine(i);

I++;

Console.WriteLine(i);

На экран будет выведено значение:

2147483647

-2147483648

По умолчанию контекст считается непроверяемым, т.е. полученное значение unchecked. Знач-е checked – обозначает проверяемый контекст.

Checked {

Int i= int maxValue;

Console WriteLine(i);

I++;

Console.WriteLine(i); }

В этом случае будет выведено исключение.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]