Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.02;
Скачать: CL | DM;

Вниз

Тип Pointer   Найти похожие ветки 

 
ArtemESC   (2005-08-24 18:50) [0]

Доброго времени суток...
Как получить отдельные байты, слова... из "области"(несовсем
правильно выразился),на которую ссылается указатель?
То есть аналогично ассемблерскому: mov al, [bx]
                                  mov dl, [bx + 1]
И одинаковый ли смысл имеют ассемблерский адрес и паскалевский
                    указатель?


 
begin...end ©   (2005-08-24 18:54) [1]

Например, так:

- конкретный байт: PByteArray(MyPointer)[номер_байта]
- конкретное слово: PWordArray(MyPointer)[номер_слова]

Или путём арифметики с указателями:

- получить байт по адресу MyPointer + 2: PByte(Cardinal(MyPointer) + 2)^


 
ArtemESC   (2005-08-24 19:00) [2]

>>begin...end
А не скажешь как это сделать на асме - для оптимизации...


 
begin...end ©   (2005-08-24 19:10) [3]

> ArtemESC   (24.08.05 19:00) [2]

Скажу, но оптимизации особой не получится.

Пример записи байта $FF по адресу P + 3:

var
 P: Pointer;
asm
 MOV   EAX, P
 MOV   BYTE PTR [EAX + 3], $FF
end.



Страницы: 1 вся ветка

Текущий архив: 2005.10.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.037 c
1-1125928937
highlander
2005-09-05 18:02
2005.10.02
Работа с сервисами в WinXP


3-1124259146
Strech
2005-08-17 10:12
2005.10.02
Получение доступа к BLOB полям в таблицах dBase (dbf) через ADO


3-1124349014
Ярослав
2005-08-18 11:10
2005.10.02
Тип Date в триггерах


14-1126471322
Кефир87
2005-09-12 00:42
2005.10.02
Для создания дистрибутива (инстала)...


11-1107724323
olegator
2005-02-07 00:12
2005.10.02
OnMessage не работает