Samsung S3C2440A User Manual

Page 78

Advertising
background image

S3C2440A RISC MICROPROCESSOR

ARM INSTRUCTION SET

3-21

ASSEMBLY SYNTAX

••••

MRS - transfer PSR contents to a register
MRS{cond} Rd,<psr>

••••

MSR - transfer register contents to PSR
MSR{cond} <psr>,Rm

••••

MSR - transfer register contents to PSR flag bits only
MSR{cond} <psrf>,Rm

The most significant four bits of the register contents are written to the N,Z,C & V flags respectively.

••••

MSR - transfer immediate value to PSR flag bits only
MSR{cond} <psrf>,<#expression>

The expression should symbolise a 32 bit value of which the most significant four bits are written to the N,Z,C and
V flags respectively.

Key:

{cond}

Two-character condition mnemonic. See Table 3-2..

Rd and Rm

Expressions evaluating to a register number other than R15

<psr>

CPSR, CPSR_all, SPSR or SPSR_all. (CPSR and CPSR_all are synonyms as are SPSR

and

SPSR_all)

<psrf>

CPSR_flg

or

SPSR_flg

<#expression>

Where this is used, the assembler will attempt to generate a shifted immediate 8-bit field

to match the expression. If this is impossible, it will give an error.

EXAMPLES

In User mode the instructions behave as follows:

MSR

CPSR_all,Rm

; CPSR[31:28] <- Rm[31:28]

MSR

CPSR_flg,Rm

; CPSR[31:28] <- Rm[31:28]

MSR

CPSR_flg,#0xA0000000

; CPSR[31:28] <- 0xA (set N,C; clear Z,V)

MRS

Rd,CPSR

; Rd[31:0] <- CPSR[31:0]

In privileged modes the instructions behave as follows:

MSR

CPSR_all,Rm

; CPSR[31:0] <- Rm[31:0]

MSR

CPSR_flg,Rm

; CPSR[31:28] <- Rm[31:28]

MSR

CPSR_flg,#0x50000000

; CPSR[31:28] <- 0x5 (set Z,V; clear N,C)

MSR

SPSR_all,Rm ;

SPSR_<mode>[31:0]<-

Rm[31:0]

MSR

SPSR_flg,Rm

; SPSR_<mode>[31:28] <- Rm[31:28]

MSR

SPSR_flg,#0xC0000000

; SPSR_<mode>[31:28] <- 0xC (set N,Z; clear C,V)

MRS

Rd,SPSR

; Rd[31:0] <- SPSR_<mode>[31:0]

Advertising