Похоже, у вас есть назначение, чтобы создать код сборки Intel x86, который выполняет операцию добавления строки.
Если это правда, вам может быть полезно изучить дизассемблированный вывод компилятора C - например, компилятора Intel C или компилятора Microsoft VC ++ Express. Скомпилируйте действительно простой C-код, затем разберите и посмотрите на результаты.
Компиляторы обычно делают вещи немного по-другому, чем человеческий кодер, но по моему опыту нетрудно выяснить, что происходит в сгенерированном коде. Вы можете увидеть, как код ASM управляет стеком, как выполняется арифметика указателей, как и когда инициализируются регистры, какие регистры используются и как, и так далее.
Простая подпрограмма на Си может быть вашей собственной версией strlen.
Затем добавьте сложность или измените все, скомпилируйте и снова разберите и посмотрите, что произойдет. Например, вместо strlen создайте подпрограмму C, которая возвращает последний символ в строке.
или, если вы просто хотите получить ответ, вы можете попробовать Codecodex .
:)