![]() |
1 Attachment(s)
Quote:
|
Quote:
Quote:
Quote:
|
А - а - а !!! перепутал с H флагом. Исправляю. А Н флаг DAA тоде не трогает?
|
Quote:
Code:
case 0x27: /* DAA: f(4) */ |
Quote:
|
Quote:
|
2 Attachment(s)
А табличка-то у меня в виде файла EEPROM (вложение).
Весом она 4К. Адреса такие: I:N:H:C:A где I - идентификатор. I=0 для данных (результата DAA) и I=1 для флагов в результате DAA. N, H, C - флаги до выполнения DAA. A - 8 бит ОПЕРАНДА DAA. Сначала читаю данные при I=0, затем устанавливаю I=1 и читаю флаги. Там в принципе остался только Н флаг. Может можно что-то почитать про него и я сам смогу? |
Quote:
Логика HF в "DAA" такая: 1) Если NF сброшен, тогда: 1a) Если регистр A до исполнения больше или равен 10, тогда после исполнения HF должен быть взведен. 1b) Иначе A меньше 10 и HF должен быть сброшен. 2) Иначе NF взведен, и тогда: 2a) Если флаг H до исполнения был взведен и регистр A меньше или равен 5, тогда после исполнения HF должен быть взведен. 2b) Иначе либо флаг H до исполнения сброшен, либо регистр A больше 5, и тогда HF после исполнения должен быть сброшен. Строка 696 с AF=#0010 до исполнения, проходит по пункту 1b), и значит HF должен быть сброшен. |
1 Attachment(s)
Поднаписал вроде бы.
|
Quote:
1) Если NF сброшен, тогда: 1a) Если четыре младших разряда A до исполнения больше или равны 10, тогда после исполнения HF должен быть взведен. 1b) Иначе четыре младших разряда A меньше 10 и HF должен быть сброшен. 2) Иначе NF взведен, и тогда: 2a) Если флаг H до исполнения был взведен и четыре младших разрядов регистра A меньше или равны 5, тогда после исполнения HF должен быть взведен. 2b) Иначе либо флаг H до исполнения сброшен, либо четыре младших разряда регистра A больше 5, и тогда HF после исполнения должен быть сброшен. Надеюсь, это будет не большая правка. :) |
| All times are GMT +4. The time now is 16:58. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.