ARMv7-A коллекция макросов

Пауза (число) - вставляет программную паузу, указанную в микросекундах.

	Пауза 10000 - вставит программную паузу на 10 мс
	Используется как правило в линейном коде, во время инициализации камня.
	
NOPS число - вставляет в программу директивы NOP в указанном количестве. Для создания микрозадержек.

INC (регистр) - увеличивает регистр на 1

DEC (регистр) - уменьшает регистр на 1

CLR (регистр) - сбрасывает регистр в 0

SER (регистр) - устанавливает все биты регистра в 1

BIS регистр, число - устанавливает биты регистра по маске (аналог BIC)

BII регистр, число - инвертирует биты регистра по маске

JMP (адрес) - переходит по указанному адресу

CALL (адрес) - выполняет подпрограмму по указанному адресу

RET - выход из подпрограммы

RETI - выход из прерывания в ARMv7-A

MOV32 регистр, число - загружает в R регистр ядра 32-битную константу или адрес

CMP32 регистр, число - сравнивает регистр с 32-битной константой

ADD32 регистр, число - прибавляет к регистру 32-битную константу

VMOV32 регистр, число - загружает в S регистр NEON целое 32-битное число

VMOV64 регистр, число - загружает в D регистр NEON целое 64-битное число

VMOV128 регистр, число - загружает в Q регистр NEON целое 128-битное число

FLDR регистр, плавающее_число - загружает в R регистр ядра плавучее число одинарной точности

FLDS регистр плавающее_число - загружает в S регистр NEON плавучее число одинарной точности

FLDD регистр, плавающее_число - загружает в D регистр NEON плавучее число двойной точности


Зависнуть - программа останавливается в безконечном цикле


Смотрите стартовый комплект для NXP i.MX7D.