码迷,mamicode.com
首页 > 其他好文 > 详细

一步步点亮LED(三)---开始写代码

时间:2016-10-02 15:11:04      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:

下面是我写的点亮 LED 的代码:
 1 #define GPJ0CON 0xE0200240
 2 #define GPJ0DAT 0xE0200244
 3 
 4 .globl _start
 5 
 6 _start:
 7     ldr r0, =GPJ0CON
 8     ldr r1, =0x00111000
 9     str r1, [r0]
10     ldr r0, =GPJ0DAT
11     ldr r1, =~(0x1<<4)
12     str r1, [r0]
13 halt:
14     b halt
  上面代码中的 0xE0200240 和 0xE0200244 这两个地址值分别是特殊功能寄存器 GPJ0CON 和GPJ0DAT 的地址,在代码中操作这两个地址就是在操作这两个特殊功能寄存器。
  从代码中可以看出,汇编代码的第一个标号是 _start ,现在从链接程序的入口地址方面的知识来看就可以知道,_start 肯定是链接脚本指定的入口地址,我们也可以改掉它,使用其他标号,但必须使用特定的链接脚本。
  使用 .globl 伪指令来将 _start 标号声明为外部变量,以便 链接器 和 其他文件中的函数 可以使用。

一步步点亮LED(三)---开始写代码

标签:

原文地址:http://www.cnblogs.com/frank-yxs/p/5927419.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!