【发布时间】:2015-08-03 14:34:07
【问题描述】:
如果使用 DJNZ 助记符,那么只有与它一起给出的标签将被执行,或者从该特定标签到 DJNZ 助记符的所有标签都将被执行,我可以请你帮忙吗?
即
DELAY: MOV R5,#100
BACK: MOV R2,#200
AGAIN: MOV R3,#250
HERE: NOP
NOP
NOP
DJNZ R3,HERE
DJNZ R2,AGAIN
DJNZ R5,BACK
那么,当 DJNZ R2 被执行时,它是只执行 AGAIN Label 语句(MOV R3,#250)还是在每次执行 AGAIN 标签时也执行 HERE 标签?就像在其他编程语言中一样,我们总是有 return 或 break 语句,而在这个程序中没有类似的东西,所以我认为 HERE 应该总是在 AGAIN 的每个循环中执行,但对此并不完全确定。
【问题讨论】:
-
是的,它只是跳转到给定的位置并在那里继续执行,所以它将继续执行之后的任何操作。
-
非常感谢小丑先生,现在我可以解决它了:)
标签: assembly time execution 8051