+ -
当前位置:首页 → 问答吧 → RealMDK下的arm汇编问题

RealMDK下的arm汇编问题

时间:2011-05-18

来源:互联网

Assembly code
;*************************************************
;It's my first arm-asm programm
;Hello arm!
;
;2011-05-17
;
;*************************************************
;constant define
;*************************************************
x            EQU    45;
y            EQU    20;
stack_top    EQU 0x30200000;

    export Reset_Handler

;**************************************************
;code
;**************************************************
    AREA test,CODE,READONLY
            
Reset_Handler
            ldr        sp,=stack_top
            mov        r0,#x
            str        r0,[sp]
            mov        r0,#y
            ldr        r1,[sp]

            add        r0,r0,r1
stop                              
    end


代码如上,编译没问题,但是debug的时候发现,反汇编窗口里显示这样的
Assembly code
0x0000000C  E3A00014  MOV       R0,#0x00000014
    26:                         ldr          r1,[sp] 
    27:  
0x00000010  E59D1000  LDR       R1,[R13]
    28:                         add          r0,r0,r1 
    29: stop                               
0x00000014  E0800001  ADD       R0,R0,R1
    30:         end
0x00000018  EAFFFFFE  B         0x00000018
0x0000001C  30200000  EORCC     R0,R0,R0
0x00000020  00000000  ANDEQ     R0,R0,R0
0x00000024  00000000  ANDEQ     R0,R0,R0
0x00000028  00000000  ANDEQ     R0,R0,R0
0x0000002C  00000000  ANDEQ     R0,R0,R0
0x00000030  00000000  ANDEQ     R0,R0,R0
0x00000034  00000000  ANDEQ     R0,R0,R0
0x00000038  00000000  ANDEQ     R0,R0,R0
0x0000003C  00000000  ANDEQ     R0,R0,R0
0x00000040  00000000  ANDEQ     R0,R0,R0
0x00000044  00000000  ANDEQ     R0,R0,R0
0x00000048  00000000  ANDEQ     R0,R0,R0
0x0000004C  00000000  ANDEQ     R0,R0,R0
0x00000050  00000000  ANDEQ     R0,R0,R0
0x00000054  00000000  ANDEQ     R0,R0,R0
0x00000058  00000000  ANDEQ     R0,R0,R0
0x0000005C  00000000  ANDEQ     R0,R0,R0


后面一直是ANDEQ这句。。。。。

然后run的时候,提示错误说是
*** error 65: access violation at 0x34000004 : no 'execute/read' permission

我的initial文件
Assembly code
FUNC void Setup (void) 
{ 
    // <o> Program Entry Point, .AXF File download Address 
    PC = 0x030000000; 
}     
map 0x00000000,0x00200000 read write exec //Map this memory to be read、write and exec 
map 0x30000000,0x34000000 read write exec //Map this memeory to be read,write and exec 
Setup();                                       // Setup for Running 
//g, main 

作者: piedgogo   发布时间: 2011-05-18

关注下

作者: mydo   发布时间: 2011-05-19

热门下载

更多