User Tag List

Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 23

Тема: Программирование на Z80 в ассемблере и машинном коде на 48 Kb машине!

  1. #1

    Регистрация
    15.05.2010
    Адрес
    Москва
    Сообщений
    64
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Программирование на Z80 в ассемблере и машинном коде на 48 Kb машине!

    Под руками лежит 48 Kb Ленинград (можно c прошивкой Turbo-91), программы Gens и Mons (в ней Я и сам работать не умею) и распечатаны все выпуски журнала ZX Ревю (возможно в плохом качестве, но вообщем-то это не так важно, хотя влияет на работоспособность программ - если что найдем правильное решение методом подбора)!

    Да между прочим для Меня осталась загадкой возможность программирования в машинном коде в области 128 Kb компьютера Пентагон, так как операторы POKE и PEEK как Я понял работают в области 48 килобайт, хотя Я могу ошибаться, но про программирование в машинных кодах в области 128 килобайт никакой литературы найдено не было...
    Последний раз редактировалось alex8418; 21.01.2023 в 23:33.

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

  3. #2

    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    14,287
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    202
    Спасибо Благодарностей получено 
    1,456
    Поблагодарили
    946 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alex8418 Посмотреть сообщение
    про программирование в машинных кодах в области 128 килобайт никакой литературы найдено не было...
    часть памяти подменяется другой, обычно это называется страницей
    Последний раз редактировалось goodboy; 21.01.2023 в 23:54.

    Этот пользователь поблагодарил goodboy за это полезное сообщение:

    Barmaley_m(24.01.2023)

  4. #3

    Регистрация
    01.03.2005
    Адрес
    Новосибирск
    Сообщений
    2,080
    Спасибо Благодарностей отдано 
    87
    Спасибо Благодарностей получено 
    479
    Поблагодарили
    145 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    помню-помню такую конфигурацию) мне лет 12 было)

    кстати, GENS так-то норм для супер начального уровня) У него каждая строка, помню, нумеровалась как в бейсике.

  5. #4

    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,821
    Спасибо Благодарностей отдано 
    273
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    95 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от drbars Посмотреть сообщение
    для супер начального уровня
    Для супер начального уровня imho лучше ZEUS (удобней)
    А нумерация строк вообще необязательно...

    Эти 2 пользователя(ей) поблагодарили Destr за это полезное сообщение:

    Barmaley_m(24.01.2023), breeze(28.01.2023)

  6. #5

    Регистрация
    15.05.2010
    Адрес
    Москва
    Сообщений
    64
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от goodboy Посмотреть сообщение
    часть памяти подменяется другой, обычно это называется страницей
    Доброго времени суток goodboy! Напишите если возможно, конкретный пример с оператором POKE, чтобы всем читателям темы было понятно как работать в области 128 килобайт!

  7. #6

    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    14,287
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    202
    Спасибо Благодарностей получено 
    1,456
    Поблагодарили
    946 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alex8418 Посмотреть сообщение
    как работать в области 128 килобайт!
    диапазон адресов тот-же #0000-#FFFF, но 16к #C000-#FFFF можно подменять другим куском памяти.
    сами страницы переключаются через порт (командой OUT)

  8. #7

    Регистрация
    02.05.2015
    Адрес
    г. Таллин, Эстония
    Сообщений
    1,691
    Спасибо Благодарностей отдано 
    302
    Спасибо Благодарностей получено 
    223
    Поблагодарили
    159 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alex8418 Посмотреть сообщение
    чтобы всем читателям темы было понятно как работать в области 128 килобайт!
    Можно посмотреть бейсик-загрузчики игр для 128К.
    Там будут примеры, как подменять память.
    Ну, или можно нагуглить например, https://zxpress.ru/article.php?id=9971
    Heavy on the disasm
    Eric and the disasm
    Mask 3: Venom strikes disasm
    Bard's disasm

  9. #8

    Регистрация
    18.07.2021
    Адрес
    г. Хмельницкий, Украина
    Сообщений
    105
    Спасибо Благодарностей отдано 
    12
    Спасибо Благодарностей получено 
    33
    Поблагодарили
    25 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А я так вообще не могу понять, при чём здесь PEEK и POKE, когда речь идёт о программировании на ассемблере в машинных кодах (хоть и это звучит несколько дико).

  10. #9

    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,089
    Спасибо Благодарностей отдано 
    281
    Спасибо Благодарностей получено 
    70
    Поблагодарили
    49 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Чтобы через POKE и PEEK был доступ к 128К памяти, нужно:

    1) Сделать CLEAR 49151, чтобы переместить машинный стек ниже области страниц (49152-65535). В противном случае бейсик сразу подвиснет при попытке переключить страницу
    2) Командами OUT 32765, 16+n, где n - номер страницы от 0 до 7, можно подключать по адресам 49152-65535 нужные страницы памяти по 16Кб каждая. Всего таким образом и получается 128Кб
    3) Командами POKE и PEEK по адресам 49152-65535 можно, соответственно, просматривать и изменять эту память
    4) Содержимое страницы 2 отображается на адреса памяти 32768-49151
    5) Содержимое страницы 5 отображается на адреса памяти 16384-32767
    Как-то так.

  11. #10

    Регистрация
    15.05.2010
    Адрес
    Москва
    Сообщений
    64
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Чтобы через POKE и PEEK был доступ к 128К памяти, нужно:

    1) Сделать CLEAR 49151, чтобы переместить машинный стек ниже области страниц (49152-65535). В противном случае бейсик сразу подвиснет при попытке переключить страницу
    2) Командами OUT 32765, 16+n, где n - номер страницы от 0 до 7, можно подключать по адресам 49152-65535 нужные страницы памяти по 16Кб каждая. Всего таким образом и получается 128Кб
    3) Командами POKE и PEEK по адресам 49152-65535 можно, соответственно, просматривать и изменять эту память
    4) Содержимое страницы 2 отображается на адреса памяти 32768-49151
    5) Содержимое страницы 5 отображается на адреса памяти 16384-32767
    Как-то так.
    Соболезную по погибшим мирным жителям 14 января 2023 года в городе Днепр, надеюсь на скорейшее установление мира между Нашими государствами! Спасибо Barmaley_m за ответ попробуем реализовать, правда пользователь Bedazzle выложил ссылку в которой оператор OUT 32765 применяется, без цифры 16 после запятой - надо разобраться кто прав! Я так понимаю, что РОКЕ и PEEK в данном случае нужно применять в режиме BASIC 128 ?

    - - - Добавлено - - -

    Цитата Сообщение от 0xDEAD Посмотреть сообщение
    А я так вообще не могу понять, при чём здесь PEEK и POKE, когда речь идёт о программировании на ассемблере в машинных кодах (хоть и это звучит несколько дико).
    0xDEAD неправильно перефразировали в ассемблере и машинном коде (будет разбираться программирование и в ассемблере и в машинном коде)! Если Вы программировали в машинном коде, то Ваше возмущение насчёт POKE и PEEK не понятно?

    - - - Добавлено - - -

    Цитата Сообщение от Bedazzle Посмотреть сообщение
    Можно посмотреть бейсик-загрузчики игр для 128К.
    Там будут примеры, как подменять память.
    Ну, или можно нагуглить например, https://zxpress.ru/article.php?id=9971
    Спасибо за ответ Bedazzle! Теперь бы разобраться, какой из ответов правильный? Может после всех ответов, у меня наконец появиться время заняться основной работой по теме, а именно написанием примеров программ и по возможности объяснением принципа их работы!

Страница 1 из 3 123 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Программирование на ассемблере
    от shuran33 в разделе Вектор
    Ответов: 341
    Последнее: 05.11.2025, 20:00
  2. Программирование на ассемблере
    от tnt23 в разделе Океан-240
    Ответов: 6
    Последнее: 30.10.2025, 12:56
  3. Ответов: 275
    Последнее: 16.12.2018, 23:01
  4. Продам книгу- AMIGA: программирование на ассемблере
    от Doctor Max в разделе Барахолка (архив)
    Ответов: 11
    Последнее: 01.03.2012, 00:35
  5. Интерфейс эмулятора в коде Z80
    от CityAceE в разделе Эмуляторы
    Ответов: 29
    Последнее: 15.09.2008, 20:23

Ваши права

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