STOSW Store String Word Flags: not altered
Logic: (ES:DI) AX
if DF = 0
DI DI + 2
else
DI DI - 2
STOSW copies the value in AX 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 AX in the
next location.
--------------------------------------------------------------------------
Operands Clocks Transfers Bytes Example
- 15 1 1 STOSW
(repeat) 9 + 14/rep 1/rep 1 REP STOSW
--------------------------------------------------------------------------
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 AX,0 ;The value to initialize BUFFER to
LEA DI,BUFFER ;Starting location of BUFFER
MOV CX,50 ;Size of BUFFER, in words
CLD ;Let's move in forward direction
REP STOSW ;Compare this line to example for STOS
Seealso:
This page last updated on Fri Nov 30 10:49:50 MSK 2001
Copyright © 1992-2001, Vitaly Filatov, Moscow, Russia
Webmaster