首页 > 代码库 > 一步步点亮LED(三)---开始写代码

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

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

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