Red de conocimiento informático - Conocimiento del nombre de dominio - Urgente: se almacenan 16 bytes de datos en la memoria externa con la primera dirección 1000H, y el programa envía el bloque de datos a la memoria con la primera dirección 30H.

Urgente: se almacenan 16 bytes de datos en la memoria externa con la primera dirección 1000H, y el programa envía el bloque de datos a la memoria con la primera dirección 30H.

Puede utilizar el desplazamiento circular para mover bloques de datos al área de datos de destino uno por uno.

Análisis del problema

En primer lugar, el programa necesita transferir un dato a otra área. Dado que el lenguaje ensamblador no tiene instrucciones para operaciones de cadenas, se debe utilizar un bucle. aquí para transferir un byte Se transfiere un byte de datos a los datos correspondientes.

Además, dado que el lenguaje ensamblador no permite que los datos se intercambien directamente dentro de la memoria sin utilizar DMA, es necesario utilizar registros de propósito general como transferencia. En resumen, se puede confirmar el marco general del programa.

Marco del programa

Implementación del lenguaje ensamblador del programa

Análisis del programa: este código puede realizar un ciclo 16 veces y mover el bloque de código compuesto por 16 datos al área de datos de destino. .

Información ampliada

Una de las características del lenguaje ensamblador es que los objetos con los que opera no son datos concretos, sino registros o memorias, lo que significa que trata directamente con registros y memorias.

Esta es la razón por la que el lenguaje ensamblador se ejecuta más rápido que otros lenguajes, pero también hace que la programación sea más complicada, porque dado que los datos se almacenan en registros o en la memoria, debe haber un modo de direccionamiento, es decir, cómo encontrarlos. los datos requeridos.

Por ejemplo, en el ejemplo anterior, los datos no se pueden utilizar directamente como un lenguaje de alto nivel, sino que se deben extraer primero de los registros correspondientes AX y BX.

Esto también aumenta la complejidad de la programación, porque en los lenguajes de alto nivel esta parte del trabajo de direccionamiento lo realiza el sistema de compilación, mientras que en el lenguaje ensamblador lo realiza el propio programador. aumenta la complejidad de la programación y reduce la legibilidad del programa.

Enciclopedia Baidu-Lenguaje ensamblador (lenguaje de programación orientado a máquina)