⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 led_asm.s

📁 三星s3c2410arm thumb指令混合汇编实验源码
💻 S
字号:
GPFCON   EQU    0x56000050   
GPFDAT   EQU    0x56000054
GPFUP    EQU    0x56000058	

	EXPORT LEDTEST
 	AREA  testasm,CODE,READONLY   
    CODE32
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]

    ;将数据端口F的数据寄存器的地址附给寄存器r2
    ldr  r2,=GPFDAT

ledon
    ldr  r3,[r2]
    bic  r3,r3,#0x80
    str  r3,[r2]           ;GPF7 output 0,灯亮
    ldr  r0,=0x1fffff
    
    adr  r4,delay1+1
    bx   r4                ;调用延迟子程序    

ledoff
    ldr  r3,[r2]
    orr  r3,r3,#0x80
    str  r3,[r2]           ;GPF7 output 1
    ldr  r0,=0x1fffff
    
    adr  r4,delay2+1
    bx   r4                ;调用延迟子程序


    AREA  testasm,CODE,READONLY
    CODE16
delay1
	sub r0,r0,#1              ;r0=r0-1            
	cmp r0,#0x0               ;将r0的值与0相比较
	bne delay1                ;比较的结果不为0(r0不为0),继续调用delay1,否则执行下一条语句
	
	ldr r1,=ledoff                ;返回
    bx  r1
    
delay2
	sub r0,r0,#1              ;r0=r0-1            
	cmp r0,#0x0               ;将r0的值与0相比较
	bne delay2                ;比较的结果不为0(r0不为0),继续调用delay2,否则执行下一条语句
	
	ldr r1,=ledon           ;返回
    bx  r1 
    
    END                       ;程序结束符 
    
     

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -