User Tag List

Показано с 1 по 5 из 5

Тема: Как работает стек GO SUB?

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    25.06.2005
    Адрес
    Одесса
    Сообщений
    1,821
    Спасибо Благодарностей отдано 
    67
    Спасибо Благодарностей получено 
    74
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Как работает стек GO SUB?

    Роясь в литературе для соседней темы про отличия 16к и 48к, с удивлением обнаружил, что к нефиксированной области стека подпрограмм BASIC (стека GO SUB) не относится ни одна переменная-указатель адреса в системных переменных ОС. Известно, где его дно - адрес последнего байта совпадает с RAMTOP, но т.к. этот стек, как и машинный стек, тоже растет вниз (проверял), то где проходит граница стеков? Как, например, RETURN определяет адрес трехбайтной структуры оператора после последнего GO SUB?

    Вот например книга "Программирование в машинных кодах" (VA PRINT'93) указывает пример просмотра содержимого стека. Пример не сильно правильный в плане адресов, но там много опечаток и ошибок, так что верить всему там надо с оглядкой (хотя именно по ней мне пришлось впервые изучать коды, ох это было нелегко копаться в ошибках ).

    Но, короче, пример пользуется CLEAR, несколькими GO SUB, и затем выводом содержимого памяти от адреса до адреса, записанных числами, а не взятых из переменных... То есть, они заранее знали, куда помещают стек с помощью CLEAR, и сколько было выполнено GO SUB, поэтому знают примерное место, откуда начинать просмотр. Там же упоминается, что фирма SINCLAIR не совсем уверенна в написании GO SUB (??).

    Во всяком случае, сколько написано программ с подпрограммами, и даже многократной вложенности, а все как будто хорошо работает. Знает ли уважаемый All, как ориентируются в памяти стековые команды, и действительно ли утверждение про фирму Sinclair?
    Последний раз редактировалось TomCaT; 07.09.2010 в 23:59.
    Помни. Только на компьютере можно семь раз Cut, а один - Format. В реале все иначе. (c)
    Власть людей сильнее, чем люди у власти.
    Чем меньше мы смотрим на мир, тем больше задумываемся о нем. (c)

    Скрытый текст

    Can you help Robin in his quest for the silver arrow? (c) Odin "Robin of the Wood"
    Мы все немного режем по дереву, а потом собираем корабли в бутылках.
    Is it the same old story you are going to tell me
    or is it the old story telling me and you we are the same?
    http://www.sky.od.ua/~ptsk
    [свернуть]


  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Не работает PS/2 Mouse
    от Mifody в разделе Устройства ввода
    Ответов: 139
    Последнее: 29.10.2025, 19:56
  2. emu1541 не работает
    от e2e4 в разделе Commodore 16/64/128
    Ответов: 26
    Последнее: 05.11.2016, 16:09
  3. spec 256 - не работает под ХР
    от STAB в разделе Эмуляторы
    Ответов: 4
    Последнее: 31.07.2013, 00:14
  4. Не работает ТР-ДОС! Почему?
    от Slider в разделе Внешние накопители
    Ответов: 13
    Последнее: 03.04.2009, 23:03
  5. Не работает КР1858ВМ3
    от Mifody в разделе Для начинающих
    Ответов: 30
    Последнее: 29.03.2009, 12:12

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •