《2022年学习小结—arm简单汇编资料 .pdf》由会员分享,可在线阅读,更多相关《2022年学习小结—arm简单汇编资料 .pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1汇编( ARM7 简单汇编总结)一 内嵌汇编先认识几个指令1,MOV2LDRSTRLDR 伪指令名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - 2Eg先对地址进行宏定义,再使用LDR 伪指令装载地址到R0,再进行其他操作。再例如下面程序LEDONEQU 0 xE002801CLED_OnMOV R2,LRLDR R1,=LEDONSTR R0,R1MOV PC,R23.SUBS名师资料总结 - - -精品资料欢迎下载 - -
2、- - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 4 页 - - - - - - - - - 34. BNE跳转指令SUBSR2,R2,#1BNELOOP(执行R2-1,执行完后,若R2=0 则跳到 LOOP 处,否则继续执行 R2-1 直到为 0)下面是 delay 函数的内嵌汇编void delay(unsigned long time)_asmLOOP2:MOV R1, #0 x50000LOOP1:SUBS R1,R1,1BNE LOOP1SUBS R0,R0,1BNE LOOP2函数参数自动传到寄存器R0二,纯汇
3、编(简单的函数c 调用汇编 )注意: 1,函数名直接写出(只写函数名,不写形参)2,开头结尾写上MOV R0, LRMOV PC,R0这样函数调用结束后能回到调用处执行!3,函数名和LOOP 等要顶格写,并且loop 不带冒号:4,一般使用LDR 伪代码LDR R0,=opre5,在 C 文件里要进行导出声明如: extern void delay(uint32 num);名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - - 4在 S 文件里要进行导出声明:EXPORTdelay下面是一个简单的函数delayMOVR2, LRLOOP2MOV R1, #0 x50000LOOP1SUBS R1,R1,#1BNE LOOP1SUBS R0,R0,#1BNE LOOP2MOVPC, R2LED_OffMOV R2,LRLDR R1,=LEDOFFSTR R0,R1MOV PC,R2名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -