?login_element?

Subversion Repositories NedoOS

Rev

Blame | Last modification | View Log | Download

  1.  ifndef included_xmul17
  2.  define included_xmul17
  3.  include "../../common/pushpop.asm"
  4.  include "../../common/mov.asm"
  5.  include "../routines/srl64_x4.asm"
  6.  include "../routines/add64.asm"
  7.  include "../routines/rr64.asm"
  8.  include "xmul3.asm"
  9.  
  10. xmul17:
  11.   call pushpop
  12.   push bc
  13.   call xmul17pp;+_
  14.   pop de
  15.   ld hl,xOP1
  16.   jp mov10
  17. xmul17pp;_:
  18.   ld de,xOP1
  19.   call mov10
  20.   ld hl,(xOP1+8)
  21.   ld a,h
  22.   or l
  23.   ret z
  24.   ld hl,xOP1
  25.   call mov8
  26.  
  27.   call srlxOP2_4
  28.   ld hl,xOP2
  29.   ld de,xOP1
  30.   call adc64
  31.   ex de,hl
  32.   push af
  33.   call c,rr64
  34.   ld hl,xOP1+8
  35.   pop af
  36.   ld a,(hl)
  37.   adc a,4
  38.   ld (hl),a
  39.   ret nc
  40.   inc hl
  41.   ld a,(hl)
  42.   inc (hl)
  43.   xor (hl)
  44.   jp m,constmul_overflow
  45.   ret
  46.  endif
  47.