SLAA140A February   2002  – August 2018 MSP430BT5190 , MSP430BT5190 , MSP430F1101 , MSP430F1101 , MSP430F1101A , MSP430F1101A , MSP430F1111A , MSP430F1111A , MSP430F112 , MSP430F112 , MSP430F1121 , MSP430F1121 , MSP430F1121A , MSP430F1121A , MSP430F1122 , MSP430F1122 , MSP430F1132 , MSP430F1132 , MSP430F122 , MSP430F122 , MSP430F1222 , MSP430F1222 , MSP430F123 , MSP430F123 , MSP430F1232 , MSP430F1232 , MSP430F133 , MSP430F133 , MSP430F135 , MSP430F135 , MSP430F147 , MSP430F147 , MSP430F1471 , MSP430F1471 , MSP430F148 , MSP430F148 , MSP430F1481 , MSP430F1481 , MSP430F149 , MSP430F149 , MSP430F1491 , MSP430F1491 , MSP430F155 , MSP430F155 , MSP430F156 , MSP430F156 , MSP430F157 , MSP430F157 , MSP430F1610 , MSP430F1610 , MSP430F1611 , MSP430F1611 , MSP430F1612 , MSP430F1612 , MSP430F167 , MSP430F167 , MSP430F168 , MSP430F168 , MSP430F169 , MSP430F169 , MSP430F2001 , MSP430F2001 , MSP430F2002 , MSP430F2002 , MSP430F2003 , MSP430F2003 , MSP430F2011 , MSP430F2011 , MSP430F2012 , MSP430F2012 , MSP430F2013 , MSP430F2013 , MSP430F2013-EP , MSP430F2013-EP , MSP430F2101 , MSP430F2101 , MSP430F2111 , MSP430F2111 , MSP430F2112 , MSP430F2112 , MSP430F2121 , MSP430F2121 , MSP430F2122 , MSP430F2122 , MSP430F2131 , MSP430F2131 , MSP430F2132 , MSP430F2132 , MSP430F2232 , MSP430F2232 , MSP430F2234 , MSP430F2234 , MSP430F2252 , MSP430F2252 , MSP430F2252-Q1 , MSP430F2252-Q1 , MSP430F2254 , MSP430F2254 , MSP430F2272 , MSP430F2272 , MSP430F2272-Q1 , MSP430F2272-Q1 , MSP430F233 , MSP430F233 , MSP430F2330 , MSP430F2330 , MSP430F235 , MSP430F235 , MSP430F2350 , MSP430F2350 , MSP430F2370 , MSP430F2370 , MSP430F2410 , MSP430F2410 , MSP430F2416 , MSP430F2416 , MSP430F2417 , MSP430F2417 , MSP430F2418 , MSP430F2418 , MSP430F2419 , MSP430F2419 , MSP430F247 , MSP430F247 , MSP430F2471 , MSP430F2471 , MSP430F248 , MSP430F248 , MSP430F2481 , MSP430F2481 , MSP430F249 , MSP430F249 , MSP430F2491 , MSP430F2491 , MSP430F2616 , MSP430F2616 , MSP430F2617 , MSP430F2617 , MSP430F2618 , MSP430F2618 , MSP430F2619 , MSP430F2619 , MSP430F412 , MSP430F412 , MSP430F413 , MSP430F413 , MSP430F4132 , MSP430F4132 , MSP430F415 , MSP430F415 , MSP430F4152 , MSP430F4152 , MSP430F417 , MSP430F417 , MSP430F423 , MSP430F423 , MSP430F423A , MSP430F423A , MSP430F425 , MSP430F425 , MSP430F4250 , MSP430F4250 , MSP430F425A , MSP430F425A , MSP430F4260 , MSP430F4260 , MSP430F427 , MSP430F427 , MSP430F4270 , MSP430F4270 , MSP430F427A , MSP430F427A , MSP430F435 , MSP430F435 , MSP430F4351 , MSP430F4351 , MSP430F436 , MSP430F436 , MSP430F4361 , MSP430F4361 , MSP430F437 , MSP430F437 , MSP430F4371 , MSP430F4371 , MSP430F438 , MSP430F438 , MSP430F439 , MSP430F439 , MSP430F447 , MSP430F447 , MSP430F448 , MSP430F448 , MSP430F4481 , MSP430F4481 , MSP430F449 , MSP430F449 , MSP430F4491 , MSP430F4491 , MSP430F4616 , MSP430F4616 , MSP430F46161 , MSP430F46161 , MSP430F4617 , MSP430F4617 , MSP430F46171 , MSP430F46171 , MSP430F4618 , MSP430F4618 , MSP430F46181 , MSP430F46181 , MSP430F4619 , MSP430F4619 , MSP430F46191 , MSP430F46191 , MSP430F47126 , MSP430F47126 , MSP430F47127 , MSP430F47127 , MSP430F47163 , MSP430F47163 , MSP430F47166 , MSP430F47166 , MSP430F47167 , MSP430F47167 , MSP430F47173 , MSP430F47173 , MSP430F47176 , MSP430F47176 , MSP430F47177 , MSP430F47177 , MSP430F47183 , MSP430F47183 , MSP430F47186 , MSP430F47186 , MSP430F47187 , MSP430F47187 , MSP430F47193 , MSP430F47193 , MSP430F47196 , MSP430F47196 , MSP430F47197 , MSP430F47197 , MSP430F477 , MSP430F477 , MSP430F478 , MSP430F478 , MSP430F4783 , MSP430F4783 , MSP430F4784 , MSP430F4784 , MSP430F479 , MSP430F479 , MSP430F4793 , MSP430F4793 , MSP430F4794 , MSP430F4794 , MSP430F5304 , MSP430F5304 , MSP430F5308 , MSP430F5308 , MSP430F5309 , MSP430F5309 , MSP430F5310 , MSP430F5310 , MSP430F5324 , MSP430F5324 , MSP430F5325 , MSP430F5325 , MSP430F5326 , MSP430F5326 , MSP430F5327 , MSP430F5327 , MSP430F5328 , MSP430F5328 , MSP430F5329 , MSP430F5329 , MSP430F5333 , MSP430F5333 , MSP430F5336 , MSP430F5336 , MSP430F5338 , MSP430F5338 , MSP430F5340 , MSP430F5340 , MSP430F5341 , MSP430F5341 , MSP430F5342 , MSP430F5342 , MSP430F5418 , MSP430F5418 , MSP430F5418A , MSP430F5418A , MSP430F5419 , MSP430F5419 , MSP430F5419A , MSP430F5419A , MSP430F5435 , MSP430F5435 , MSP430F5435A , MSP430F5435A , MSP430F5436 , MSP430F5436 , MSP430F5436A , MSP430F5436A , MSP430F5437 , MSP430F5437 , MSP430F5437A , MSP430F5437A , MSP430F5438 , MSP430F5438 , MSP430F5500 , MSP430F5500 , MSP430F5501 , MSP430F5501 , MSP430F5502 , MSP430F5502 , MSP430F5503 , MSP430F5503 , MSP430F5504 , MSP430F5504 , MSP430F5505 , MSP430F5505 , MSP430F5506 , MSP430F5506 , MSP430F5507 , MSP430F5507 , MSP430F5508 , MSP430F5508 , MSP430F5509 , MSP430F5509 , MSP430F5510 , MSP430F5510 , MSP430F5513 , MSP430F5513 , MSP430F5514 , MSP430F5514 , MSP430F5515 , MSP430F5515 , MSP430F5517 , MSP430F5517 , MSP430F5519 , MSP430F5519 , MSP430F5521 , MSP430F5521 , MSP430F5522 , MSP430F5522 , MSP430F5524 , MSP430F5524 , MSP430F5525 , MSP430F5525 , MSP430F5526 , MSP430F5526 , MSP430F5527 , MSP430F5527 , MSP430F5529 , MSP430F5529 , MSP430F5630 , MSP430F5630 , MSP430F5631 , MSP430F5631 , MSP430F5632 , MSP430F5632 , MSP430F5633 , MSP430F5633 , MSP430F5634 , MSP430F5634 , MSP430F5635 , MSP430F5635 , MSP430F5636 , MSP430F5636 , MSP430F5637 , MSP430F5637 , MSP430F5638 , MSP430F5638 , MSP430F6433 , MSP430F6433 , MSP430F6435 , MSP430F6435 , MSP430F6436 , MSP430F6436 , MSP430F6438 , MSP430F6438 , MSP430F6630 , MSP430F6630 , MSP430F6631 , MSP430F6631 , MSP430F6632 , MSP430F6632 , MSP430F6633 , MSP430F6633 , MSP430F6634 , MSP430F6634 , MSP430F6635 , MSP430F6635 , MSP430F6636 , MSP430F6636 , MSP430F6637 , MSP430F6637 , MSP430F6638 , MSP430F6638 , MSP430FE423 , MSP430FE423 , MSP430FE4232 , MSP430FE4232 , MSP430FE423A , MSP430FE423A , MSP430FE4242 , MSP430FE4242 , MSP430FE425 , MSP430FE425 , MSP430FE4252 , MSP430FE4252 , MSP430FE425A , MSP430FE425A , MSP430FE427 , MSP430FE427 , MSP430FE4272 , MSP430FE4272 , MSP430FE427A , MSP430FE427A , MSP430FG4250 , MSP430FG4250 , MSP430FG4260 , MSP430FG4260 , MSP430FG4270 , MSP430FG4270 , MSP430FG437 , MSP430FG437 , MSP430FG438 , MSP430FG438 , MSP430FG439 , MSP430FG439 , MSP430FG4616 , MSP430FG4616 , MSP430FG4617 , MSP430FG4617 , MSP430FG4618 , MSP430FG4618 , MSP430FG4619 , MSP430FG4619 , MSP430FG477 , MSP430FG477 , MSP430FG478 , MSP430FG478 , MSP430FG479 , MSP430FG479 , MSP430FG6425 , MSP430FG6425 , MSP430FG6426 , MSP430FG6426 , MSP430FG6625 , MSP430FG6625 , MSP430FG6626 , MSP430FG6626 , MSP430FW423 , MSP430FW423 , MSP430FW425 , MSP430FW425 , MSP430FW427 , MSP430FW427 , MSP430FW428 , MSP430FW428 , MSP430FW429 , MSP430FW429 , MSP430G2001 , MSP430G2001 , MSP430G2101 , MSP430G2101 , MSP430G2102 , MSP430G2102 , MSP430G2111 , MSP430G2111 , MSP430G2112 , MSP430G2112 , MSP430G2121 , MSP430G2121 , MSP430G2131 , MSP430G2131 , MSP430G2132 , MSP430G2132 , MSP430G2152 , MSP430G2152 , MSP430G2201 , MSP430G2201 , MSP430G2201-Q1 , MSP430G2201-Q1 , MSP430G2211 , MSP430G2211 , MSP430G2212 , MSP430G2212 , MSP430G2221 , MSP430G2221 , MSP430G2231-Q1 , MSP430G2231-Q1 , MSP430G2232 , MSP430G2232 , MSP430G2252 , MSP430G2252 , MSP430G2302 , MSP430G2302 , MSP430G2312 , MSP430G2312 , MSP430G2332 , MSP430G2332 , MSP430G2352 , MSP430G2352 , MSP430G2402 , MSP430G2402 , MSP430G2432 , MSP430G2432 , MSP430G2452 , MSP430G2452 , MSP430L092 , MSP430L092

 

  1.   Mixing C and Assembler With MSP430™ MCUs
    1.     Trademarks
    2. 1 Definition of the C-Compiler for Passing Variables Between Functions
      1. 1.1 Stack Frames and Parameter Passing
      2. 1.2 Calling Convention – Register Use With the IAR C-Compiler
      3. 1.3 Calling Convention – Register Use With the CCS C-Compiler
      4. 1.4 Interrupt Functions
    3. 2 Requirements of Assembler Routines to Support Calls From C
      1. 2.1 Local Storage Allocation
      2. 2.2 Interrupt Functions
      3. 2.3 Define Interrupt Vectors
    4. 3 Combining C and Assembler Functions
      1. 3.1 General Basics
      2. 3.2 Call Assembler Functions Without Parameters to Pass
      3. 3.3 Call Assembler Functions With Parameters to Pass
      4. 3.4 Define an Interrupt Service Routine in Assembler
      5. 3.5 Define an Interrupt Service Routine for Special Interrupts
      6. 3.6 Call C Functions from Assembler
      7. 3.7 Exit Low-Power Mode While in the Interrupt Service Routine
  2.   Revision History

Interrupt Functions

The calling convention cannot be used for interrupt functions, because the interrupt may occur during the calling of a foreground function. The requirements for an interrupt function routine are different from those of a normal function routine as follows:

  • The routine must preserve all used registers, including scratch registers R12 to R15.
  • The routine must exit using RETI.
  • The routine must treat all flags (Carry, Negative, Zero, and Overflow) of the Status register as undefined.