Figured it out. Remove the %[...]
part around %[%3 i]
.
It was tricking me because I was testing it like so:
range 1, 8, {some_partially_applied_macro %1}
Actually has to have a comma at the end after %1
, or NASM doesn't expand it properly (it doesn't see it as a proper comma separated macro).