ZHCU032K December 2004 – August 2022 MSP430AFE221 , MSP430AFE222 , MSP430AFE223 , MSP430AFE231 , MSP430AFE232 , MSP430AFE233 , MSP430AFE251 , MSP430AFE252 , MSP430AFE253 , MSP430F2001 , MSP430F2002 , MSP430F2003 , MSP430F2011 , MSP430F2012 , MSP430F2013 , MSP430F2101 , MSP430F2111 , MSP430F2112 , MSP430F2121 , MSP430F2122 , MSP430F2131 , MSP430F2132 , MSP430F2132-EP , MSP430F2232 , MSP430F2234 , MSP430F2252 , MSP430F2252-Q1 , MSP430F2254 , MSP430F2272 , MSP430F2272-Q1 , MSP430F2274 , MSP430F2274-EP , MSP430F233 , MSP430F2330 , MSP430F235 , MSP430F2350 , MSP430F2370 , MSP430F2410 , MSP430F2416 , MSP430F2417 , MSP430F2418 , MSP430F2419 , MSP430F247 , MSP430F2471 , MSP430F248 , MSP430F2481 , MSP430F249 , MSP430F2491 , MSP430F2616 , MSP430F2617 , MSP430F2618 , MSP430F2619 , MSP430G2001 , MSP430G2101 , MSP430G2102 , MSP430G2111 , MSP430G2112 , MSP430G2121 , MSP430G2131 , MSP430G2132 , MSP430G2152 , MSP430G2153 , MSP430G2201 , MSP430G2201-Q1 , MSP430G2202 , MSP430G2203 , MSP430G2210 , MSP430G2211 , MSP430G2212 , MSP430G2213 , MSP430G2221 , MSP430G2230 , MSP430G2231 , MSP430G2231-Q1 , MSP430G2232 , MSP430G2233 , MSP430G2252 , MSP430G2253 , MSP430G2302 , MSP430G2303 , MSP430G2312 , MSP430G2313 , MSP430G2332 , MSP430G2333 , MSP430G2352 , MSP430G2353 , MSP430G2402 , MSP430G2403 , MSP430G2412 , MSP430G2413 , MSP430G2432 , MSP430G2433 , MSP430G2444 , MSP430G2452 , MSP430G2453 , MSP430G2513 , MSP430G2533 , MSP430G2544 , MSP430G2553 , MSP430G2744 , MSP430G2755 , MSP430G2855 , MSP430G2955 , MSP430TCH5E
JGE | 如果大于或者相等则条状(无符号) | |
语法 | JGE label | |
操作 | 如果 (N .xor.V) = 0:PC +(2 × 偏移)→ PC 如果 (N .xor.V) = 1:执行下一条指令 | |
说明 | SR 中的负位 N 和溢位 V 被测试。如果两个位都被置 1 或被复位,包含在指令中的带符号 10 位字偏移被乘以 2,符号被扩展,并且被加入到 20 位 PC 中。这意味着相对于全部存储器范围内的 PC 的 -511 至 +512 字的跳转。如果只有一个位被置 1,跳转之后的指令被执行。 JGE 被用于带符号操作数的比较:也用于由溢出造成的不正确结果的比较,JGE 指令做出的决定是正确的。 注意:如果在指令 AND、BIT、RRA、SXTX 和 TST 之后使用,则 JGE 模拟未实现的 JP(如果为正,则跳转)指令。这些指令清零 V 位。 | |
状态位 | 状态位不受影响。 | |
模式位 | OSCOFF,CPUOFF 和 GIE 不受影响。 | |
示例 | 如果字节 EDE(低 64KB)包含正数据,则转至 Label1。软件可运行在完全存储器范围内。 |
TST.B &EDE ; Is EDE positive? V <- 0
JGE Label1 ; Yes, JGE emulates JP
... ; No, 80h <= EDE <= FFh
示例 | 如果 R6 的内容大于或者等于由 R7 指向的存储器,程序继续在 Label5 上执行。带符号数据。完全存储器范围内的数据和程序。 |
CMP @R7,R6 ; Is R6 >= @R7?
JGE Label5 ; Yes, go to Label5
... ; No, continue here
示例 | 如果 R5≥12345h(带符号操作数),程序继续在 Label2 上执行。完全存储器范围内的程序。 |
CMPA #12345h,R5 ; Is R5 >= 12345h?
JGE Label2 ; Yes, 12344h < R5 <= 7FFFFh
... ; No, 80000h <= R5 < 12345h