0 '
1 '              ORG     $0100
2 '
3 '      MPRADD  EQU     $0200
4 '      MPDADD  EQU     $0202
5 '      RESADD  EQU     $0204
6 '
7 '      MP488   LD      BC,(MPRADD+$04) ;LOAD MULTIPLIER INTO C
8 '              LD      B,$08           ;B IS BIT COUNTER
9 '              LD      DE,(MPDADD+$03) ;LOAD MULTIPLICAND INTO E
10 '              LD      D,$00           ;CLEAR D
11 '              LD      HL,$0000        ;SET RESULT TO 0
12 '      MULT    SRL     C               ;SHIFT MULTIPLIER BIT INTO CARRY
13 '              JR      NC,NOADD        ;TEST CARRY
14 '              ADD     HL,DE           ;ADD MPD TO RESULT
15 '      NOADD   SLA     E               ;SHIFT MPD LEFT
16 '              RL      D               ;SAVE BIT IN D
17 '              DEC     B               ;DECREMENT SHIFT COUNTER
18 '              JP      NZ,MULT         ;DO IT AGAIN IF COUNTER <> 0
19 '              LD      (RESADD+$05),HL ;STORE RESULT
20 '              LD      (RESADD+$05),A
21 '              END
22
23
24
25

