汇编语言与C语言的理解

汇编语言的基础知识重点内容
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指针

猜你喜欢

转载自blog.csdn.net/dhauwd/article/details/73277908
今日推荐