STOSB - Store string byte, stores al in ES:DI if the CF is 0 then

di is incremented, if CF is 1 then di is decremented.

 

STOSW - Store string word, stores ax in ES:DI if the CF is 0 then

di is incremented, (by 2) if CF is 1 then di is decremented (by 2).

^

now the procedure is almost the same as the moving of a buffer

sseg segment

db 10 dup (?)

ends

cseg segment

assume cs:cseg,ss:sseg,ds:cseg,es:nothing

start :

push ds ; we must save it

mov ax,0b800h ; adress of screen

mov es,ax

mov di,0

mov cx,2000 ; to speed up use movsw (4000 bytes/2)

mov ax,0 ; we want to clear it

rep stosw ; stores ax 2000 times in ES:DI (screen)

pop ds

mov ax,4c00h

int 21h

ends

end start

end

 

 

 

 

                                                                      NEXT PAGE