Если для МС-ДОС, то я пользовался таким (во вложении - MA80/MLINK) - оно совместимо с олдскульным микрософтовским M80 по входному синтаксису асссемблера. Объектники между L80 и MLINK не совместимы, но это и не особенно нужно - главное что общая идеология раздельной компиляции.
Значит, по-хорошему - надо сделать 2 набора либ: со стековыми функциями (ни в одном компиляторе не видел таких реализаций, к примеру, memset, хотя не думаю что авторы не знали про такие способы заполнения памяти) и с обычными циклами. Все же универсальность куда полезнее съэкономленного такта.
С чего это? Пременную в любом ассемблере можно как явно положить в память по абсолютному адресу при помощи EQU, так и отдать на откуп линкеру на этапе сборки. В обоих случаях в исходнике обращение к ней идет по символическому имени. Или общая память это нечто отличающееся от обычной оперативной? Не понимаю.





Ответить с цитированием