|
********************************* ***** MOD Constant multiplication ************** CPC 464, 664, 6128 ********** Multiply HL with value ********************************* HLx2:add hl,hl ; HL=HL*2 ret HLx3:ld d,h ; HL=HL*2+DE ld e,l ; mit DE=HL add hl,hl add hl,de ret HLx4:add hl,hl ; HL=HL*2*2 add hl,hl ret HLx5:ld d,h ; HL=HL*2*2+DE ld e,l ; mit DE=HL add hl,hl add hl,hl add hl,de ret HLx6:add hl,hl ; HL=HL*2*2+DE ld d,h ; mit DE=HL*2 ld e,l add hl,hl add hl,de ret HLx7:ld d,h ; HL=HL*2*2*2+DE+DE+DE ld e,l ; mit DE=HL add hl,hl add hl,hl add hl,de add hl,de add hl,de ret HLx8:add hl,hl ; HL=HL*2*2*2 add hl,hl add hl,hl ret HLx9:ld d,h ; HL=HL*2*2*2+DE ld e,l ; mit DE=HL add hl,hl add hl,hl add hl,hl add hl,de ret HLx10:add hl,hl ; HL=HL*2*2*2+DE ld d,h ; mit DE=HL*2 ld e,l add hl,hl add hl,hl add hl,de ret HLx12:add hl,hl ; HL=HL*2*2*2+DE add hl,hl ; mit DE=HL*2*2 ld d,h ld e,l add hl,hl add hl,de ret HLx16:add hl,hl ; HL=HL*2*2*2*2 add hl,hl add hl,hl add hl,hl ret HLx32:add hl,hl ; HL=HL*2*2*2*2*2 add hl,hl add hl,hl add hl,hl add hl,hl ret HLx64:add hl,hl ; HL=HL*2*2*2*2*2*2 add hl,hl add hl,hl add hl,hl add hl,hl add hl,hl ret HLx128:add hl,hl ; HL=HL*2*2*2*2*2*2*2 add hl,hl add hl,hl add hl,hl add hl,hl add hl,hl add hl,hl ret ; Allgemeine Routine: ; HL=HL*2^Akkumulator HLxA^2:ld b,a ; HL=HL*(2^B) HLLOOP:add hl,hl ; mit B=A djnz HLLOOP ret |