В качестве некого заключения данной темы хочу предложить кусочек своего скрипта, который демонстрирует как передачу параметров в функцию, так и получение от неё результата в случаях, если оные передаются через регистр.
// начало скрипта (flgRain выведен в таблицу и назначена горячая клавиша на установку значения в 1) cmp byte ptr [flgRain],0 // проверяем не было ли команды на смену дождя je endRain // если нет - завершаем скрипт mov byte ptr [flgRain],0 // если была, то сначала сбрасываем флаг обратно (нам не нужно беспрерывно менять дождь туда-сюда, нужно выполнить код лишь единожды) pushad // сохраняем все регистры в стек call Terraria.Main::get_IsItRaining // проверяем идёт ли сейчас дождь (результат вернётся в регистр EAX) test eax,eax // 0 - не идёт, 1 - идёт je @f // прыжок к секции начала дождя (пропустить остановку дождя) если EAX==0 call Terraria.Main::StopRain // останавливаем дождь popad // восстанавливаем регистры из стека jmp endRain // выход из скрипта (не нужно запускать дождь) @@: call Terraria.Main::StartRain // запустить дождь popad // восстановить регистры из стека endRain:За идею использования инструкций pushad/popad хочу поблагодарить пользователя "youneuoy" с Discord канала GamehackLab[RU].