首页 > 代码库 > 一步步点亮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(三)---开始写代码
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。