DAA и вычитание

Все о разработке ПО для ПК-01,02 "Львов" на современных платформах
Post Reply
User avatar
Zelya
Site Admin
Posts: 1071
Joined: 24 Jul 2008, 12:05

DAA и вычитание

Post by Zelya »

Давно повелось ругать процессор i8080 за "баг" с командой DAA, мол она не работает с вычитанием. А вот на Z80 ее "пофиксили".
Наткнулся тут на официальный гайд от Интел. И о чудо! DAA и не должна работать с вычитанием!

http://www.tramm.li/i8080/Intel%208080- ... 0Intel.pdf

Читаем "DECIMAL SUBTRACTION" на стр. 6-14 с описанием остроумного алгоритма вычитания.

В Z80 расширили регистр флагов для поддержки вычитания в DAA. А вот в прямом потомке - 8086 пошли другим путем, введя команду DAS, аналог DAA для вычитания.

Так что все глюки при портировании с 8080 на Z80 не из-за Интела, а из-за ленивых программистов, которые не курят мануалы, и используют DAA, как попало.
Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests