Thank you for your explaination on the behavior of DAA. Please note that in BCD addition, 74 + 88 = 162. That means after addition and DAA, the accumulator should hold 62 and carry flag should be 1 and that is the correct behavior. Otherwise, 100 is missed and you can never make a correct multi-byte BCD Addition.
Besides, as I reported seperately, 99+1 after DAA, the accumulator holds A0 and carry flag is 0 which is also wrong. Based on the above observation, I believe that there must be a bug exist when doing DAA conversion. Perhaps you should run the hardware and also theck the CPU manual for the real behavior of the CPU Regards, Felix 2010/5/26 Onkar Shinde <[email protected]> > Here is the description of DAA instruction I found in - > http://www.cs.otago.ac.nz/cosc243/lectures/is_detail.pdf > **************** > The contents of the accumulator are changed from a binary value to two > 4-bit binary coded decimal (BCD) digits. This is the only instruction that > uses the auxiliary flag to perform the binary to BCD conversion, and the > conversion procedure is described below. S, Z, AC, P, CY flags are altered > to reflect the results of the operation. > If the value of the low-order 4-bits in the accumulator is greater than 9 > or if AC flag is set, the instruction adds 6 to the low-order four bits. > If the value of the high-order 4-bits in the accumulator is greater than 9 > or if the Carry flag is set, the instruction adds 6 to the high-order four > bits. > **************** > > If you run the program in bug description in debug mode, you will find > that instruction 'adi 088h' is setting both C and AC flags. Hence when > DAA is executed 6 is added to both high-order and low-order bits and > both flags are altered, making then 0. > > So as per my understanding the behavior is correct here. > > -- > 78+88 in BCD addition missed carry > https://bugs.launchpad.net/bugs/584093 > You received this bug notification because you are a direct subscriber > of the bug. > > Status in gnusim8085: Triaged > > Bug description: > With the following program, the carry flag is missed: > > mvi a,078h > adi 088h > daa > hlt > > please check > > regards, Felix Fung > > To unsubscribe from this bug, go to: > https://bugs.launchpad.net/gnusim8085/+bug/584093/+subscribe > -- 78+88 in BCD addition missed carry https://bugs.launchpad.net/bugs/584093 You received this bug notification because you are a member of GNUSim8085 developers, which is subscribed to gnusim8085. Status in gnusim8085: Triaged Bug description: With the following program, the carry flag is missed: mvi a,078h adi 088h daa hlt please check regards, Felix Fung _______________________________________________ Mailing list: https://launchpad.net/~gnusim8085-devel Post to : [email protected] Unsubscribe : https://launchpad.net/~gnusim8085-devel More help : https://help.launchpad.net/ListHelp

