User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 15

Тема: Описание команд Z80: Установка флагов

  1. #1

    Регистрация
    24.10.2018
    Адрес
    г. Оренбург
    Сообщений
    152
    Записей в дневнике
    5
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    12
    Поблагодарили
    10 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Описание команд Z80: Установка флагов

    Где то есть подробное описание алгоритма установки флагов той или иной инструкцией Z80 ?

    Может где то есть какой нить онлайн демонстратор или еще какой нить ресурс где можно проверить правильность реализации ?

    p.s. пишу эмулятор, очень нуждаюсь в быстрых алгоритмах проверки флагов...

    Например, вижу такое описание:
    S (F7) Sign - Флаг знака
    Этот Флаг предназначен для обработки чисел со знаком. Флаг устанавливается,
    когда результат операции отрицателен. Т.к. бит 7 является знаковым (любое отрицательное
    число содержит единицу в 7 бите), то этот флаг копирует состояние 7 бита аккумулятора.
    При программировании состояние этого флага условно кодируется как P (Plus, знак
    плюс, S=0) и M (Minus, знак минус, S=1).


    Речь идет про "аккумулятор"..
    а у меня например команда INC r - инкремент регистра...
    Логика та же ? 7 бит регистра копирую в S ?
    Последний раз редактировалось ВитГо; 27.11.2018 в 08:21.

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

  3. #2

    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нужно смотреть справочник команд Z80. И да, онлайн эмулятор Z80 есть, адрес не помню

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

    Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
    ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
    ZX Evolution Rev B.
    Color 48 + Beta Disk Interface +FDD+YM2149F
    Орель-08БК
    Pentagon-48 (недоссобранный кем-то)
    Pentagon-128 (полуубитый)
    Кворум-128 (в ремонте)
    Магик-05 (в ремонте)
    Robotron 1715
    Корвет ПК8020 и ПК8010
    Amstrad CPC 464
    Amstrad CPC 6128
    [свернуть]

  4. #3

    Регистрация
    24.10.2018
    Адрес
    г. Оренбург
    Сообщений
    152
    Записей в дневнике
    5
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    12
    Поблагодарили
    10 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    выше как раз цитата справочника.. посмотрели :-)

    Еще одна формулировка

    H (F4) Halfoarry - Флаг полупереноса
    Команды сложения, вычитания, инкремента, декремента и сравнения 8-битных
    операндов устанавливают флаг H когда был перенос из третьего бита результата в
    четвертый, или был заём от четвёртого бита к третьему. Этим он указывает команде DAA
    требует ли результат десятичной коррекции



    до операции 0b0000 1111
    после операции 0b0001 0000
    флаг устанавливаем,

    до операции 0b 0001 1111
    после операции 0b 0010 0000
    Флаг устанавливаем (?)


    То есть если у результата и исходного значения 4ый бит (считаю биты от 0) отличается то устанавливаем флаг H ?
    Последний раз редактировалось ВитГо; 27.11.2018 в 08:47.

  5. #4

    Регистрация
    24.05.2005
    Адрес
    г. Запорожье, Украина
    Сообщений
    992
    Спасибо Благодарностей отдано 
    571
    Спасибо Благодарностей получено 
    365
    Поблагодарили
    239 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

  6. #5

    Регистрация
    20.11.2017
    Адрес
    г. Ростов-на-Дону
    Сообщений
    352
    Спасибо Благодарностей отдано 
    30
    Спасибо Благодарностей получено 
    88
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Есть хорошее описание z80, там есть таблица опкодов, тактов и флагов. У z80 есть еще и не документированное поведение, но это следующим шагом можно делать, когда все документированное будет реализовано .

  7. #6

    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,450
    Записей в дневнике
    42
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    162
    Поблагодарили
    119 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    кстати да.

    Код:
    SEED:       DB "Jon!"
                
    RANDOM:     LD HL,(SEED+2)
                LD D,L
                ADD HL,HL
                ADD HL,HL
                LD C,H
                LD HL,(SEED)
                LD B,H
                RL B
                LD E,H
                RL E
                RL D
                ADD HL,BC
                LD (SEED),HL
                LD HL,(SEED+2)
                ADC HL,DE
                RES 7,H
                LD (SEED+2),HL
                JP M,RANDOM3
                LD HL,SEED
    RANDOM2:    INC (HL)
                INC HL
                JR Z,RANDOM2
    RANDOM3:    LD HL,(SEED)
                RET
    Неясно, как сработает переход M?

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

    Насчет симуляторов : мне понравилась такая приколюха.
    Вложения Вложения

  8. #7

    Регистрация
    24.10.2018
    Адрес
    г. Оренбург
    Сообщений
    152
    Записей в дневнике
    5
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    12
    Поблагодарили
    10 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Спасибо !

    Как удалить сообщение то ?!
    Последний раз редактировалось ВитГо; 27.11.2018 в 10:30.

  9. #8

    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,450
    Записей в дневнике
    42
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    162
    Поблагодарили
    119 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Спасибо не булькает. Удалять не нужно

  10. #9

    Регистрация
    26.04.2009
    Адрес
    г. Воронеж
    Сообщений
    6,480
    Спасибо Благодарностей отдано 
    310
    Спасибо Благодарностей получено 
    249
    Поблагодарили
    217 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ВитГо Посмотреть сообщение
    Как удалить сообщение то ?!
    Редактировать -> [x] Удалить сообщение -> [Удалить сообщение]
    "Во времена всеобщей лжи говорить правду - это экстремизм" - афоризм.

  11. #10

    Регистрация
    24.10.2018
    Адрес
    г. Оренбург
    Сообщений
    152
    Записей в дневнике
    5
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    12
    Поблагодарили
    10 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нет у меня такой кнопки.. не в сокращенном редактировании, ни в полном..

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

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

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

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

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

Похожие темы

  1. Alasm 5.09 - описание команд...
    от Stl75 в разделе Софт
    Ответов: 7
    Последнее: 14.03.2023, 15:25
  2. Поясните по поводу регистра AF и флагов
    от jim в разделе Программирование
    Ответов: 10
    Последнее: 27.11.2005, 14:51
  3. Описание системы команд - давайте централизуем ;)
    от Alex/AT в разделе Программирование
    Ответов: 42
    Последнее: 09.07.2005, 22:34
  4. Проясните по поводу регистра флагов Z80
    от Shiru в разделе Программирование
    Ответов: 45
    Последнее: 14.05.2005, 12:06
  5. Циклы шины Z80 + разбивка команд по циклам шины
    от lvd в разделе Несортированное железо
    Ответов: 4
    Последнее: 28.03.2005, 02:08

Ваши права

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