3

I am learning about the Intel 8080 processor in Charles Petzold's excellent book Code. The DAD instruction was explained as far as what it accomplishes, but I have a weird thing about alphabetical codes like this where I have to know what they stand for. For example ADC stand for ADd with Carry. Or SBB for SuBtract with Borrow.

But what about DAD? It's a silly question I know, but I'm wondering if anybody knows the answer. Google is yielding nothing...

Peter Cordes
  • 328,167
  • 45
  • 605
  • 847
The111
  • 5,757
  • 4
  • 39
  • 55

4 Answers4

4

DAD stand for D-ouble byte AD-d.

jman
  • 11,334
  • 5
  • 39
  • 61
  • Fun fact: MIPS64 has a `dadd` instruction: double-*word* (64-bit) `add`. https://godbolt.org/z/hp7Rca. `d` for double-word comes up in other instructions for other ISAs, like PowerPC `rldicl` (often used to sign-extend to 64-bit). Or of course x86 (where a `word` is 16-bit instead of 32-bit on most RISCs), where `cdq` and `cwd` have `d` in the name, and so do many SIMD instructions (like `psrld` for right-shift logical doubleword elements). But I don't think I've seen "double *byte*" before; wider ISAs just call that a word or halfword. But 8-bit 8080 doesn't have either of those terms. – Peter Cordes Jun 20 '19 at 05:28
1

Double precision ADd. For these instructions, HL functions as an accumulator. DAD B means BC + HL --> HL. DAD D means DE + HL -- HL.

jmc
  • 41
  • 1
  • The question being asked already has a correct answer, and the additional information was explicitly not requested. – o11c Oct 05 '14 at 08:11
  • I think @o11c wants to say that your first sentence has already been provided in other answers. Your second sentence contains only information that the OP hasn't asked for. Stack Overflow isn't meant to be Wikipedia. You should focus your answer on what is asked in the question. I'm sorry, but in this sense your answer is redundant. – honk Oct 05 '14 at 08:34
1

I guess it is simply Double [width] ADd. Its role of adding *D*ouble values is obvious:)

Netch
  • 4,171
  • 1
  • 19
  • 31
1

DAD is a Double Byte Add instruction.

Java42
  • 7,628
  • 1
  • 32
  • 50