выставление флага V в команде cpc
Добавлено: Вс май 01, 2016 08:56:22
на сайте Atmel http://www.atmel.com/webdoc/avrassemble ... b_ADC.html в описании команды СРС указана логика выставления флага V:
Rd7 Rd7 • Rr7 • R7 ¯ + Rd7 ¯ • Rr7 ¯ • R7
Set if two's complement overflow resulted from the operation; cleared otherwise
как понимать два одинаковых значения в булевой формуле Rd7*Rd7
Например для флага H:
Rd3 • Rr3 + Rr3 • R3 ¯ + R3 ¯ • Rd3
Set if there was a carry from bit 3; cleared otherwise
всё просто - выставляется если Rd3(1)*Rr3(1) или Rr3(1)*R3(0) или R3(0)*Rd3(1) - в скобках установленные (1) или сброшенные (0) биты
Но зачем в формуле для V флага два регистра Rd7 - ума не хватает...
И сильно сомневаюсь, что опечатка...
Rd7 Rd7 • Rr7 • R7 ¯ + Rd7 ¯ • Rr7 ¯ • R7
Set if two's complement overflow resulted from the operation; cleared otherwise
как понимать два одинаковых значения в булевой формуле Rd7*Rd7
Например для флага H:
Rd3 • Rr3 + Rr3 • R3 ¯ + R3 ¯ • Rd3
Set if there was a carry from bit 3; cleared otherwise
всё просто - выставляется если Rd3(1)*Rr3(1) или Rr3(1)*R3(0) или R3(0)*Rd3(1) - в скобках установленные (1) или сброшенные (0) биты
Но зачем в формуле для V флага два регистра Rd7 - ума не хватает...
И сильно сомневаюсь, что опечатка...