当前位置:  技术问答>linux和unix

请问一下下面的汇编代码是哪种风格的?

    来源: 互联网  发布时间:2015-10-30

    本文导语:  #include  .text .align #define STACK             0x22000000 /* ------------------------ List of Exported resources -------------------------*/ .globl __entry,_entry .globl __stext,_stext .globl _start,start /*----------------------------------------...

#include 

.text
.align

#define STACK             0x22000000

/* ------------------------ List of Exported resources -------------------------*/
.globl __entry,_entry
.globl __stext,_stext
.globl _start,start

/*------------------------------------------------------------------------------*/
/*  Define the vector table.*/
/*  The reset vector jumps to the handler code.*/
/*  All others just dead loop on themselves!*/
/*------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------*/
/*    InitReset. This code is executed with the FLASH at address 0.*/
/*------------------------------------------------------------------------------*/
startoftext:
rstvec:
                B           InitReset 
undefvec:
                B           undefvec 
swivec:
                B           swivec   
pabtvec:
                B           pabtvec  
dabtvec:
                B           dabtvec  
rsvdvec:
                B           rsvdvec  
irqvec:
                ldr         pc, [pc,#-0xF20]        
fiqvec:
                ldr         pc, [pc,#-0xF20]       

#-------------------
#- The reset handler
#-------------------
InitReset:

# Get the CKGR Base Address
ldr     r1, = AT91C_BASE_CKGR

#-Main oscillator Enable register APMC_MOR : Enable main oscillator , OSCOUNT = 0xFF
# ldr  r0, = AT91C_CKGR_MOSCEN:OR:AT91C_CKGR_OSCOUNT
ldr  r0, =0x0000FF01
str     r0, [r1, #CKGR_MOR]

#------------------------------------------------------------------------------
#-Low level Init (PMC, AIC, EBI, ....)
#------------------------------------------------------------------------------

#- Add loop to compensate Main Oscillator startup time
ldr  r0, =0x00000010
LoopOsc:
subs    r0, r0, #1              
bhi     LoopOsc

ldr  r1, = 0x00204000

#- Set up Supervisor Mode and set SVC Stack
msr     cpsr_c, #(ARM_MODE_SVC | I_BIT | F_BIT)
# Insure word alignement
bic     r1, r1, #3                  
# Init stack SYS
mov     sp, r1                      

bl AT91F_LowLevelInit

#-------------------------------------
# Read/modify/write CP15 control register 
#-------------------------------------
# read cp15 control registre (cp15 r1) in r0
    mrc     p15, 0, r0, c1, c0, 0
# Reset bit :Little Endian end fast bus mode
    ldr     r3, =0xC0000080      
# Set bit :Asynchronous clock mode, Not Fast Bus
    ldr     r4, =0xC0000000      
    bic     r0, r0, r3             
    orr     r0, r0, r4             
# write r0 in cp15 control registre (cp15 r1)
    mcr     p15, 0, r0, c1, c0, 0 
    
#---------------------------------
#- Setup the stack for each mode
#---------------------------------
   ldr r0, =STACK

#- Set up Fast Interrupt Mode and set FIQ Mode Stack
msr     CPSR_c, #(ARM_MODE_FIQ | I_BIT | F_BIT)
# Init stack FIQ
mov     r13, r0                     
  sub     r0, r0, #FIQ_STACK_SIZE

#- Set up Interrupt Mode and set IRQ Mode Stack
msr     CPSR_c, #(ARM_MODE_IRQ | I_BIT | F_BIT)
# Init stack IRQ
mov     r13, r0                     
sub     r0, r0, #IRQ_STACK_SIZE
 
#- Set up Abort Mode and set Abort Mode Stack
msr     CPSR_c, #(ARM_MODE_ABORT | I_BIT | F_BIT)
# Init stack Abort
mov     r13, r0
sub     r0, r0, #ABT_STACK_SIZE

#- Set up Undefined Instruction Mode and set Undef Mode Stack
msr     CPSR_c, #(ARM_MODE_UNDEF | I_BIT | F_BIT)
# Init stack Undef
mov     r13, r0 
sub     r0, r0, #UND_STACK_SIZE

#- Set up Supervisor Mode and set Supervisor Mode Stack
msr     CPSR_c, #(ARM_MODE_SVC | I_BIT | F_BIT)
# Init stack Sup
mov     r13, r0


|
很有风格

|
ARM系列的指令

|
我觉得可能是INTEL的风格的,最近我在看INTEL的代码,看的时候感觉代码的整体的样子和楼主贴出的差不多,不过我也没有多少把握。

|
风格上讲我只知道两种,AT&T与INTEL。
这种肯定不是AT&T了。那就只有intel了,从前面的include来看应该是arm微处理机上用的吧。

|
GCC 直接嵌在C 函数里的汇编,就是这个风格了
好像是一段启动系统的初始化代码

    
 
 

您可能感兴趣的文章:

  • 请问有没有用AT&T汇编语法讲汇编语言的书?
  • 请问一下,汇编器as是否就是gas?
  • 请问各位大虾,如何在linux环境下学习汇编?
  • 请问linux源代码中的汇编是什么格式的
  • 请问汇编器和编译器各自完成那些功能啊?
  • 请问有能反汇编elf格式的程序吗?
  • 请问Linux2.6版本里用什么汇编语言??钱不多了,谢谢大家了!!!
  • 请问载linux下如何调试汇编程序,有没有像debug的程序。
  • 新手请问一句linux汇编语句
  • 请问linux中的arch/i386/kernel/head.S的汇编语言是用什么编译的
  • 在linux上学习汇编,请问用什么工具,哪有参考资料?
  • 请问在Linux下怎么样编译、链接汇编,用的是什么软件,哪里有下载?
  • 请问哪里能得到at&t的汇编说明书?比如各个语句的功能说明 。
  • 请问:如何在DOS下用C或汇编定义鼠标的形状?
  • 学习unix,急需教程,请问哪里可以下载,或者谁可以提供这方面的材料!
  • 请问怎么重新编译后里面的文件还存在呢?
  • 请问下面的命令怎么解释
  • 请问哪位大侠用过Eclipse,能不能介绍点这方面的文章,书和网站,谢了
  • 菜鸟问题 请问 liunx下网络编程是否有类似win下面的I/O模型可用?
  • 请问 solaris 下面的拨号工具。
  • 请问各位高手 /bin/ 下面的程序(例如ls,cd )的源码在哪可以找到呢
  • 急!请问谁有在redhat8.2下面的php-mysql的rpm包啊?
  • 请问在这段linux脚本里面的ccpbs是什么意思?
  • 请问什么是“设计模式”,有这方面的教材吗?望各位大侠指点指点初学者。谢谢!
  • 一个关于linux c 编程的小问题?请问下面的语句是什么意思?
  • 请问下面的程序为什么会得出这样的结果?
  • 请问 如何用user用户启动一个程序(或者脚本) 在这个程序(或脚本)里将用户转为root 然后用root执行下面的代码
  • ★★★★★请问大家有没有这方面的资料?谢谢提供!
  • 请问在RH10.0 fedora core1下面怎样访问windows下面的文件?我用的是双系统
  • 请问可以用java实现下面的功能吗?
  • 请问:线程能不能像进程那样被挂起,被唤醒啊?有没这这方面的函数啊?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问能否把JCombobox控件设成标准列表框(window标准风格)
  • 请问如何设置java UI的MacLookAndFeel风格!
  • 请问:我知道路由器的telnet密码,但忘记了enable 密码,请问如何是好?
  • 请问那里有SYBASE的jbdb 2.0下载;jspsmartupload可以直接将文件上传到数据库,请问如何使用
  • 请问最新的reahat9.0是基于什么核心的?2.4?2.6?请问那里能下载?
  • 请问:请问哪里有关于linux基本操作命令讲解的资料下载,最好是幻灯片格式的.
  • 请问,我试图用#admintool&图形工具命令来安装sun workshop5.0,为什么进入的却是用户管理界面?请问具体该如何在solaris下安装应用软件
  • 请问在Redhat 9里,我从登录就是图形介面,请问如何在图形介面内进入命令行方式呢,谢谢
  • 请问玩过SOLARIS的高手门,在不正常关机后,就不能启动到windows公用桌面了,只能在命令提示模式下了,请问怎么解决这个问题啊?急~!~!
  • 请问:我在redhat下装了bochs-2.2.1-1.rpm,.装了后,想设置一下,但找不到bochsrc.fda.bxrc,请问这个文件在哪个曰录下啊。
  • 请问:在配置Qt时,很多文档都说在.profile,.login里加东西,但是我好像没有发现有这两个文件上,请问这些文件在哪个目录下啊
  • 请问:在GCC里的C程序里的变量的声明是不是只能在前面,而且相同类型的变量的声明只能放在一起?如果不是,请问怎么样可以解决这个问题.
  • 请问各位大虾,小弟今天开始学jsp了,这学期我们有java课,所以已经下载了jdk(好象是1.2),请问我的98环境怎么配置jsp环境呀?我的jdk可以运行.java程序,别的我就不知道了....谢谢!
  • 主机是WIN2000,我用的是LUNIX,请问是否可以共享上网? 如果可以请问如何设置? 500分答谢,龟儿食言!
  • 请问linux下GUI开发的问题!
  • 请问出现fstab文件丢失该怎么修复呀?
  • 请问在RH10.0 fedora core1下面怎样访问windows下面的文件?我用的是双系统 iis7站长之家
  • 请问一个奇怪的问题!
  • 请问在网页中打开的新窗口,如何让其居中。
  • 请问我该学什么了
  • 请问安装zhcon,cxterm问题
  • 非常急! 请问daemontools 在red hat 9下的安装问题? 在线等待


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3