Как получить содержимое ячейки памяти - QBasic
Формулировка задачи:
Здравствуйте!!!
Необходимо "вытащит" из физической памяти значение переменной
но не как не получается
на пример a=27 в какой ячейки памяти находится понятно с помощью varptr
а с помощью какого оператора вытащит содержимое этой ячейки памяти
def seg
a=27
q=varptr(a) адрес переменной a в физической памяти равен 32244
w=PEEK(q) значение байта, хранящегося в указанном месте памяти.
print w выдает 0, а не 27
а если
POKE 32244, 27
w= PEEK(32244) w=27 получается
Но мне нужно посмотреть содержимое
ячейки памяти но не чего не занести туда
Решение задачи: «Как получить содержимое ячейки памяти»
textual
Листинг программы
DIM a AS INTEGER CLS a = 27 DEF SEG = VARSEG(a) PRINT PEEK(VARPTR(a)) POKE VARPTR(a), 15 PRINT a DEF SEG
Объяснение кода листинга программы
DIM a AS INTEGER
- объявляет переменную типа integer с именемa
.CLS
- очищает экран.a = 27
- присваивает переменнойa
значение 27.DEF SEG = VARSEG(a)
- определяет сегмент переменнойa
с помощью функции VARSEG и сохраняет его в переменнойSEG
.PRINT PEEK(VARPTR(a))
- выводит содержимое ячейки памяти, на которую указывает переменнаяa
с помощью функции PEEK и функции VARPTR.POKE VARPTR(a), 15
- записывает значение 15 в ячейку памяти, на которую указывает переменнаяa
с помощью функции VARPTR и функции POKE.PRINT a
- выводит значение переменнойa
.DEF SEG
- освобождает сегмент, определенный в шаге 4.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д