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
调用 | 调用一个低 64KB 内的子例程 | |
语法 | CALL dst | |
操作 | dst → PC 评估和存储 16 位 dst SP – 2 → SP PC → @SP 将 PC 更新为 TOS 的返回地址 tmp → PC 将 16 位 dst 保存至 PC | |
说明 | 从一个低 64KB 内的地址到一个低 64KB 内的子例程地址进行子例程调用。可使用所有七个源寻址模式。此调用指令是一个字指令。使用 RET 指令来完成返回。 | |
状态位 | 状态位不受影响。 清除 PC.19:16(低位 64KB 中的地址) | |
模式位 | OSCOFF,CPUOFF 和 GIE 不受影响。 | |
示例 | 给出了针对所有寻址模式的示例。 | |
立即模式:在标签 EXEC(低位 64KB)处调用子例程或直接调用地址。 |
CALL #EXEC ; Start address EXEC
CALL #0AA04h ; Start address 0AA04h
符号模式:在地址 EXEC 中包含的 16 位地址处调用子例程。EXEC 位于地址 (PC+X) 上,其中 X 在 PC+32K 内。 |
CALL EXEC ; Start address at @EXEC. z16(PC)
绝对模式:在低位 64KB 中,在绝对地址 EXEC 中包含的 16 位地址处调用子例程。 |
CALL &EXEC ; Start address at @EXEC
寄存器模式:在寄存器 R5.15:0 中包含的 16 位地址处调用子例程。 |
CALL R5 ; Start address at R5
间接模式:在寄存器 R5 指向的字(20 位地址)中包含的 16 位地址处调用子例程。 |
CALL @R5 ; Start address at @R5