home *** CD-ROM | disk | FTP | other *** search
- ; PUTCODE f}r Turbo, 171089 Tilmann Reh
- .z80
-
- extrn code,bitpos,bytpos,actbits,rmask,buf
-
- ld hl,(code)
- ld e,0 ; 24-Bit-Code EHL
- ld a,(bitpos)
- or a
- jr z,direct ; Bitpos=0 : nicht schieben
- ld b,a
- shft: add hl,hl
- rl e ; links schieben
- djnz shft ; Anzahl Bitpos
- direct: ld c,a
- ld b,0 ; Bitpos in BC
- ld ix,rmask
- add ix,bc
- add ix,bc ; Zeiger auf rmask(bitpos)
- ld a,(ix) ; Maske nach A
- ld bc,(bytpos)
- ld b,0 ; Bytpos in BC
- ld ix,buf
- add ix,bc ; Zeiger auf Puffer
- and (ix) ; Inhalt mit Maske
- or l ; neuen Code dabei
- ld (ix),a ; speichern
- ld (ix+1),h ; NSB speichern
- ld hl,(actbits) ; L=Actbits
- ld a,(bitpos)
- add a,l
- sub 8 ; bitpos+actbits-8
- inc c ; bytpos+1
- cp 8
- jr c,ende ; bitpos<8 : ok
- sub 8 ; nochmal 8 weg
- inc c ; bytpos nochmal +1
- ld (ix+2),e ; MSB speichern
- ende: ld (bitpos),a
- ld a,c
- ld (bytpos),a ; bitpos und bytpos speichern
-
- end
-
-