home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / enterprs / cpm / utils / a / arc20.arc / ARCMACS.ARC / OUTCOD.MAC < prev    next >
Encoding:
Text File  |  1989-11-01  |  528 b   |  32 lines

  1. ; Squeeze-OUTCODE for Turbo-ARC. TR 011189
  2.     .z80
  3.  
  4.     extrn    cod,len,bitpos,tcode,putcod
  5.  
  6.     ld    a,(len)
  7.     or    a
  8.     ret    z        ; LEN=0 : nothing to do
  9.     ld    b,a        ; B=bitcounter
  10.     ld    hl,tcode
  11.     ld    de,(cod)
  12.     ld    a,(bitpos)
  13. loop:    srl    d
  14.     rr    e
  15.     rr    (hl)        ; shift bit into TCODE
  16.     inc    a
  17.     and    7
  18.     jr    nz,loop1
  19.     push    af        ; save all used registers
  20.     push    bc
  21.     push    de
  22.     push    hl
  23.     call    putcod        ; output crypt(tcode)
  24.     pop    hl
  25.     pop    de
  26.     pop    bc
  27.     pop    af        ; restore registers
  28. loop1:    djnz    loop
  29.     ld    (bitpos),a    ; save bitpos for next code
  30.  
  31.     end
  32.