Keil中arm的配置

配置







DebugInRam.ini

//*** <<<  Use Configuration !disalbe! Wizard in Context Menu >>>  ***

FUNC void Setup (void)
{
    // <o> Program Entry Point
    pc = 0x00000000;
}    
map 0x0c000000, 0x0c800000 read write

Setup();                             // Setup for Running

代码

一个简单的汇编代码(空4格)

    AREA test,CODE,READONLY
    ENTRY
start
    MOV r0, #10
    MOV r1, #3
    ADD r0, r0, r1
    END

第二个

        AREA Example,CODE,READONLY ;声明代码段Example

        ENTRY ;标识程序入口

        CODE32 ;声明32位ARM指令

START  MOV R0,#0 ;设置参数

       MOV R1,#10

             BL  ADD_SUB;调用子程序ADD_SUB

LOOP        B LOOP ;跳转到LOOP

ADD_SUB

        ADD R0,R0,R1 ;R0 = R0 + R1

        MOV PC,LR ;子程序返回

        END ;文件结束

标号一定顶格写,汇编指令一定不能顶格写
汇编未操作AREA 定义一个段,段名为EXAMPLE,CODE表明为代码段,属性为只读(READONLY),ENTRY为程序入口,END表明源代码结束

ldr


  • 读取标号loop的地址放入文字池,pc为执行时pc的地址,0x14为最后一句指定地址-0x4
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容