Instruction Set
3-29
RISC 16-Bit CPU
CALL
Subroutine
Syntax
CALL
dst
Operation
dst
−> tmp
dst is evaluated and stored
SP − 2
−> SP
PC
−> @SP
PC updated to TOS
tmp
−> PC
dst saved to PC
Description
A subroutine call is made to an address anywhere in the 64K address space.
All addressing modes can be used. The return address (the address of the
following instruction) is stored on the stack. The call instruction is a word
instruction.
Status Bits
Status bits are not affected.
Example
Examples for all addressing modes are given.
CALL
#EXEC
; Call on label EXEC or immediate address (e.g. #0A4h)
; SP−2
→
SP, PC+2
→
@SP, @PC+
→
PC
CALL
EXEC
; Call on the address contained in EXEC
; SP−2
→
SP, PC+2
→
@SP, X(PC)
→
PC
; Indirect address
CALL
&EXEC
; Call on the address contained in absolute address
; EXEC
; SP−2
→
SP, PC+2
→
@SP, X(0)
→
PC
; Indirect address
CALL
R5
; Call on the address contained in R5
; SP−2
→
SP, PC+2
→
@SP, R5
→
PC
; Indirect R5
CALL
@R5
; Call on the address contained in the word
; pointed to by R5
; SP−2
→
SP, PC+2
→
@SP, @R5
→
PC
; Indirect, indirect R5
CALL
@R5+
; Call on the address contained in the word
; pointed to by R5 and increment pointer in R5.
; The next time—S/W flow uses R5 pointer—
; it can alter the program execution due to
; access to next address in a table pointed to by R5
; SP−2
→
SP, PC+2
→
@SP, @R5
→
PC
; Indirect, indirect R5 with autoincrement
CALL
X(R5)
; Call on the address contained in the address pointed
; to by R5 + X (e.g. table with address starting at X)
; X can be an address or a label
; SP−2
→
SP, PC+2
→
@SP, X(R5)
→
PC
; Indirect, indirect R5 + X
Summary of Contents for MSP430x4xx Family
Page 1: ...MSP430x4xx Family 2007 Mixed Signal Products User s Guide SLAU056G ...
Page 2: ......
Page 6: ...vi ...
Page 114: ...3 76 RISC 16 Bit CPU ...
Page 304: ...5 20 FLL Clock Module ...
Page 340: ...7 8 Supply Voltage Supervisor ...
Page 348: ...8 8 16 Bit Hardware Multiplier ...
Page 372: ...9 24 32 Bit Hardware Multiplier ...
Page 400: ...10 28 DMA Controller ...
Page 428: ...13 10 Basic Timer1 ...
Page 466: ...15 24 Timer_A ...
Page 522: ...17 30 USART Peripheral Interface UART Mode ...
Page 544: ...18 22 USART Peripheral Interface SPI Mode ...
Page 672: ...23 12 Comparator_A ...
Page 692: ...24 20 LCD Controller ...
Page 746: ...26 28 ADC12 ...