load-store-multiple-register

load-store-multiple-register - CSE 379 ARM Instruction Set:...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
CSE 379 ARM Instruction Set: Multiple Register Transfer Load/Store Allow all registers, or a subset of the registers, to be transferred to or from memory in a single instruction Uses Block Copies Copying or moving a block of data from one place in memory to another Stack Manipulation Saving and restoring registers used in a subroutine Known as register spilling The link register (LR or r14) must be spilled if a subroutine calls another routine Subroutine parameter passing Storing temporary data Such as intermediate results Formats LDM{IA, IB, DA, or DB} rd, { register list } STM{IA, IB, DA, or DB} rd, { register list } Details Register List Individual registers can be listed, each separated by a comma Example: {r1, r2, r6, r12} Ranges can be specified Example: {r0-r5} Regardless of order listed, registers are transferred based on their number with lowest register number being assigned to the lowest memory address and the highest register number being assigned to the highest memory address Addressing Modes IA, IB, DA, DB are addressing modes They will be discussed shortly
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

This document was uploaded on 11/03/2011 for the course CSE 380 at SUNY Buffalo.

Page1 / 4

load-store-multiple-register - CSE 379 ARM Instruction Set:...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online