Red de conocimiento informático - Conocimiento sistemático - Ayuda en lenguaje ensamblador

Ayuda en lenguaje ensamblador

; Quince números del 1 al 15 están dispuestos en un círculo. Para volver a hacer cola, el conteo comienza desde 1. Cualquiera que informe 5 será expulsado de la cola e ingresará a una nueva cola. /p>

;Los números detrás de él comienzan a contar desde 1 hasta que todos los números están en la cola y se genera una nueva cola.

SEGMENTO DE DATOS

buf db 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15

cuf db 15 dup(0)

TERMINOS DE DATOS

SEGMENTO DE PILAS

dw 10 dup(0)

PILAS FINALIZA

SEGMENTO DE CÓDIGOS

ASUME CS: CÓDIGOS, DS: DATAS, SS: PILAS

INICIO:

MOV AX, DATAS

MOV DS, AX

lea di, cuf; dirección de desplazamiento de secuencia

lea si, buf; dirección de almacenamiento

mov cx, 0 ; contador que informa a 5

jixu: mov bx, 0; contador que verifica si la secuencia de números ha sido transmitida

jixu1: cmp byte ptr [si], 0; Si la posición correspondiente ya es 0, sáltala

jne a1

inc bx; cuenta el número de ceros para finalizar

cmp bx, 15

je jieshu

inc si

cmp si, 000FH si la secuencia llega al final, comienza de nuevo

jne a4

lea si, buf

a4: jmp jixu1

a1: inc cx; reportar valor 1

cmp cx, 0005H; luego estadísticas

je a2

inc si

jmp jixu

a2: mov al, [si]; >

mov [di], al

inc di

mov byte ptr [si], 0; posición original borrada

mov cx, 0; Valor del informe borrado

jmp jixu

jieshu: MOV AH, 4CH

INT 21H

CÓDIGOS FINALES

FINALIZAR INICIO