質問いいですか。

「システム変数に入ってる値から1を引く」
っていうスクリプトを組むとすると、

システム変数の値をローカル変数に読み込んで、−1してから
その値をまたシステム変数に代入するって流れになりますかね?

こういう処理が、複数同時に重なった場合、最終的なシステム変数の
値は、ちゃんと−1を複数回数した値になってくれるのだろうか?