ARM汇编语言调用C语言实现1!+2!+...+10!,请大神指点

如题所述

第1个回答  2014-06-08
LEDH EQU 30H
LEDL EQU 31H
ORG 0000H
AJMP MAIN
ORG 0003H
SJMP INT_2
ORG 0013H
SJMP INT_1
MAIN:
MOV SP,#60H
MOV A,#0EEH
MOV P2,A
MOV LEDH,#0E0H

MOV LEDL,#0EH

SETB IT0
SETB IT1
SETB EA
SETB EX1
SETB EX0
SJMP $
INT_1:
MOV A,LEDL
SETB C
RLC A
` ANL A,#0FH
ORL A,LEDH
MOV P2,A
JNB ACC.3,INT_1E
MOV LEDL,#0EH
INT_1E:
RETI
INT_2:
MOV A,LEDH
SETB ACC.3
RL A
ANL A,#0F0H
ORL A,LEDL

MOV P2,A
JNB P2.7,INT_2E
MOV LEDH,#0E0H
INT_2E:
RETI
END

用arm的汇编语言,求1到50的累加和,记住是arm下的汇编语言
将一个存储空间设置为1,预先留两个存储空间,一个用来做加数,一个用来做和数。这个程序需要循环,50次。第一条指令是设置一个循环标示,第二条指令存将初值为1的存储空间的数取出存入加数的存储空间。第三条指令初值为1的那个空间自增1,相加后存到和数中去。第四条指令,判断循环是否需要结束。

arm常用几个汇编语言的程序
LOOP2 CMP R3,R1 ;比较R1和R3,若R1<r3,c=0 strcc="" r2,[r3],#4="" ;若c="0,将R2中数据保存到内存单元R3中,且R3=R3+4" bcc="" loop2="" b="" main="" ;跳转到主程序="" end="" ;汇编结束=""四、程序清单(一) C 语言调用汇编的参考程序 define uint8 unsigned c...

arm 汇编高手进! 使用arm汇编指令 实现for循环结构
int GetSum(int val) \/\/使用汇编求1+2+3+...+val的值{ int sum = 0; __asm__ __volatile__( "MOV R5 , %1\\n"\/\/val放入寄存器r5 "MOV R1 , #0\\n" \/\/sum = 0 "MOV R2 , #1\\n"\/\/i = 1 "LOOP:\\n" " ADD R1 , R1 ,R2\\n" \/\/sum = sum + i " ADD R2 , R2 ,#1\\n"...

用ARM汇编语言设计程序实现求和1+2+3+4+……+100 能教我吗
MOV DS,AX ;请在这里添加您的代码 PART1: MOV AH ,01H ;键盘输入0~100任意数 INT 21H CMP AL,0DH JZ PART2 SUB AL,'0'PUSH AX MOV AX,RE SHL AX,1 PUSH AX MOV CL,2 SHL AX,CL POP BX ADD AX,BX POP BX MOV BH,0 AD...

如何在汇编语言中嵌入c语言实现求和1+2+3+、、、+100
一般用的少,在ARM上编程经常会用到 把求和1+2+3+、、、+100写成一个C语言函数,然后保存到头文件里 在汇编包含C的头文件文件,然后在汇编中需要的地方就可以调用函数了,调用方法跟调用 汇编函数一样。 我认为这种方法最简单。

ARM单片机可以用汇编语言编程吗
ARM单片机程序可以用汇编语言进行编写。除去协处理器(高级的arm单片机才具有)的指令,常用的指令大致为MSR、MRS、LDR、STR、LDM、STM,ORR、BIC,TEST, ADD, SUB,MUL等指令。如果说想写一写汇编代码玩一下的话还行。原则上能用C语言则一定不会使用汇编。例如UBOOT的引导代码,linux内核的启动代码都...

...主程序用C语言实现,整数阶乘子程序用ARM汇编语言编写
include<stdio.h> int funt(int n){ if(n==1)return 1;else return (n*funt(n-1));} int main(){ int i;long sum=0;for(i=1;i<10;i=i+2){sum=sum+funt(i);} printf("和是多少:%d\\n",sum);return 0;}

大家来帮我看看这个ARM 汇编程序,我不懂
code16doAdd 跳回刚才地址的前一个地址doAdd,其实程序是从这里才正式分支的,而且这段程序是Thumb程序,从这里才正式执行分支;bx lr 返回分支程序;翻译成C语言,大概是这个意思 void fun2(void){ } void fun1(void){ fun2();\/\/刚才我解释的那堆话,就相当于调用了一个空的函数 } ...

ARM如何实现汇编程序嵌套
第一个实验是关于嵌入式编程的,这个实验目的一方面是为了让我们熟悉ARM下编程的编译环境ADS和调试器ATX,另一方面是让我们掌握如何将c语言和汇编语言在实际编程中相互调用。经过这两天靠自己不断的摸索,终于掌握了如何在编译环境中进行ARM编程,另外,还学会了在c中调用汇编程序的方法,以及如何通过linux...

控制单片机学习 c语言 和汇编语言有什么不同?
其实C语言最终是转换成汇编语言,汇编语言转换成对应的机器语言。使用C语言写程序会更容易一些,效率接近汇编语言。很多单片机或ARM的启动程序使用汇编来写的,主程序就用C语言。因为汇编效率高;而C语言移植性好,比较容易实现复杂的结构和算法。很多嵌入式系统主要代码都是用C语言写的,如Linux(嵌入式)...

相似回答
大家正在搜