Format 13: Add Offset To Stack Pointer; Operation; Instruction Cycle Times - Samsung S3C2501X User Manual

32-bit risc microprocessor
Table of Contents

Advertisement

S3C2501X

3.32 FORMAT 13: ADD OFFSET TO STACK POINTER

15
14
13
1
0
1

3.32.1 OPERATION

This instruction adds a 9-bit signed constant to the stack pointer. The following table shows the THUMB
assembler syntax.
S
THUMB Assembler
0
ADD SP, #Imm
1
ADD SP, #-Imm
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.

3.32.2 INSTRUCTION CYCLE TIMES

All instructions in this format have an equivalent ARM instruction as shown in Table 3-20. The instruction cycle
times for the THUMB instruction are identical to that of the equivalent ARM instruction.
Examples
ADD
ADD
11
10
9
12
1
0
0
0
[6:0] 7-bit Immediate Value
[7] Sign Flag
0 = Offset is positive
1 = Offset is negative
Figure 3-42. Format 13
Table 3-20. The ADD SP Instruction
ARM Equivalent
ADD R13, R13, #Imm Add #Imm to the stack pointer (SP).
SUB R13, R13, #Imm
SP, #268
SP, #-104
8
7
6
0
S
Add #-Imm to the stack pointer (SP).
; 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.
; 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.
INSTRUCTION SET
0
SWord 7
Action
3-87

Advertisement

Table of Contents
loading

Table of Contents