hi I wrote this program for my lab class but didn't get it right and also I couldn't figure out the problem.. WhenI try it in a simulator I get the right answer for FFFF*FFFF , for other few no.s I get the the lower order bit correct I don't know where I am wrong..


Code:
	LXI B, 0000H
	LHLD 8000H
	XCHG
	LHLD 8002H
	DCX D
L006:	LDA 8002H
	ADD L
	MOV L, A
	LDA 8003H
	ADC H
	MOV H, A
	JNC L013
L013:	INX B
	DCX D
	MOV A, D
	ORA E
	JNZ L006
	SHLD 8006H
	MOV L, C
	MOV H, B
	SHLD 8004H
	HLT
Waiting for an reply..