8.1.17. U*

section id="ff1802.ustar" xreflabel="U*", xref.ff1802.ustar, link.ff1802.USTAR

000606 0273 8255AA                   .DB H'82,H'55,H'AA  ; U*
000607 0276                                              ; UNSIGNED 16 X 16 BIT MULTIPLY
000608 0276 023E                     .DW CMOVE-8
000609 0278 027A             USTAR:  .DW * + 2
000610 027A E9                       SEX R9
000611 027B F800                     LDI R0
000612 027D A7                       PLO R7              ; R7 IS LOW 2 BYTES
000613 027E B7                       PHI R7
000614 027F F810                     LDI H'10            ; OF PRODUCT
000615 0281 52               LP7B:   STR R2              ; MEM(2) IS LOOP COUNT
000616 0282 87                       GLO R7
000617 0283 FE                       SHL
000618 0284 A7                       PLO R7
000619 0285 97                       GHI R7
000620 0286 7E                       SHLC
000621 0287 B7                       PHI R7
000622 0288 19                       INC R9              ; DOUBLE THE PRODUCT AND
000623 0289 09                       LDN R9              ;   TEST HIGH BIT
000624 028A 7E                       SHLC
000625 028B 73                       STXD
000626 028C 09                       LDN R9              ;   OF OP2
000627 028D 7E                       SHLC
000628 028E 59                       STR R9
000629 028F 3BA0                     BNF SKP9A
000630 0291 29                       DEC R9
000631 0292 87                       GLO R7
000632 0293 F4                       ADD
000633 0294 A7                       PLO R7
000634 0295 29                       DEC R9              ;   ADD OP1
000635 0296 97                       GHI R7
000636 0297 74                       ADC
000637 0298 B7                       PHI R7
000638 0299 19                       INC R9              ; TO 24 BIT PRODUCT
000639 029A 19                       INC R9
000640 029B 19                       INC R9
000641 029C F800                     LDI H'00
000642 029E 74                       ADC
000643 029F 73                       STXD
000644 02A0 02               SKP9A:  LDN R2
000645 02A1 FF01                     SMI H'01
000646 02A3 3A81                     BNZ LP7B
000647 02A5 29               UOUT:   DEC R9              ; MOVE REST OF
000648 02A6 87                       GLO R7
000649 02A7 73                       STXD
000650 02A8 97                       GHI R7              ; PRODUCT TO STACK
000651 02A9 59                       STR R9
000652 02AA 19                       INC R9
000653 02AB 19                       INC R9
000654 02AC DC                       SEP RC          ; next