Как получить содержимое ячейки памяти - 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

Объяснение кода листинга программы

  1. DIM a AS INTEGER - объявляет переменную типа integer с именем a.
  2. CLS - очищает экран.
  3. a = 27 - присваивает переменной a значение 27.
  4. DEF SEG = VARSEG(a) - определяет сегмент переменной a с помощью функции VARSEG и сохраняет его в переменной SEG.
  5. PRINT PEEK(VARPTR(a)) - выводит содержимое ячейки памяти, на которую указывает переменная a с помощью функции PEEK и функции VARPTR.
  6. POKE VARPTR(a), 15 - записывает значение 15 в ячейку памяти, на которую указывает переменная a с помощью функции VARPTR и функции POKE.
  7. PRINT a - выводит значение переменной a.
  8. DEF SEG - освобождает сегмент, определенный в шаге 4.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.467 из 5