Текущий архив: 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.047 c