Вопрос по АТ89с2051

Здравствуйте, All! Когда нужно инкрементировать АКК с последующей десятичной коррекцией - понятно

inc a da a

т.е старшая и младшая тетрада не выдезут за пределы 99.

а как бы обойтись малой кровью, если нужно вычитать с той же десятичной коррекцией? 91,90,89..., а не 91,90,8F Предпологается тетрадами управлять 2 дешифратарами семисегментных индикаторов.

C уважением, Александр.

Reply to
Alexander Martynenko
Loading thread data ...

AM> inc a AM> da a AM> т.е старшая и младшая тетрада не выдезут за пределы 99. AM> а как бы обойтись малой кровью, если нужно вычитать с той же десятичной AM> коррекцией? 91,90,89..., а не 91,90,8F

dec a da a

add a, 99 da a

:-/

Reply to
Kirill Frolov

Здравствуйте, Kirill!

Как-то Пятница Декабрь 17 2004 04:16, Kirill Frolov писал Alexander Martynenko:

AM>> т.е старшая и младшая тетрада не выдезут за пределы 99. AM>> а как бы обойтись малой кровью, если нужно вычитать с той же AM>> десятичной коррекцией? 91,90,89..., а не 91,90,8F

KF> dec a KF> da a

KF> add a, 99 KF> da a Hе работает :( написал такую прогу (для проверки) и получил:

мнемоника состояние аккумулятора

mov a,#50h 0101 0000 (50) dec a 0100 1111 (4f) da a 0101 0101 (55) add a 1110 1110 (ee) da a 0101 0100 (54) - это результат! что-то тут не то :-/. Должно быть 49! P.S. проверял симулятором avsim51 Вопрос все еще открыт :)

C уважением, Александр.

Reply to
Alexander Martynenko

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.