Может кто посоветует как выполнить перевод часов. Скажем регист часов содержит 0x22, что равно 22 часам. hours = 0х22; hours++; но фишка в том, что в ds записывается и 0x25 и 0х29. Приходится выполнять двойное преобразование: BCD_DEC(hours); 0x22 -- 0x16 hours = DEC; //DEC возвращается BCD_DEC hours++; DEC_BCD_COR(Add_hr,hours); // обратное преобразование с записью в ds
к тому же писать функцию сравнения времени
Может возможно как-нить непосредстренно с ds, не прибегая к куче преобразований.
Сообщение отредактировал MMP - Sep 15 2006, 09:38
|