User Tag List

Страница 2 из 9 ПерваяПервая 123456 ... ПоследняяПоследняя
Показано с 11 по 20 из 90

Тема: Перевод гайда How to Write ZX Spectrum Games

Комбинированный просмотр

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

    Регистрация
    15.12.2009
    Адрес
    Angarsk
    Сообщений
    191
    Спасибо Благодарностей отдано 
    97
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от denpopov Посмотреть сообщение
    навскидку генерируется из стандартного жирный шрифт
    комментарий неуместен, это просто цикл на 768 байт, так он организован.
    Спасибо. Я забыл написать, что вопрос возник по выделенному жирным шрифтом. Т.е.
    Код:
    ld a,b  ; high byte.
    or c  ; combine with low byte.
    Остальной код вполне понятен даже мне.
    Однако, т.к. этот текст предназначен новичкам, думаю будет полезным комментировать все действия.

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

  3. #2

    Регистрация
    15.12.2009
    Адрес
    Angarsk
    Сообщений
    191
    Спасибо Благодарностей отдано 
    97
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обновление. Перевел пятую главу.
    =======================================
    Мой профиль на Pixeljoint: http://pixeljoint.com/p/35576.htm
    =======================================
    Мой профиль на ZXArt.ee: http://zxart.ee/rus/avtory/h/helcril/
    =======================================
    ZX Spectrum +2, ZX Evolution Rev. C

  4. #3

    Регистрация
    15.02.2005
    Адрес
    Санкт-Петербург
    Сообщений
    406
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от helcril Посмотреть сообщение
    Обновление. Перевел пятую главу.
    Все отлично, кроме "текущиИ координаты"
    Живи, играй!

  5. #4

    Регистрация
    15.12.2009
    Адрес
    Angarsk
    Сообщений
    191
    Спасибо Благодарностей отдано 
    97
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от kgbplus Посмотреть сообщение
    Все отлично, кроме "текущиИ координаты"
    Спасибо. На следующей неделе, по завершении перевода шестой главы, исправлю эту опечатку.
    =======================================
    Мой профиль на Pixeljoint: http://pixeljoint.com/p/35576.htm
    =======================================
    Мой профиль на ZXArt.ee: http://zxart.ee/rus/avtory/h/helcril/
    =======================================
    ZX Spectrum +2, ZX Evolution Rev. C

  6. #5

    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от helcril Посмотреть сообщение
    Остальной код вполне понятен даже мне
    регистр BC счетчик цикла на 768 байт.

    т.е. B=3, C=0

    проверка на достижение счетчиком 0:
    ld a,b
    or c

  7. #6

    Регистрация
    15.12.2009
    Адрес
    Angarsk
    Сообщений
    191
    Спасибо Благодарностей отдано 
    97
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от denpopov Посмотреть сообщение
    регистр BC счетчик цикла на 768 байт.

    т.е. B=3, C=0

    проверка на достижение счетчиком 0:
    ld a,b
    or c
    Спасибо, просто мне эти битовые махинации и непонятны. Поправлю комментарий.

  8. #7

    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от helcril Посмотреть сообщение
    просто мне эти битовые махинации и непонятны
    а что сложного?
    нельзя проверить регистровые пары на значения в лоб, это самый простой способ - 16-битное значение разбито на два байта, в данном случае - младший и старший байт.

    т.е. 768= $300(в шестнадцатеричном режиме)
    B=3 - это ст. байт
    C=0 - мл. байт.
    вместе 16 бит получается как 3*256+0 = 768.
    Но к играм это отношение не имеет, это азы программирования.

  9. #8

    Регистрация
    15.12.2009
    Адрес
    Angarsk
    Сообщений
    191
    Спасибо Благодарностей отдано 
    97
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от denpopov Посмотреть сообщение
    а что сложного?
    нельзя проверить регистровые пары на значения в лоб, это самый простой способ - 16-битное значение разбито на два байта, в данном случае - младший и старший байт.

    т.е. 768= $300(в шестнадцатеричном режиме)
    B=3 - это ст. байт
    C=0 - мл. байт.
    вместе 16 бит получается как 3*256+0 = 768.
    Но к играм это отношение не имеет, это азы программирования.
    Я понимаю, что регистровая пара состоит из старшего и младшего байта. И то, как это выглядит в шестнадцатеричном виде, тоже знаю.
    Но не знал, что нельзя проверять на значение сразу пару, и мне непонятно каким образом ld a,b or c может это делать. К сожалению, как-то так.
    Тем не менее Глава 1 закончена, пройдусь еще завтра свежим взглядом и обновлю пдф. Читайте, критикуйте, предлагайте. Спасибо за помощь.

  10. #9

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

    По умолчанию

    Цитата Сообщение от helcril Посмотреть сообщение
    мне непонятно каким образом ld a,b or c может это делать.
    правильней OR A,C (но А не указывается поскольку подразумевается что операция проводится только с ним)
    на биты в А накладываются биты из С при этом используется логическое сложение
    https://ru.wikipedia.org/wiki/%D0%94...86%D0%B8%D1%8F

    флаг нуля Z установится только когда все биты в обоих операндах =0

    Код:
    Таблица истинности
    ~x 	~y 	x or y
    ~0 	~0 	~0
    ~0 	~1 	~1
    ~1 	~0 	~1
    ~1 	~1 	~1
    Последний раз редактировалось goodboy; 16.03.2015 в 11:25.

  11. #10

    Регистрация
    15.12.2009
    Адрес
    Angarsk
    Сообщений
    191
    Спасибо Благодарностей отдано 
    97
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от goodboy Посмотреть сообщение
    флаг нуля Z установится только когда все биты в обоих операндах =0
    Вот теперь все понятно. Понимал, что or c тестит младшую часть на ноль. А вот как это работает в связке с ld a,b не допетривал. Спасибо.

Страница 2 из 9 ПерваяПервая 123456 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Games Compo "From the Arcade to the Spectrum"
    от Rindex в разделе Игры
    Ответов: 5
    Последнее: 28.10.2014, 11:07
  2. 30 ZX Spectrum Games - угадываем названия игр
    от Sabrewulf в разделе Игры
    Ответов: 156
    Последнее: 17.06.2009, 12:41
  3. The Spectrum Games Bible
    от ant222 в разделе Игры
    Ответов: 1
    Последнее: 26.07.2008, 18:35
  4. Read-write vTR-DOS
    от Sonic в разделе Оси
    Ответов: 3
    Последнее: 23.04.2007, 15:34
  5. ZX Spectrum games after 1993
    от alone в разделе Игры
    Ответов: 4
    Последнее: 01.03.2007, 20:42

Ваши права

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