Format 13: add offset to stack pointer – Samsung S3C2440A User Manual

Page 151

Advertising
background image

THUMB INSTRUCTION SET

S3C2440A RISC MICROPROCESSOR

4-30

FORMAT 13: ADD OFFSET TO STACK POINTER

[6:0] 7-bit Immediate Value

[7] Sign Flag

0 = Offset is positive
1 = Offset is negative

15

0

1

14

10

0

1

13

12

11

SWord 7

1

0

0

7

8

9

6

0

0

S

Figure 4-14. Format 13

OPERATION

This instruction adds a 9-bit signed constant to the stack pointer. The following table shows the THUMB assembler
syntax.

Table 4-14. The ADD SP Instruction

L

THUMB assembler

ARM equivalent

Description

0

ADD SP, #Imm

ADD R13, R13, #Imm

Add #Imm to the stack pointer (SP).

1

ADD SP, # -Imm

SUB R13, R13, #Imm

Add #-Imm to the stack pointer (SP).

NOTE

The offset specified by #Imm can be up to -/+ 508, but must be word-aligned (ie with bits 1:0 set to 0)

since the assembler converts #Imm to an 8-bit sign + magnitude number before placing it in field SWord7.

The condition codes are not set by this instruction.

INSTRUCTION CYCLE TIMES

All instructions in this format have an equivalent ARM instruction as shown in Table 4-14. The instruction cycle
times for the THUMB instruction are identical to that of the equivalent ARM instruction.

EXAMPLES

ADD

SP, #268

; SP (R13) := SP + 268, but don't set the condition codes.

Note that the THUMB opcode will contain 67 as the

Word7 value and S=0.


ADD

SP, #-104

SP (R13) := SP - 104, but don't set the condition codes.

; Note that the THUMB opcode will contain 26 as the

Word7 value and S=1.

Advertising