Анимация
JavaScript


Главная  Библионтека 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 [ 34 ] 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140

аргрумент

пояснения

линейный адрес бестипового байта или головы элемента данных

return

=return

пояснения

успешное завершение

ошибка

Родственные функции: MakeByte, MakeWord, MakeDword, MakeQword, MakeDouble, MakePackReal, MakeTbyte.

Интерактивный аналог: ("~Options\Setup data types"; <Alt-D>), <F>

Замечение: для включения типа «четвертного слова» в список типов данных, пролистываемых нажатием клавиши <D>, необходимо, вызвав диалог "Setup data types" установить галочку напротив пункта "Float".

success MakeDouble(long ea)

Функция создает по переданному ей линейному адресу ea элемент данных типа double, длиной восемь байт. Представление типа double зависит от выбранного процессора. На микропроцессорах серии Intel 80x86 он имеет следующее строение (см. рисунок ???)

3 Порядок (11 бит)

мантисса (52 бит)

Рисунок 24 Представление типа double на микропроцессорах серии Intel 80x86

Если по данному адресу находится голова ранее созданного элемента данных, функция преобразует его в четвертное слово типа double, а хвост элемента (если он есть) - в бестиповые байты. Если размер элемента недостаточен для преобразования, но следом за его хвостом находятся бестиповые байты, они будут автоматически присоединены к новому элементу. В противном случае, если следом за его хвостом находится другой элемент или не находится ничего, функция возвратит ошибку, не выполнив преобразования. Для выполнения преобразования необходимо предварительно уничтожить мешающие элементы вызовом MakeUnkn (см. описание функции MakeUnkn).

Ошибка возвратится и в том случае если по переданному функции линейному адресу находится хвост элемента данных, голова или хвост элемента кода.

Если хотя бы один из восьми байт имеет неинициализированное значение, все четверное слово приобретает неинициализированное значение.

Пример использования:

seg000:

0000

seg000:

0001

seg000:

0002

seg000:

0003

seg000:

0004

seg000:

0005

seg000:

0006

seg000:

0007

a) исходные данные



Message(">%x\n",MakeDouble(SegByName("seg000")));

b) вызываем функцию MakeDouble для создания нового элемента данных типа double, передавая ей адрес цепочки из восьми бестиповых байта

seg000:0000 dq 2.635692361932979e92

>1

c) результат - элемент данных типа double успешно создан ??? #Верстальщику - change table

аргрумент

пояснения

линейный адрес бестипового байта или головы элемента данных

return

=return

пояснения

успешное завершение

ошибка

Родственные функции: MakeByte, MakeWord, MakeDword, MakeQword, MakeQword, MakePackReal, MakeTbyte.

Интерактивный аналог: ("~Options\Setup data types"; <Alt-D>), <u>

Замечение: для включения типа «четвертного слова» в список типов данных, пролистываемых нажатием клавиши <D>, необходимо, вызвав диалог "Setup data types" установить галочку напротив пункта "Double ".

success MakePackReal(long ea)

Функция создает по переданному ей линейному адресу ea элемент данных типа packed real, занимающий в результате от обстоятельств от десяти до двенадцати байт.

Если по данному адресу находится голова ранее созданного элемента данных, функция преобразует его в packed real, а хвост элемента (если он есть) - в бестиповые байты. Если размер элемента недостаточен для преобразования, но следом за его хвостом находятся бестиповые байты, они будут автоматически присоединены к новому элементу. В противном случае, если следом за его хвостом находится другой элемент или не находится ничего, функция возвратит ошибку, не выполнив преобразования. Для выполнения преобразования необходимо предварительно уничтожить мешающие элементы вызовом MakeUnkn (см. описание функции MakeUnkn).

Ошибка возвратится и в том случае если по переданному функции линейному адресу находится хвост элемента данных, голова или хвост элемента кода.

Если один или более байт имеют неинициализированное значение, они никак не влияют на содержимое остальных и вся цепочка байт packed real не принимает неинициализированного значения.

Пример использования:

seg000:

0000

; unexplored

seg000:

0001

; unexplored

seg000:

0002

; unexplored

seg000:

0003

; unexplored

seg000:

0004

; unexplored

seg000:

0005

; unexplored

seg000:

0006

; unexplored

seg000:

0007

; unexplored

seg000:

0008

; unexplored

seg000:

0009

; unexplored

a) исходные данные



Message(">%x\n",MakePackReal(SegByName("seg000")));

b) вызываем функцию MakePackReal для создания нового элемента данных типа packed real, передавая ей адрес цепочки из десяти бестиповых байта

seg000:0000 db ?, ?, ?, ?, ?, ?, ?, ?, ?, ?

>1

c) результат - элемент данных типа packed real успешно создан ??? #Верстальщику - change table

аргрумент

пояснения

линейный адрес бестипового байта или головы элемента данных

return

=return

пояснения

успешное завершение

ошибка

Родственные функции: MakeByte, MakeWord, MakeDword, MakeFloat, MakeQword, MakeDouble, MakeTbyte.

Интерактивный аналог: ("~Options\Setup data types"; <Alt-D>), <P>

Замечение: для включения типа «четвертного слова» в список типов данных, пролистываемых нажатием клавиши <D>, необходимо, вызвав диалог "Setup data types" установить галочку напротив пункта "Packeed real".

success MakeTbyte(long ea)

Функция создает по переданному ей линейному адресу ea элемент данных типа tbyte, длиной десять байт. Порядок следования младших и старших байт зависит от выбранного процессора. На микропроцессорах серии Intel 80x86 младший байт располагается по меньшему адресу и, соответственно, наоборот.

Если по данному адресу находится голова ранее созданного элемента данных, функция преобразует его в tbyte, а хвост элемента (если он есть) - в бестиповые байты. Если размер элемента недостаточен для преобразования, но следом за его хвостом находятся бестиповые байты, они будут автоматически присоединены к новому элементу. В противном случае, если следом за его хвостом находится другой элемент или не находится ничего, функция возвратит ошибку, не выполнив преобразования. Для выполнения преобразования необходимо предварительно уничтожить мешающие элементы вызовом MakeUnkn (см. описание функции MakeUnkn).

Ошибка возвратится и в том случае если по переданному функции линейному адресу находится хвост элемента данных, голова или хвост элемента кода.

Если один или более байт имеют неинициализированное значение, они никак не влияют на содержимое остальных неинициализированного значения.

Пример использования:

и вся цепочка байт tbyte не принимает

seg000:

0000

; unexplored

seg000:

0001

; unexplored

seg000:

0002

; unexplored

seg000:

0003

; unexplored

seg000:

0004

; unexplored

seg000:

0005

; unexplored

seg000:

0006

; unexplored

seg000:

0007

; unexplored



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 [ 34 ] 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140