> -- maliya писал(а):
> and I dont known what is your question (for google translation)

Well, I'll ask question in a different way.

There are two procedures,

## Код:
```
PROCEDURE [ code ] agg_fill*(adr, words: INTEGER; val: INTEGER)
```

and
## Код:
```
PROCEDURE [ code ] agg_fill*(adr, words: INTEGER; val: SHORTCHAR)
```

with the same code.

The obvious difference is the val parameter size, 4 bytes vs. 1 byte.
Since both procedures work correctly, it seems that compiler uses 4 bytes as a placeholder for parameters of smaller size.

Does my suggestion correct?
I found no info on this topic at documentation.

And you are right, it is not necessary to do XOR on EAX.