Red de conocimiento informático - Conocimiento del nombre de dominio - Pregunta de ejemplo sobre lenguaje ensamblador de microcomputadora. No entiendo el retraso exacto del software. Por favor, ayúdenme a explicarlo. Entonces, ¿qué es N aquí y qué es 17?

Pregunta de ejemplo sobre lenguaje ensamblador de microcomputadora. No entiendo el retraso exacto del software. Por favor, ayúdenme a explicarlo. Entonces, ¿qué es N aquí y qué es 17?

N lo establece usted cuando escribe el programa y puede ser cualquier número entero.

Establezca la frecuencia del reloj de la CPU en 5 MH e intente escribir un programa con un retraso de 1 ms.

DEL_1MS: MOV CX, N ;4*1 El 4 aquí significa que la instrucción MOV CX, N necesita 4 ciclos de reloj para ejecutarse una vez, y 1 significa el número de ejecuciones

SIGUIENTE: NOP; 3*N Igual que arriba 3 es el ciclo de reloj N es el número de ejecuciones

NOP ;3*N Igual que arriba

LOOP NEXT ; loop/not loop) 17 significa que el ciclo no ha finalizado. Se necesitan 17 ciclos de reloj para ejecutar la instrucción LOOP NEXT y 5 ciclos de reloj para ejecutar la instrucción LOOP NEXT al final del ciclo.

Por lo tanto, el número total de ciclos de reloj = 4+3N+3N+17(N-1)+5

p>

ciclo de reloj = 1/frecuencia de reloj de la CPU = 1/5M = 0.2us

Entonces el tiempo total de *** es 0,2 * (4+3N+3N+17(N-1)+ 5) us

Si el retraso es 1 ms, el tiempo es 0,2 * (4+ 3N+3N+17(N-1)+5) = 1000us

Solo necesitas resolver para N . Resuelva para N = 218, ya que el número de ciclos de reloj solo puede ser números enteros.

Espero que esto ayude.