Цитата(sergey sva @ Feb 6 2009, 17:23)

а про Ltorg пока не нашел не чего.
ltorg указывает место для расположения "локальной кучи"(pool) констант, используемых ассемблерным кодом. Такие константы, обычно генерируются неявно, например, для ARM есть псевдооперация '='
Код
ldr R1, =hal_reset_handler
Поскольку архитектура ARM не позволит загрузить константу в регистр за одну инструкцию mov, да и само значение константы (адрес функции или переменной hal_reset_handler) в момент компиляции не известно (выяснится только при сборке линкером), то реально будет сгенерирован код:
Код
ldr R1, [PC, #offset_hal_reset_handler]
...
ltorg
dc32 hal_reset_handler
То есть - в R1 будет загружаться значение некоторого слова по адресу PC+смещение. Вот это-то слово и будет размещено в "локальной куче констант"/пуле. Удаление инструкции от пула для ARM не должно превышать 2Кбайт. Обычно ассемблер автоматически размещает нужные константы в пуле и оптимизирует их повторное использование - если константа используется несколькими инструкциями, то в пуле будет размещена только один раз.