home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1991 / 05 / leser / charfill.asm < prev    next >
Encoding:
Assembly Source File  |  1991-04-03  |  1.1 KB  |  39 lines

  1. ;* ------------------------------------------------------- *
  2. ;*                   CHARFILL.ASM                          *
  3. ;* ------------------------------------------------------- *
  4. CODE SEGMENT
  5. ASSUME CS:CODE
  6.  
  7. FillChar PROC FAR
  8. ; {$F+}
  9. ; PROCEDURE FillChar(VAR x; count : WORD; value : BYTE);
  10. ; EXTERNAL;
  11. ; {$F-}
  12.  
  13. value    EQU BYTE  PTR SS:[BX+4]
  14. count    EQU WORD  PTR SS:[BX+6]
  15. xptr     EQU DWORD PTR SS:[BX+8]
  16.  
  17.  
  18.          MOV   BX, SP
  19.          MOV   AL, value
  20.          MOV   AH, AL       ; value verdoppeln
  21.          MOV   CX, count    ; count ins Zählregister
  22.          LES   DI, xptr     ; Zeiger auf x in ES:DI
  23.          CLD                ; Stringbefehle vorwärts
  24.          SHR   CX, 1        ; count := count SHR 1
  25.          JNC   gerade       ; Sprung, wenn count gerade
  26.          STOSB              ; 1. Byte von x überschreiben
  27. gerade:
  28.          REP   STOSW        ; Rest von x überschreiben
  29.          RET   8
  30.  
  31. FillChar ENDP
  32.  
  33. CODE     ENDS
  34.          END
  35.  
  36. ;* ------------------------------------------------------- *
  37. ;*              Ende von CHARFILL.ASM                      *
  38.  
  39.