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

Dec 16, 2004 2 Replies

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



inc a da a



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



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


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


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

:-/

Здравствуйте, 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 уважением, Александр.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required