ARM汇编器与GCC汇编器支持的汇编语言差别
2012-12-18 21
问题:请解释下面的一小段汇编语言程序: __main EXPORT BootReset BootReset B resetvec reqset IMPORT BootEntry IMPORT |Image$$RO$$Limit| AREA BOOTROM, CODE, READONLY LDR r0, =|Image$$RO$$Limit BEQ 1 ldr pc, [pc,#-&F20] 回答:上面是ARM公司编译器支持的汇编语言,移植成gcc支持的汇编语言为: _ .. [查看全文]
PWM控制LED渐亮渐灭的51汇编程序
2012-12-10 13
;设计思路:用定时器中断产生最小时间单位T0,每m个T0组成一个子周期T10,其中前n个T0为LED导通时间,即Ton=n*T0,则Toff=(m-n)*T0 ;每X个T10组成一个母周期T20,其中前y个T10为有效控制时间,后续的(x-y)个T10令LED熄灭或者子周期占空比调至最小。 ;适当调节n/m和x/y的比例使显示效果达到最佳。 ;以下是刚刚调试 .. [查看全文]
51单片机汇编模拟串口通信程序
2012-12-06 32
汇编编写的模拟串口通信程序T2作为波特率控制UART_RXD 是硬中断0或1口,如果能进入中断,说明该线有一个起始位产生,进入中断后调用下面的接收程序。退出硬中断之前还需要将硬中断标志重新复位。UART_TXD 是任何其它IO即可。UART_SEND: PUSH IE PUSH DPH PUSH DPL PUSH PSW PUSH 00H .. [查看全文]
关于arm汇编中的align
2012-11-27 taoyuetao 11
经常会看到arm-linux汇编中有如下的指令: .align n 它的含义就是使得下面的代码按一定规则对齐,.align n 指令的对齐值有两种方案,n 或 2^n ,各种平台最初的汇编器一般都不是gas,采取方案1或2的都很多,gas的目标是取代原来的汇编器,必然要保持和原来汇编器的兼容,因此在gas中如何解释 .align指令会显得有些混乱,原因在于 .. [查看全文]
51单片机汇编程序集
2012-11-26 21
1、片内RAM初始化子程序 2、片外RAM初始化子程序 3、片外RAM初始化子程序(双字节个单元) 4、内部RAM数据复制程序 5、外部RAM数据复制程序 6、外部RAM数据复制程序 7、外部RAM数据复制到内部RAM程序 8、限幅滤波程序 9、中位值滤波程序 10、N点算术平均滤波 11、N点加权平均滤波 12、一阶加权滞后滤波程序 13、双字节取补程 .. [查看全文]
x25165读写程序(汇编)
2012-11-10 19
;x25165初始化应用程序 org 0000h start: mov sp,#60h acall wren acall delay mov 30h,#30h ;状态字1.4秒 acall wrsr ;调写状态子程序 mov p0,#0feh ;p1口送“1” lcall delay ;延时 mov p0,#0fch ;p1口送“2” ;停 weep: mov 30h,#00 mov 31h,#01h mov 32h,#0fh .. [查看全文]
PIC16F877单片机与PC机通讯的汇编程序
2012-10-25 9
;PIC16F877单片机程序 LISTP=16F876 #INCLUDEP16F876.INC CBLOCK 0X24 COUNT TEMP ENDC ORG0X0000 NOP STARTGOTOMAIN ORG0X020 MAINMOVLW0X30;将RAM单元初始化 MOVWFFSR BCFSTATUS,RP0 MOVLW0X22 MOVWFCOUNT INTRAMMOVFCOUNT,0 MOVWFINDF INCFCOUNT,1 INCFFSR,1 BTFSSFSR,7 GOTO .. [查看全文]
PID控制的51汇编程序
2012-10-24 77
;//************************************************************************************************************** ;//功能: 电机控制的PID(积分分离)PID(void)执行时间少于70uS/932-12MHz ;//设 计 者: 牟联树 ;//日期: 2003.12.28 ;//版 本 号: 1.0 ;//申明: ;//***** .. [查看全文]
ARM 汇编分支结构的小技巧
2012-10-06 23
最近学了点关于ARM的汇编中分支结构的小技巧,拿出来跟大家分享一下。如果您几百年前就看过了或早就精通了,不要笑话俺,俺是初学者:)如果大家也像偶一样是新手不妨看一下,应该没有坏处. 计算r1和r2的绝对值 对应的C伪指令为: if ( r1>r2 ) r0 = r1+r2; else r0 = r1-r2; 对应的ARM汇编为: cmp r1, r2 subgt r0, r1, r2 sublt r .. [查看全文]
keil c6.20c直接嵌入汇编的方法
2012-10-03 9
// #ifdef ASM unsigned long shiftR1(register unsigned long); #else extern unsigned long shiftR1(register unsigned long); #endif //end of asm.h // #define ASM #include #include #pragma OT(4,speed) unsigned long shiftR1(register unsigned long x) { #pragma asm clr c mov a,r4 rrc a mov r4,a mov a,r5 rrc a mov r5,a m .. [查看全文]
89S51单片机PT2221红外解码汇编程序
2012-09-23 83
;**** ;name: PT2221红外解码V1.0 ;device: pt2221红外编码+89S51单片机解码+红外一体化接收头 ;Copyright (c) 2007-2008 张兴电子设计工作室技术开发部 ;author: 张兴 ;web: http://mcu.5d6d.com ;date: 2007.7.4---14:44 ;description: PT2221发送的红外编码最前面为13.5ms的引导码,而后为32位的数据,32位数据的 .. [查看全文]
用Keil在C中嵌入汇编
2012-08-09 52
很多用C语言编单片机程序的朋友,有时候会碰上"精确延时",而用C又要搞清楚它的编译,往往在这个时候就想到了用汇编来编写延时,具体怎么在C中嵌入汇编呢?其实也比较简单,如下图,在C文件中要嵌入汇编的地方用#pragma asm和#pragma endasm分隔开来,这样编译时KEIL就知道这中间的一段是汇编了。 在有加入汇编的文件中 .. [查看全文]

本站简介 | 意见建议 | 免责声明 | 版权声明 | 联系我们
CopyRight@2024-2039 嵌入式资源网
蜀ICP备2021025729号