Спасибо, теперь первый тест почти проходит, осталось rim/sim доделать.
Спасибо, теперь первый тест почти проходит, осталось rim/sim доделать.
Сделал DAD по аналогии с ADD, DSUB по аналогии с SUB. Флаг V в DSUB совпадает, а в DAD нет. Загадка.
b2m, наверно лишний вопрос, но ты эту инфу (там и другие статьи есть по этой теме) читал?
Вот исходник на случай сомнений в корректности теста. Если там вдруг ошибки - надо конечно исправить.
У меня еще есть такое глупое предположение - флаг V для dad считаешь правильно, флаг K на его основе - правильно, а вот в PSW пишешь K правильный, а V - левый.
Здрасьте. Какие такие ошибки могут быть в программе, если она по разному отрабатывает на реале и в моём эмуле? Тут может быть только неточность эмуляции, в противном случае (если эмуляция точная) результат просто обязан совпадать.
---------- Post added at 19:35 ---------- Previous post was at 19:32 ----------
Маловероятно. PSW - битовое поле, оно же используется и при рассчёте K. Как-то неправильно пихать в стек весь байт - практически невозможно.
---------- Post added at 19:39 ---------- Previous post was at 19:35 ----------
Кстати, я заметил, что для команды dad флаг AC тестируется неполно. У меня был вариант, когда в dad этот флаг был просто равен нулю - КС тоже совпадала. Нужно добавить данные, когда есть перенос из 11-того бита в 12-тый.
Наверно я тупой. Запустил emu c конфигом pk6128c. Складываю в dad b 7000h+7000h - флаг V не устанавливается (странно). В VV тоже самое - устанавливается.
no offense, но ты мне напомнил одну из моих бабушек
---------- Post added at 20:57 ---------- Previous post was at 20:44 ----------
Такие данные там тестируются во втором проходе.
а как ты флаги АС, Р в DSUB считаеш?
Здесь можно скачать актуальные версии Virtual Vector (VV)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)