11

Really early computers like the Mark I and ENIAC didn't have enough memory to attempt to handle text; also the use-case was mostly calculations. A number of decimal IBM computers used characters (with 5 or 6 usable bits) as the basic unit, and decimal digits were just a special usage of those characters: The IBM 1401 computer, and its compatible successors ...


7

The DAA instruction on 6800 just works on the accumulator based on the data it contains and the flags register as set by the previous instructions. So it does not know what instruction it was and whether it was valid or not in relation to BCD arithmetic, it simply does what is told. An interrupt happening before DAA instruction will not be an issue, as the ...


4

To adjust a value, one needs to know how many carries there were out of each decimal digit. When adding two 8-bit numbers, there can be at most one carry out of each 4-bit chunk, which will fit in two flags which are devoted to that purpose. Multiplication of two decimal digits, however, may yield up to eight carries--far too many to fit into two one-bit ...


2

AAM is needed because the result of multiplying two unpacked BCD is a 'strange' value that needs to be 'normalized' again. The whole mechanic of using the binary multiply with BCD only woks with 'unpacked' values. Using two packed BCD values will return a result that can't be decoded as easy. To allow multiplication with packed BCD would have required the ...


1

Singer made a series of retail systems which were taken over by ICL and rebranded. The ICL System 10 used 6-bit bytes for decimal and character data. The ICL System 25 used 8-bit bytes, which were used for full ASCII text, and in arithmetic operations as packed decimal (two 4-bit nibbles holding 0x00 to 0x09). Singer were fairly adventurous. They made sewing ...


Only top voted, non community-wiki answers of a minimum length are eligible