Cuestiones de programación sobre los principios de composición de microcomputadoras.
Segmento de datos de "datos" cuasi públicos; definición del segmento de datos
Bloque DB 200
Fin de los datos
PILA SEGMENT PARA STACK "STACK"; definición de parte de la pila
DB 200 DUP(0)
Fin de la pila
Definición de segmento de código PARA PUBLIC "CODE"; del segmento de código
Supongamos DS: datos, ES: datos, SS: pila, CS: código
Inicio:
MOV AX, 0 bytes; llenado
p>
MOV CX, 100; establece el número de ciclos
Layardi, Bullock;DI apunta a la dirección de inicio del llenado.
Rep. STOSB se llena repetidamente
MOV AX, 4C00H llama a la función 4Ch de INT 21h para salir.
INT 21H
Fin del código
Fin inicio
2.
Definición de segmento de datos y pila. segmento que ya no escribiré, solo fragmentos de código.
Segmento de código PARA PUBLIC "CODE"; definición del segmento de código
Asumir DS: datos, ES: datos, SS: pila, CS: código
Inicio:
MOV CX, 100; establece el número de ciclos
LEA SI, dat 1; DS:SI apunta a la dirección de datos de origen.
LEA DI, DAT2ES:DI apunta a la dirección de datos de destino
REP MOVSB copia repetida
MOV AX, 4C00H llama a la función 4Ch de INT 21h para salir.
INT 21H
Fin del código
Fin inicio
3. La función de este programa es convertir el Reemplazar todos los caracteres ". a" con "a"
Lea BX str; coloque la dirección inicial de la variable STR en el registro BX.
MOV·CX, 30; establece el número de bucles en 30
LP: CMP [BX], 'A', determina si el carácter apunta. a por BX es 'a'
JNZ NEXT si no saltas a la siguiente etiqueta de "a"
MOV [BX], 'a'; por BX a "a"”
Siguiente: INC BX; apunta al siguiente carácter.
LOOP Bucle LP (comenzando desde la etiqueta LP) hasta CX=0 (es decir, haciendo un bucle 30 veces).
HLT detiene la máquina