IF HL is small (<256) then do this ld a,l ; lower 8 bits of hl -> a ld (de),a this means that HL = A if H=0. ie. the product is less than 256 if you want to store a 16 bit number into a memory address then do the following: ld de,xxxx ; where xxxx = memory address ( a label in the program ) ld (de),l inc de ld (de),h