汇编语言的基础知识重点内容
0、学习汇编语言的意义:
基本上所有的处理器的终端,在启动代码的时候都是要使用到汇编语言的
汇编语言的效率可以很高
1、汇编语言框架
.section .data
<初始化的数据>
.section .bss
<未初始化的数据>
.section .text //代码段
.global __start
__start:
<汇编代码>
对应于C语言的:
Int main()
{
Return 0;
}
2、简单的赋值操作
C语言:
int a,b;
a = 1;
b = 3;
b = a-2;
汇编语言:
mov r1,#1
sub r1,r2,#2
3、选择操作
C语言:
if(a>b)
a= a+b;
else
a= a-b;
汇编语言:
Mov r1 ,#10
Mov r2,#8
Cmp r1,r2
Bgt branch1
Add r3,r1,r2
//比较的结果都是在程序状态寄存器里面的
branch1:
Sub r3,r1,r2
End
Nop
4、循环语句:
C语言
int i = 0;int j = 0;
for(;i<10;i++){
j++;
}
return 0;
汇编语言
Init
Mov r1,#0
Mov r2,#0
LOOP
CMP r1,#10
BHS LOOP_END
ADD r2,#1
ADD r1,#1
B LOOP
LOOP_END
NOP
END
5、调用简单的函数
汇编语言
Bl funcl
BL 的指令:实现一个函数
Funcl:
Mov r1,#2
Mov r2,#3
Mov pc //需要修改我们的PC指针