Esto no es una cuestión trivial. Las cadenas son de longitud variable y ocupan espacios diferentes en la memoria, y tiene que haber alguna manera de saber cuánto tiempo están o dónde terminan. Con C o C++, un nulo de bytes (bytes de valor cero) indica el final de la cadena. Con algunos otros lenguajes de programa , tiene un puntero al comienzo de la cadena y la longitud de la cadena almacenada por separado, que tiene la ventaja de permitirle almacenar código binario (incluidos los bytes de valor cero) en la cadena. Incluso con C y el resto, debe tener un puntero hacia donde comienza la cadena.
Lo que generalmente tiene que suceder es que debe usar asm para contactar con el sistema operativo y solicitar un bloque de memoria que actualmente es libre lo suficientemente grande como para contener el contenido de las dos cadenas una vez que están conectadas.Esta sería la memoria separada de cualquiera de las dos cadenas para empezar, y viene de lo que se conoce como el Heap de memoria. Una vez que se le da el punto de inicio de ese bloque de memoria, se copian los contenidos de la primera cadena . en él, luego continúe mientras copia el contenido de la segunda cadena en justo detrás de la primera. A continuación, libera la memoria que se ha asignado a la primera cadena y reasigna el bloque a esa cadena cambiando su puntero, y posiblemente su longitud. La memoria liberada se devuelve al Memory Heap por el sistema operativo para su reutilización en otro lugar.
En realidad, el sistema operativo no es la única fuente de memoria liberada. Algunos compiladores, incluso ensambladores, manejan la administración de la memoria por su cuenta, o proporcionan las herramientas adecuadas al programador para hacerlo cuando sea necesario.
En otras palabras, esta puede ser una empresa muy ambiciosa, y usted debe saber bastante sobre acerca de lo que está haciendo bien. Si lo haces mal, puedes esperar que las consecuencias afecten tu sistema y necesiten reiniciarse.
El ensamblaje de AT & T no existe, es solo una sintaxis diferente ... Supongo que querías ensamblar x86 tal vez? :) – BlackBear
Eso es lo que quise decir;) – Devos50
Ok, me tomé la libertad de editar tu queston :) – BlackBear