![]() |
Quote:
Code:
case 0201: /* CPI, CPD, CPIR, CPDR: f(4) f(4) r(3) e(5) + e(5) */ |
Тут ещё такая тема: в мануале написано, что CPD, CPDR, CPI, CPIR - все флаг N взводят. А мне что-то кажется, что CPI, CPIR флаг сей должны сбрасывать.
|
Quote:
|
Исправил CP, CPI, CPIR, CPD, CPDR в части флагов 3, 5:
|
Quote:
Теперь по адресу #0B03 инструкция "BIT 1, (IY + 1)" все те же флаги 3 и 5. Там должны быть соответственно биты 3 и 5 старшей половины регистра MEMPTR. Он, в свою очередь, получает значение адреса читаемой ячейки, в данном случае IY + 1. |
Quote:
|
BIT исправил:
Или я что-то не так понимаю: биты 3 и 5 копируются из самого операнда или из старшего байта его адреса? |
Если биты 3 и 5 копируются из старшего байта адреса операнда, вот что получается:
|
Каюсь. SCF и CCF исправил неправильно. Сейчас сделал правильно. SCF и CCF Passed. DAA failed, но я там ничего не делал с флагом H - не нашёл в документации. Трейсинг последует.
|
Quote:
Quote:
1) Заносим *адрес* индексированной ячейки в MEMPTR. 2) Берем старшую половину регистра MEMPTR. 3) Копируем биты 3 и 5 из этой старшей половины MEMPTR в регистр F. Quote:
|
| All times are GMT +4. The time now is 16:58. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.