Raspberry Pi Assembly Language RASPBIAN Beginners by Bruce Smith

Raspberry Pi Assembly Language RASPBIAN Beginners by Bruce Smith

Author:Bruce Smith
Language: eng
Format: epub
Tags: linux, arm, raspberry pi, debian, assembler, assembly language, machine code, raspbian
Publisher: Bruce Smith


Notes the address of the specified label.

Calculates the offset between the two memory positions.

It will then use this information as part of an appropriate instruction, normally ADD or SUB, to reconstruct the location of the address or label containing the information. It’s worth looking at what we write in an example program and what actually gets assembled to illustrate the point. Look at the listing given in Program 15a:

Program 15a. Use of the ADR directive.

/**** using the ADR directive ****/

.global _start

_start:

ADR R0, value

MOV R1, #15

_Exit:

MOV R7, #1

SWI 0

value:

.word 255

Program 15a does nothing really, other than point ADR at the data label and show R0 as the destination register. When this is assembled it will produce something similar to what is shown in Figure 15b. If you use GDB and enter:

x/4i _start

the ADR directive has not assembled an address. It has assembled a relative address that will be used as an offset for the Program Counter. Here the ADD instruction is used to add 8 to the PC, the address of value which comes right after the last instruction.



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.