f1c100s入坑笔记(4)-uboot学习stepbystep-1

本文是Linux ARM汇编的学习笔记,重点介绍了Linux下汇编指令的特点,如寄存器、行结构、标号、分段以及入口点的定义。通过了解这些基础知识,为后续的uboot学习打下基础。
摘要由CSDN通过智能技术生成

一. 分析uboot之前先简单学习一下Lin参考下的汇编指令,参考 http://blog.sina.com.cn/s/blog_59b189220100au1k.html

1. Linux汇编与windows的不同

  • (1)寄存器名上要加%,例如  : pushl  %eax
  • (2)立即数前要加$, 例如: pushl $1
  • (3)源操作数在左边,目标操作数在右边,例如: add $1, %eax
  • (4)操作数的字长由最后一个字符决定(b=8bit,w=16bit,l=32bit), 例如 move val, %al
  • (5)绝对转移和调用指令(jump/call)的操作数前要加*号做前缀

2. Linux汇编的行结构

  • 任何汇编行都是如下结构:
    [:] [} @ comment
    [:] [} @ 注释
  • Linux ARM 汇编中,任何以冒号结尾的标识符都被认为是一个标号,而不一定非要在一行的开始。

3. Linux汇编的标号

  • 标号只能由a~z,A~Z,0~9,“.”,_等字符组成。
  • 标号为0~9的数字时为局部标号,局部标号可以重复出现,使用方法如下:
    标号f: 在引用的地方向前的标号
    标号b: 在引用的地方向后的标号
    例子:
    1:
      subs r0,r0,#1 @每次循环使r0=r0-1
      bne 1f @跳转
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值