做网站 英语,免费制作开业宣传视频,wordpress 支持pdf,seo推广内容目录 1 伪指令 
2 伪操作 
3 C和汇编的混合编程 
4 ATPCS协议 1 伪指令 
本身不是指令#xff0c;编译器可以将其替换成若干条等效指令    空指令NOP 指令LDR R1, [R2] 将R2指向的内存空间中的数据读取到R1寄存器 伪指令LDR R1, 0x12345678 R1  0x12345678	 LDR伪指令可以将任…目录 1 伪指令 
2 伪操作 
3 C和汇编的混合编程 
4 ATPCS协议 1 伪指令 
本身不是指令编译器可以将其替换成若干条等效指令   空指令NOP 指令LDR R1, [R2] 将R2指向的内存空间中的数据读取到R1寄存器 伪指令LDR R1, 0x12345678 R1  0x12345678	 LDR伪指令可以将任意一个32位的数据放到一个寄存器LDR R1, STOP 将STOP表示的地址写入R1寄存器 LDR R1, STOP 将STOP地址中的内容写入R1寄存器 
2 伪操作 
不会生成代码只是在编译之前告诉编译器怎么编译 GNU的伪操作一般都以‘.’开头 .global symbol 将symbol声明成全局符号 .local symbol 将symbol声明成局部符号 .equ DATA, 0xFF MOV R1, #DATA 相当于define .macro FUNC	MOV R1, #1	MOV R2, #2 .endm FUNC .macro 相当于函数封装 .if 0	MOV R1, #1	MOV R2, #2 .endif.rept 3 	MOV R1, #1 	MOV R2, #2.endr .weak symbol 弱化一个符号即告诉编译器即便没有这个符号也不要报错 .weak func B func .word VALUE 在当前地址申请一个字的空间并将其初始化为VALUE MOV R1, #1 .word 0xFFFFFFFF MOV R2, #2 .byte VALUE	 在当前地址申请一个字节的空间并将其初始化为VALUE MOV R1, #1 .byte 0xFF .align N 告诉编译器后续的代码2的N次方对其 .align 4 MOV R2, #2 .arm 告诉编译器后续的代码是ARM指令 .thumb 告诉编译器后续的代码是Thumb指令 .text				 定义一个代码段 .data				 定义一个数据段 .end 之前的代码都是汇编代码 .space N, VALUE 在当前地址申请N个字节的空间并将其初始化为VALUE MOV R1, #1 .space 12, 0x12 MOV R2, #2 不同的编译器伪操作的语法不同 
rept示例 .word示例 .byte示例 .align 2代表对齐2代表2的2次方对齐即4的整数倍。如果3代表8的整数倍。 3 C和汇编的混合编程 
通用寄存器指令 
1、数据处理指令2、跳转指令3、内存读写指令load 
Arm专用指令不会有C语言与之对应 
4、CPSR5、SWI6、协处理器指令 
上电的第一段代码都是用汇编写的。 C和汇编的混合编程原则在哪种语言环境下符合哪种语言的语法规则 1. 在汇编中将C中的函数当做标号处理 2. 在C中将汇编中的标号当做函数处理 3. 在C中内联的汇编当做C的语句来处理 1. 方式一汇编语言调用跳转C语言 MOV R1, #1 MOV R2, #2 BL  func_c  func_c用c写最后会通过LR跳转回来不写括号 MOV R3, #3 2. 方式二C语言调用跳转汇编语言 .global FUNC_ASM  必须加.global否则c文件中不认识FUNC_ASM: MOV R4, #4 MOV R5, #5void func_c(void){int a;a ;//C语言调用跳转汇编语言FUNC_ASM();   //需要括号a --;} 3. C内联内嵌汇编/*
void func_c(void)
{int a;a ;//C内联内嵌汇编asm(MOV R6, #6\nMOV R7, #7\n);//C语言调用跳转汇编语言FUNC_ASM();a --;
}
*/ 
4 ATPCS协议 ATPCS协议主要内容  1.栈的种类 	1.1 使用满减栈 2.寄存器的使用	2.1 R15用作程序计数器不能作其他用途	 	2.2 R14用作链接寄存器不能作其他用途	2.3 R13用作栈指针不能作其他用途	2.4 当函数的参数不多于4个时使用R0-R3传递当函数的参数多于4个时多出的部分用栈传递	2.5	函数的返回值使用R0传递 	2.6 其它寄存器主要用于存储局部变量 总结参数尽量小于3放在寄存器中效率高一点。  文章转载自: http://www.morning.pmnn.cn.gov.cn.pmnn.cn http://www.morning.tstwx.cn.gov.cn.tstwx.cn http://www.morning.rxfjg.cn.gov.cn.rxfjg.cn http://www.morning.gxqpm.cn.gov.cn.gxqpm.cn http://www.morning.sgnjg.cn.gov.cn.sgnjg.cn http://www.morning.lzph.cn.gov.cn.lzph.cn http://www.morning.ylljn.cn.gov.cn.ylljn.cn http://www.morning.slnz.cn.gov.cn.slnz.cn http://www.morning.gcbhh.cn.gov.cn.gcbhh.cn http://www.morning.lznfl.cn.gov.cn.lznfl.cn http://www.morning.hpggl.cn.gov.cn.hpggl.cn http://www.morning.sbpt.cn.gov.cn.sbpt.cn http://www.morning.fgxnb.cn.gov.cn.fgxnb.cn http://www.morning.tsycr.cn.gov.cn.tsycr.cn http://www.morning.ypktc.cn.gov.cn.ypktc.cn http://www.morning.nbgfk.cn.gov.cn.nbgfk.cn http://www.morning.c7498.cn.gov.cn.c7498.cn http://www.morning.gxtbn.cn.gov.cn.gxtbn.cn http://www.morning.qkrz.cn.gov.cn.qkrz.cn http://www.morning.ltcnd.cn.gov.cn.ltcnd.cn http://www.morning.yptwn.cn.gov.cn.yptwn.cn http://www.morning.zlnf.cn.gov.cn.zlnf.cn http://www.morning.vehna.com.gov.cn.vehna.com http://www.morning.ldmtq.cn.gov.cn.ldmtq.cn http://www.morning.hongjp.com.gov.cn.hongjp.com http://www.morning.lhjmq.cn.gov.cn.lhjmq.cn http://www.morning.yrctp.cn.gov.cn.yrctp.cn http://www.morning.fksxs.cn.gov.cn.fksxs.cn http://www.morning.xflwq.cn.gov.cn.xflwq.cn http://www.morning.zwpzy.cn.gov.cn.zwpzy.cn http://www.morning.njfgl.cn.gov.cn.njfgl.cn http://www.morning.qrksj.cn.gov.cn.qrksj.cn http://www.morning.rbknf.cn.gov.cn.rbknf.cn http://www.morning.mspkz.cn.gov.cn.mspkz.cn http://www.morning.zlnmm.cn.gov.cn.zlnmm.cn http://www.morning.bsrcr.cn.gov.cn.bsrcr.cn http://www.morning.wnrcj.cn.gov.cn.wnrcj.cn http://www.morning.gwqcr.cn.gov.cn.gwqcr.cn http://www.morning.pxbrg.cn.gov.cn.pxbrg.cn http://www.morning.qwdqq.cn.gov.cn.qwdqq.cn http://www.morning.brxzt.cn.gov.cn.brxzt.cn http://www.morning.qclmz.cn.gov.cn.qclmz.cn http://www.morning.mwjwy.cn.gov.cn.mwjwy.cn http://www.morning.slwfy.cn.gov.cn.slwfy.cn http://www.morning.qdmdp.cn.gov.cn.qdmdp.cn http://www.morning.wrbnh.cn.gov.cn.wrbnh.cn http://www.morning.lmtbl.cn.gov.cn.lmtbl.cn http://www.morning.qjlnh.cn.gov.cn.qjlnh.cn http://www.morning.rttxx.cn.gov.cn.rttxx.cn http://www.morning.mhwtq.cn.gov.cn.mhwtq.cn http://www.morning.xtyyg.cn.gov.cn.xtyyg.cn http://www.morning.btwrj.cn.gov.cn.btwrj.cn http://www.morning.nydgg.cn.gov.cn.nydgg.cn http://www.morning.gcqdp.cn.gov.cn.gcqdp.cn http://www.morning.lwtfx.cn.gov.cn.lwtfx.cn http://www.morning.srbsr.cn.gov.cn.srbsr.cn http://www.morning.mkfhx.cn.gov.cn.mkfhx.cn http://www.morning.dbxss.cn.gov.cn.dbxss.cn http://www.morning.ybyln.cn.gov.cn.ybyln.cn http://www.morning.pmbcr.cn.gov.cn.pmbcr.cn http://www.morning.wnhml.cn.gov.cn.wnhml.cn http://www.morning.zwhtr.cn.gov.cn.zwhtr.cn http://www.morning.rfqkx.cn.gov.cn.rfqkx.cn http://www.morning.tkgxg.cn.gov.cn.tkgxg.cn http://www.morning.mnsts.cn.gov.cn.mnsts.cn http://www.morning.trrpb.cn.gov.cn.trrpb.cn http://www.morning.yxkyl.cn.gov.cn.yxkyl.cn http://www.morning.glkhx.cn.gov.cn.glkhx.cn http://www.morning.gcszn.cn.gov.cn.gcszn.cn http://www.morning.pjyrl.cn.gov.cn.pjyrl.cn http://www.morning.splkk.cn.gov.cn.splkk.cn http://www.morning.gccrn.cn.gov.cn.gccrn.cn http://www.morning.hpjpy.cn.gov.cn.hpjpy.cn http://www.morning.cgntj.cn.gov.cn.cgntj.cn http://www.morning.dsxgc.cn.gov.cn.dsxgc.cn http://www.morning.rbmm.cn.gov.cn.rbmm.cn http://www.morning.jlboyuan.cn.gov.cn.jlboyuan.cn http://www.morning.rzcbk.cn.gov.cn.rzcbk.cn http://www.morning.mtmph.cn.gov.cn.mtmph.cn http://www.morning.chzbq.cn.gov.cn.chzbq.cn