ARM Technical Support Knowledge Articles

INCORRECT MOV INSTRUCTIONS GENERATED

Applies to: A51 Macro Assembler

Answer


Information in this article applies to:


QUESTION

I have written the following assembly code:

TEST1 EQU 80H
TEST2 EQU 0xC0

mov a,#test2
mov a,#test1
mov a,#0x20
mov a,#040h
mov a,test1
mov a,test2

But the assembled output is:

LOC  OBJ            LINE     SOURCE

  0080                 1     TEST1 EQU 80H
  0080                 2     TEST2 EQU 0xC0
                       3
0000 7480              4     mov a,#test2
0002 7480              5     mov a,#test1
0004 7480              6     mov a,#0x20
0006 7440              7     mov a,#040h
0008 E580              8     mov a,test1
000A E580              9     mov a,test2

Test2 has been located at 80H rather than C0H. The MOV A,#test2 and MOV A,#0x20 instructions have turned into MOV A,#test1 instructions.

ANSWER

This is a confirmed bug that has been corrected in Version 5.54 of the A51 Assembler. See below to obtain the updated files.

ATTACHED FILES

Request the files attached to this knowledgebase article.

Article last edited on: 2006-06-02 12:35:49

Rate this article

[Bad]
|
|
[Good]
Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential