¿Cómo se calcula el número de bucles en lenguaje ensamblador? ¿Es la multiplicación de dos números?
RETARDO:MOV R6,#100
BORR1: MOV R5,#20
DEL: DJNZ R5,DEL
DJNZ R6 ,DEL1
RET
En lo que respecta a esta pregunta, los registros R5 y R6 se usan como contadores, y la instrucción de decremento djnz se usa junto con los registros para formar un doble -bucle de conteo de capas. Después de la inicialización, ejecute DJNZ R5 y DEL primero, y luego regrese a cero después de 20 veces. Luego ejecute DJNZ R6 y DEL1 en secuencia. Después de que el valor en R6 disminuya a 0, salte a la etiqueta DEL1 y reinicie. Si ha aprendido el lenguaje C, el algoritmo aproximado es
for(R5, R5>0, R5--)
{
for(R6, R6 >0 , R6--))
{ }
}