?login_element?

Subversion Repositories NedoOS

Rev

Blame | Last modification | View Log | Download

  1.  ifndef included_xmul31
  2.  define included_xmul31
  3.  include "../../common/pushpop.asm"
  4.  include "../../common/mov.asm"
  5.  include "../routines/srl64_x4.asm"
  6.  include "../routines/srl64.asm"
  7.  include "../routines/sub64.asm"
  8.  include "../routines/normalizexOP1.asm"
  9.  include "xmul3.asm"
  10. xmul31:
  11.   call pushpop
  12.   push bc
  13.   call xmul31pp;+_
  14.   call normalizexOP1
  15.   pop de
  16.   ld hl,xOP1
  17.   jp mov10
  18. xmul31pp;_:
  19.   ld de,xOP1
  20.   call mov10
  21.   ld hl,(xOP1+8)
  22.   ld a,h
  23.   or l
  24.   ret z
  25.   ld hl,xOP1
  26.   call mov8
  27.   call srlxOP2_4
  28.   call srlxOP2
  29.   ld de,xOP1
  30.   call sbc64
  31.   ld hl,xOP1+8
  32.   ld a,(hl)
  33.   add a,5
  34.   ld (hl),a
  35.   ret nc
  36.   inc hl
  37.   ld a,(hl)
  38.   inc (hl)
  39.   xor (hl)
  40.   jp m,constmul_overflow
  41.   ret
  42.  endif
  43.