【发布时间】:2018-03-07 17:34:52
【问题描述】:
给定 MSP430 中的代码:
CLR R6
MOV #5, R5
L1: DEC R5
CMP #0, R5
JL L1
INC R6
我被告知执行后 R5 的值为 4 而不是 0。
这是 JL 指令特有的吗?
【问题讨论】:
-
CMP指令如何设置状态位? JL 对这些位采取什么行动?您是否阅读了手册中的 JL 条目?你到底有什么不明白的?
-
我不明白为什么 JL 在第一次递减后会失败。我的理解是,第一次递减后,它会一直持续到 R5 为 0。但我被告知它在第一次递减后不会跳转到 L1。
标签: assembly embedded cpu-architecture msp430