查看: 15002|回复: 74

ARM汇编教程+指令集+300个问答,这次全了

  [复制链接]
  • TA的每日心情
    开心
    2019-11-4 13:48
  • 签到天数: 14 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2020-8-27 09:13:29 | 显示全部楼层 |阅读模式
    分享到:
    ARM体系结构与编程PDF电子
    ARM处理器是一种16/32位的高性能、低成本、低功耗的嵌入式RISC微处理器,由ARM公司设计,然后授权给各半导体厂商生产,它目前已经成为应用最为广泛的嵌入式处理器。本书分14章对ARM处理器的体系结构、指令系统和开发工具作了比较全面的介绍。其中包括ARM体系介绍、ARM程序设计模型、ARM汇编语言程序设计、ARM C/C++语言程序设计、ARM连接器的使用、ARM集成开发环境CodeWarrior IDE的介绍及高性能的调试工具ADW的使用。并在此基础之上介绍一些典型的基于ARM体系的嵌入式应用系统设计时的基本技术。通过阅读本书可以使读者掌握开发基于ARM的应用系统的各方面的知识。本书既可作为学习ARM技术的培训材料,也可作为嵌入式系统开发人员的参考手册。


    常用ARM指令集及汇编经典完整版资料
    ARM 处理器是基于精简指令集计算机(RISC)原理设计的,指令集和相关译码机制较为简单,ARM7TDMI(-S)具有 32 位 ARM 指令集和 16 位 Thumb 指令集,ARM 指令集效率高,但是代码密度低,而 Thumb 指令集具有更好的代码密度,却仍然保持 ARM 的大多数性能上的优势,它是 ARM 指令集的子集。所有 ARM 指令都是可以有条件执行的,而 Thumb指令仅有一条指令具备条件执行功能。ARM 程序和 Thumb 程序可相互调用,相互之间的状态切换开销几乎为零。

    ARM的300个经典问题和解答
    第 1 章 体系结构
    第 1 问:
    Q:请问在初始化 CPU 堆栈的时候一开始在执行 mov r0, LR 这句指令时处理器是什么模式
    A:复位后的模式,即管理模式.
    第 2 问:
    Q:请教:MOV 中的 8 位图立即数,是怎么一回事 0xF0000001 是怎么来的
    A:是循环右移,就是一个 0—255 之间的数左移或右移偶数位的来的,也就是这个数除以 4一直除, 直到在 0-255 的范围内它是整数就说明是可以的!A:8 位数(0-255)循环左移或循环右移偶数位得到的,F0000001 既是 0x1F 循环右移 4 位,符合规范,所以是正确的.这样做是因为指令长度的限制,不可能把 32 位立即数放在32 位的指令中.移位偶数也是这个原因.可以看一看 ARM 体系结构(ADS 自带的英文文档)的相关部分.
    游客,如果您要查看本帖隐藏内容请回复
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2020-9-23 20:45
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2020-8-28 08:38:16 | 显示全部楼层
    支持学习一下
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-10-4 06:32
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2020-9-4 09:46:13 | 显示全部楼层
    谢谢大师分享
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2020-9-10 11:53:36 | 显示全部楼层
    学习学习啊
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则



    手机版|小黑屋|与非网

    GMT+8, 2024-4-24 02:44 , Processed in 0.218682 second(s), 35 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.