Red de conocimiento informático - Conocimiento sistemático - Rama del lenguaje ensamblador

Rama del lenguaje ensamblador

SEGMENTO DE DATOS

MEM DB 0,0,0,1,2,2,3,0,0,3,3,9 DUP(0),4,4,0,0,4,0 ,4,5 DUP(5),60 DUP(0),6 DUP(6),0,0

EXTREMOS DE DATOS

SEGMENTO DE CÓDIGO

ASUMAR DS:DATA,CS:CODE

INICIO:MOV AX,DATA

MOV DS,AX

LEA DI,MEM

MOV CX,100 //Establece el número de bucles

ABC: CMP BYTE PTR[DI],0 //Compara si es 0

JNZ LOP

MOV DX, CX //Guardar el contenido de CX

DEC CX //El número de veces que los elementos posteriores avanzan es CX-1 veces

MOV BX,DI

XYZ :MOV AX,01H[BX]

MOV [BX],AX //Utilice el contenido de la parte de dirección alta posterior para sobrescribir la parte con contenido 0 en la unidad de memoria

INC BX

LOOP XYZ

MOV 01H[BX],0 //Agregar 0

MOV CX,DX //Restaurar el contenido de CX

LOP: INC DI // Suma 1 a la dirección

LOOP ABC

MOV AX,4C00H

INT 21H

CÓDIGO FINALIZA

FIN INICIO