logo
ZX-Review-1992-01-12

6. DPEEK (адрес).

FN P(адрес).

См. также DPOKE.

Функция DPEEK это то же самое, что и двойной РЕЕК. Эквивалентом этой функции в стандартном БЕЙСИКе является выражение:

LET а = PEEK (addr) + 256*PEEK (addr+1)

Таким образом, эта функция выдает содержимое двух следующих друг за другом байтов. Обратите внимание на то, что младший байт идет первым. Это очень удобно для проверки содержимого системных переменных и при анализе машиннокодовых процедур. Например:

10 LET nxt = DPEEK(23637):POKE nxt+5.65

20 REM ХХХХХ

В десятой строке будет прочитано содержимое системной переменной NXTLN, после чего в результате РОКЕ первый символ, следующий после оператора REM будет изменен на символ "А". Сдвиг на +5 байтов в строке 20 необходим для того, чтобы пропустить номер строки (2 байта), длину этой строки (2 байта) и код самого оператора REM (1 байт).

Оператор DPOKE обеспечивает двойной POKE точно так же, как функция DPEEK обеспечивает двойной РЕЕК.