如有下程序: MOV R1#25DELAY3 MOV R2#50DELAY2 MOV R3#100DELAY1 NOP DJNZ R1DELAY1 DJNZ R2DELAY2 DJNZ R2DELAY3问:该程序执行完所需 机械周期
该程序执行完所需 12500 机械周期。
解析:
- DELAY1: NOP 指令执行一次需要 1 个机械周期,共需要 25 次,即 25 个机械周期。
- DELAY2: MOV R3,#100 指令执行一次需要 1 个机械周期,共需要 50 次,即 50 个机械周期。
- DELAY3: MOV R2,#50 指令执行一次需要 1 个机械周期,共需要 25 次,即 25 个机械周期。
- DJNZ R1,DELAY1 指令共需要执行 25 次,每次执行需要 2 个机械周期(1 个判断周期和 1 个转移周期),即共需要 50 个机械周期。
- DJNZ R2,DELAY2 指令共需要执行 50 次,每次执行需要 2 个机械周期,即共需要 100 个机械周期。
- DJNZ R2,DELAY3 指令共需要执行 25 次,每次执行需要 2 个机械周期,即共需要 50 个机械周期。
因此,该程序执行完所需 12500 个机械周期。
原文地址: https://www.cveoy.top/t/topic/cq1C 著作权归作者所有。请勿转载和采集!