Arm Community
Site
Search
User
Site
Search
User
Support forums
Architectures and Processors forum
Instruction width selection - forward/external reference
State
Suggested Answer
Locked
Locked
Replies
3 replies
Answers
2 answers
Subscribers
352 subscribers
Views
3443 views
Users
0 members are here
Thumb2
Options
Share
More actions
Related
How was your experience today?
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion
Instruction width selection - forward/external reference
Osccon
over 7 years ago
Hi,
I am learning the Thumb 2 instruction set and at the moment I am trying to understand when to use the instruction width specifier.
e.g.:
Fullscreen
1
ldmia.w sp!,{r3,lr}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ldmia.w sp!,{r3,lr}
I understand sometimes it is necessary to make some instructions 32 bit wide because the content/addresses is/are not fitting into the 16 bit encoding.
But reading the
ARM Keil explanation
about it I am wondering what exactly is meant by
internal/external reference
?
And more precisely when I have to worry about adding
.w
and when not?
Top replies
42Bastian Schick
over 7 years ago
+1
suggested
In general, the assembler will take care. You only need to worry about it if you want to force a special instruction. I suggest to read the relevant reference manual as it lists all opcodes and the syntax...
Joseph Yiu
over 7 years ago
+1
suggested
In the case of using Branch instructions in assembly programming, if the branch target is in a different object file (i.e. extern), then you might need to specify 32-bit version of branch instructions...
0
Quote