- Visual C++源码
- Visual Basic源码
- C++ Builder源码
- Java源码
- Delphi源码
- C/C++源码
- PHP源码
- Perl源码
- Python源码
- Asm源码
- Pascal源码
- Borland C++源码
- Others源码
- SQL源码
- VBScript源码
- JavaScript源码
- ASP/ASPX源码
- C#源码
- Flash/ActionScript源码
- matlab源码
- PowerBuilder源码
- LabView源码
- Flex源码
- MathCAD源码
- VBA源码
- IDL源码
- Lisp/Scheme源码
- VHDL源码
- Objective-C源码
- Fortran源码
- tcl/tk源码
- QT源码
LED_ASM.S
资源名称:arm_exam.rar [点击查看]
上传用户:mhstny
上传日期:2022-08-05
资源大小:793k
文件大小:2k
源码类别:
微处理器开发
开发平台:
Unix_Linux
- GPFCON EQU 0x56000050
- GPFDAT EQU 0x56000054
- GPFUP EQU 0x56000058
- EXPORT LEDTEST
- AREA LEDTESTASM,CODE,READONLY ;该伪指令定义了一个代码段,段名为LEDTESTASM,属性只读
- LEDTEST
- ;设置GPF4-GPF7为output
- ldr r0,=GPFCON
- ldr r1,[r0]
- bic r1,r1,#0xff00
- orr r1,r1,#0x5500
- str r1,[r0]
- ;禁止GPF4-GPF7端口的上拉电阻
- ldr r0,=GPFUP
- ldr r1,[r0]
- orr r1,r1,#0xf0
- str r1,[r0]
- looptest
- ;将数据端口F的数据寄存器的地址附给寄存器r2
- ldr r2,=GPFDAT
- ldr r3,[r2]
- bic r3,r3,#0xf0
- orr r3,r3,#0x70
- str r3,[r2] ;GPF7 output 0
- ldr r0,=0x2fffff
- bl delay ;调用延迟子程序
- ldr r3,[r2]
- bic r3,r3,#0xf0
- orr r3,r3,#0xb0
- str r3,[r2] ;GPF6 output 0
- ldr r0,=0x2fffff
- bl delay ;调用延迟子程序
- ldr r3,[r2]
- bic r3,r3,#0xf0
- orr r3,r3,#0xd0
- str r3,[r2] ;GPF5 output 0
- ldr r0,=0x2fffff
- bl delay ;调用延迟子程序
- ldr r3,[r2]
- bic r3,r3,#0xf0
- orr r3,r3,#0xe0
- str r3,[r2] ;GPF4 output 0
- ldr r0,=0x2fffff
- bl delay ;调用延迟子程序
- b looptest
- delay
- sub r0,r0,#1 ;r0=r0-1
- cmp r0,#0x0 ;将r0的值与0相比较
- bne delay ;比较的结果不为0(r0不为0),继续调用delay,否则执行下一条语句
- mov pc,lr ;返回
- END ;程序结束符