Red de conocimiento informático - Conocimiento sistemático - Programación de estructuras de bucle en lenguaje ensamblador

Programación de estructuras de bucle en lenguaje ensamblador

supongamos cs: código, ds: datos

segmento de datos

bcd db 01h, 23h, 45h, 67h, 89h, 13h, 24h, 35h, 46h , 57h; código bcd

asc db 20 dup(0); almacenado aquí después de la conversión

los datos finalizan

segmento de código

inicio. : mov ax, data

mov ds, ax

mov cx, 10; número de ciclos

lea si, bcd si apunta al código bcd

p>

lea di, asc; di apunta a la posición de destino después de la conversión

siguiente: mov al, [si]; saca el código bcd

mov dl, al ; ponga dl para guardar

y al, 0fh; elimine los 4 bits superiores y procese el código bccd de orden inferior

o al, 30h; >

mov [di], al; almacenar en la ubicación de destino

inc di; modificar el puntero de dirección de destino

empujar cx para usar la instrucción de cambio, el registro cl; es necesario, por lo que el número de ciclos se inserta en la pila

push cx; p>

mov cl, 4; move 4 bits

shr dl, cl; bit alto del código bcd original al suelo 4 bits

o dl, 30h; convertir en código ascii

mov [di], dl; almacenar en la ubicación de destino

inc di; modificar el puntero de dirección

inc si; modificar el puntero de dirección

pop cx; mostrar el recuento de bucles

bucle siguiente; >

mov ax, 4c00h

int 21h

el código termina

fin y comienzo

¿Mu Xi? Me gusta este nombre