[an error occurred while processing this directive]
|
Это замечание относится только к повторяемой инструкции, а не к самому repeat, в качестве Smem можно использовать абсолютную адресацию.
repeat(*(#ggg))
прекрасно работает.
Здесь дело в том, что repeat повторяет только инструкции исполняющиеся за один такт конвеера, буквально это не отражено в документации, но если повторяемая инструкция содержит *(lk), или *ARx(#L), это работать не будет, конвеер сбоит. Аналогичные проблемы возникают при попытке сохранения 32бит аккумулятора в repeat, типа dbl(*AR2+) = A, команда хотя и занимает одно слово но исполняется два такта.
Используйте другой вариант:
AR0 = #M
repeat(*AR4)
mar(*AR2+0)
E-mail: info@telesys.ru