* routines for doing long math operations

 name Long_Binary2

 text

* temp storage cells

 ext lret
 ext dtemp

* compare long values

  global cmplong
cmplong pshs d
  ldd 2,s
  std lret
  ldd 8,s
  cmpd 4,s
  bne 2f
  ldd 10,s
  cmpd 6,s
  beq 2f
  bcs 1f
  lda #1
  clc
  bra 2f
1 clra
  cmpa #1
2 puls d
  leas 10,s
  jmp [lret]

* subtract long values

  global sublong
sublong pshs d
  ldd 2,s
  std lret
  ldd 10,s
  subd 6,s
  std 10,s
  ldd 8,s
  sbcb 5,s
  sbca 4,s
  std 8,s
  puls d
  leas 6,s
  jmp [lret]

* reverse subtract long values

  global rsublong
rsublong pshs d
  ldd 2,s
  std lret
  ldd 6,s
  subd 10,s
  std 10,s
  ldd 4,s
  sbcb 9,s
  sbca 8,s
  std 8,s
  puls d
  leas 6,s
  jmp [lret]

 end
