COMPUTER ORGANIZATION & ARCHITECTURE
LAB (CSBS-302)
TANYA GARG
ASSISTANT PROFESSOR
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING
INTRODUCTION TO ARM PROGRAMMING
The first ARM processor was developed by Acorn Computers Limited, Cambridge,
England (October 1983 - April 1985).
ARM stands for Advanced RISC Machine and initially it was known as Acorn RISC
Machine.
ARM7 is a 32 bit RISC Processor Architecture developed by ARM Corporation.
ARM Instruction set consists of following features:
Load/Store Architecture
32 bit instructions
32 bit, 16 bit, 8 bit data
32 bit addresses
37 Registers
(30 - General Purpose registers out of which 15 are visible, 6 special purpose and 1 Program
Counter)
INTRODUCTION (CONTD…)
ARM is a RISC machine, i.e., it is a Reduced Instruction Set Computer, and as such, it
includes all the features of a RISC system:
A large array of uniform registers
A load/store model of data processing where operations can only be performed on
registers and not on the memory
A small number of addressing modes
Uniform, fixed-length instructions (32 bits)
NEED OF ARM PROGRAMMING
Earlier processors had 16 bit wide address bus. That microprocessors could address
maximum 2^16 memory locations.
ARM processor has 32 bit wide address bus which can address 2^32 memory
locations.
In older computers there was 8 bit wide data bus but in ARM processor, data bus is
32 bit wide.
Each location in ARM processor is a word that is 4 bytes long that means 32 bits.
ASSEMBLY DIRECTIVES OF ARM
Name of Directive Purpose
AREA Make a new block of Data or Code
ENTRY Declare an entry point where the execution starts
ALIGN Align Data or Code to particular boundary
DCB Allocate one or more bytes of data (8 bits)
DCD Allocate one or more words of data (32 bits)
DCW Allocate one or more half word of data (16 bits)
SPACE Allocate a particular size
FILL Allocate a block of memory and fill with a given value
EQU Give a symbol name to a numeric constant
RN Give a symbol name to a Register
EXPORT Declare a symbol and make it referable by other source file
IMPORT Provides a symbol defined outside the current resource file
INCLUDE/GET Include a separate source file within the current source file
PROC Declare the start of a procedure
ENDP Declare the end of a procedure
END Designate the end of source file