home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / luxorabc800 / kermcsum.asm < prev    next >
Assembly Source File  |  2020-01-01  |  1KB  |  48 lines

  1. ; Fil: KERMCSUM.ASM
  2. ; Av:  Kristoffer Eriksson, "SKE" <5357>, 1987.
  3. ;
  4. ;-Ver--/-Datum----/-Sign-/-Kommentar----------------------------------
  5. ; 1.00 / 87-08-15 / SKE  / KERMCSUM
  6. ;
  7. ; Kontrollsummarutin till Bo Kullmars Kermit-program K.
  8.  
  9.  
  10. ;*  Summera str{ng f|r Kermit-kontrollsumma.
  11. ;*  In: DE = VAROOT(Str{ng$)
  12. ;*  Ut:  L = Summa, bittar 5-0,
  13. ;*       H = Summa, bittar 13-6.
  14.  
  15. Csum:       ex     de,hl
  16.             inc    hl
  17.             inc    hl
  18.             ld     e,(hl)             ; DE <- Str{ngens adress.
  19.             inc    hl
  20.             ld     d,(hl)
  21.             inc    hl
  22.             ld     c,(hl)             ; BC <- Str{ngens l{ngd.
  23.             inc    hl
  24.             ld     b,(hl)
  25.             ld     hl,0               ; HL <- Startsumma = 0.
  26. Loop:       ld     a,c                ; Slut?
  27.             or     b
  28.             jr z   CEnd
  29.             ld     a,(de)             ; Summera.
  30.             add    l
  31.             ld     l,a
  32.             ld     a,0
  33.             adc    h
  34.             ld     h,a
  35.             dec    bc
  36.             inc    de
  37.             jr     Loop
  38.  
  39. CEnd:       ld     a,l
  40.             rlc    a
  41.             rl     h
  42.             rlc    a
  43.             rl     h                  ; H <- bit 13-6.
  44.             ld     a,l
  45.             and    63
  46.             ld     l,a                ; L <- bit 5-0.
  47.             ret
  48.