Ну и в рамках того, как вызывается ассемблер, я увидел, что это делается так:
Code: Select all
asm80.exe "C:\Users\Lavr\AppData\Local\Temp\ASME410.tmp" "C:\Users\Lavr\AppData\Local\Temp\ASME411.tmp" -l "C:\Users\Lavr\AppData\Local\Temp\ASME412.tmp"
То есть, по идее - всё очень корректно: ассемблеру предлагается работать с 
tmp-файлами
в 
Temp-директории.
Это "правами администратора" или отсутствием их ограничиваться как бы не должно.
Более того, раз уж я увидел эти пути, я заглянул в эту папку 
Temp.
А там поднакопилось уже таких файлов 
ASMхххх.tmp - причем, все файлы правильные.
Первый - передан исходник, второй - скомпилированный бинарник, третий - нормальный листинг.
То есть, 
asm80.exe свою задачу выполняет безошибочно. А странный сбой происходит тогда,
когда бинарник и листинг надо забрать из 
tmp-файлов, а их самих уничтожить.
Иначе - в успешных случаях - они не накапливаются в папке 
Temp.
Вот такая получается загогулина... причем явных признаков, когда случается фейк, я не увидел.