STOSB            Store String Byte                   Flags: not altered


Logic:    (ES:DI)   AL
if DF = 0
DI   DI + 1
DI   DI - 1

STOSB copies the value in AL into the location pointed to by ES:DI. DI
is then incremented (if the direction flag is cleared) or decremented
(if the direction flag is set), in preparation for storing AL in the
next location.

Operands                  Clocks   Transfers  Bytes   Example
-                        11         1        1     STOSB
(repeat)                9 + 10/rep   1/rep      1     REP STOSB

When used in conjunction with the REP prefixes, the Store String
instructions are useful for initializing a block of memory. For
example, the following code would initialize the 100-byte memory block
at BUFFER to 0:

MOV     AL,0            ;The value to initialize BUFFER to
LEA     DI,BUFFER       ;Starting location of BUFFER
MOV     CX,100          ;Size of BUFFER
CLD                     ;Let's move in forward direction
REP     STOSB                   ;Compare this line to example for STOS

See also: STOS
See also: STOSW
See also: CMPS
See also: LODS
See also: MOVS
See also: SCAS
See also: REP
See also: CLD
See also: STD

STOSB Store String Byte