DEALY:MOV R2,#02DEALY:\x05MOV\x05R2,#02LOOP1:\x05MOV\x05R3,#250LOOP2:\x05MOV\x05R4,#250LOOP3:\x05NOP\x05\x05NOP\x05\x05DJNZ\x05R4,LOOP3\x05\x05DJNZ R3,LOOP2\x05\x05DJNZ R2,LOOP1\x05\x05RET\x05\x05END晶振为12MHZ,求延时时间,

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/27 13:30:31
DEALY:MOV R2,#02DEALY:\x05MOV\x05R2,#02LOOP1:\x05MOV\x05R3,#250LOOP2:\x05MOV\x05R4,#250LOOP3:\x05NOP\x05\x05NOP\x05\x05DJNZ\x05R4,LOOP3\x05\x05DJNZ R3,LOOP2\x05\x05DJNZ R2,LOOP1\x05\x05RET\x05\x05END晶振为12MHZ,求延时时间,
xSJ@o%6ɶ>DЂREP|/>b/`TPm-I?d7YF̜͜s2'Sə좔CxfGИ(cx&;C̲[JY y`.=3)Z6:>orbmC I!,hIH y%?d\K%9,!%LutU$E!chD Č&A7[VqZ Į1g IJuR4͚J[ѠOvYLl] >{g{'|=)z$fc$wk I*=zf.>hBϓit~Ͷm9`DU%nn (+]d~ﯜxw5X,g}lshl TIԿMejR2iC0+J [|+ CB=oP6I}4l

DEALY:MOV R2,#02DEALY:\x05MOV\x05R2,#02LOOP1:\x05MOV\x05R3,#250LOOP2:\x05MOV\x05R4,#250LOOP3:\x05NOP\x05\x05NOP\x05\x05DJNZ\x05R4,LOOP3\x05\x05DJNZ R3,LOOP2\x05\x05DJNZ R2,LOOP1\x05\x05RET\x05\x05END晶振为12MHZ,求延时时间,
DEALY:MOV R2,#02
DEALY:\x05MOV\x05R2,#02
LOOP1:\x05MOV\x05R3,#250
LOOP2:\x05MOV\x05R4,#250
LOOP3:\x05NOP
\x05\x05NOP
\x05\x05DJNZ\x05R4,LOOP3
\x05\x05DJNZ R3,LOOP2
\x05\x05DJNZ R2,LOOP1
\x05\x05RET
\x05\x05END
晶振为12MHZ,求延时时间,

DEALY:MOV R2,#02DEALY:\x05MOV\x05R2,#02LOOP1:\x05MOV\x05R3,#250LOOP2:\x05MOV\x05R4,#250LOOP3:\x05NOP\x05\x05NOP\x05\x05DJNZ\x05R4,LOOP3\x05\x05DJNZ R3,LOOP2\x05\x05DJNZ R2,LOOP1\x05\x05RET\x05\x05END晶振为12MHZ,求延时时间,
DEALY:\x09MOV\x09R2,#02 //R2=2
LOOP1:\x09MOV\x09R3,#250 //R3=250
LOOP2:\x09MOV\x09R4,#250 //R4=250
LOOP3:\x09NOP //空操作
\x09\x09NOP
\x09\x09DJNZ\x09R4,LOOP3 //R4减去1等于0吗?不等于转到LOOP3,所以这个程序会执行250次
\x09\x09DJNZ R3,LOOP2 //R4 减1不等于0转到LOOP 2 重新给R4赋值250
然后继续执行LOOP3 所以DJNZ\x09R4,LOOP3 会再次执行250次 一直执行250*250次
\x09\x09DJNZ R2,LOO1 //R2-1不等于0跳转到1
\x09\x09RET
\x09\x09END
所以这段程序执行了是2*250*250=125000次.延时时间为0.125S,因为DJNZ为双周期指令所以0.125*2=0.25S延时