学习ARM微处理器中的常量时,一直很懵懂,网上查了一下,终于弄明白,记录下来先。
书上的原话是:
“常量是一个8位的常数经循环右移偶数位(0、2、4、8、…、26、28、30)得到。ARM指令时固定的32位指令编码,不可能直接用32位表示立即数,采用上述间接方式表示的立即数在指令编码中需要12位(其中8位表示常数,4位表示循环右移)。这样一来,不是每一个32位常数都是合法的立即数,只有通过上面的构造方法得到的才是合法的立即数。
合法常量:0xFF、0×104、0xFF000、0xFF000000、0xF000000F。
非法常量:0×101、0×102、0xFF1、0xFF04、0xFF003、0xFFFFFFFF、0xF000001F。”
一开始我纳闷:“一个8位的常数”是什么东西?结论是:一个8位的任何数,即0×00(0000 0000)~0xFF(1111 1111)都是符合条件的8位常数。
那么“循环右移偶数位”是什么概念?其实是在上述的8位常数前填加0,补充到32位之后,再循环右移偶数位。
举个例子:
比如0x0F(0000 1111)扩充之后为0x0000000F(0000 0000 0000 0000 0000 0000 0000 1111),循环右移(比如2位)之后为0xC0000003(1100 0000 0000 0000 0000 0000 0000 0011)。故0xC0000003也是一个ARM的合法立即数。
相关推荐
ARM微处理器的编程模型
ARM微处理器硬件结构ARM微处理器硬件结构ARM微处理器硬件结构ARM微处理器硬件结构
ARM开发详解全集.rar 第1章 ARM微处理器的概述.doc 第2章 ARM微处理器的编程模型.pdf 第3章 ARM微处理器的指令系统.doc 第四章 ARM程序设计基础.doc ... 嵌入式UCLINUX及应用开发.pdf-Detailed Complete Works of ...
arm微处理器的指令系统
ARM及相关技术简介 ARM微处理器的应用领域以及特点 ARM微处理器系列 ARM的体系结构 ARM的应用选型
本篇文章对ARM微处理器、ARM技术的基本概念做了一些简单的介绍,希望读者通过对本章的阅读,能对ARM微处理器、ARM技术有一个总体上的认识。
各种ARM微处理器系列介绍,对ARM处理器初步了解
1.了解uCOS-II内核的主要结构。 2.掌握将uCOS-II内核移植到ARM920T处理器上的基本方法。 3. 将uCOS-II内核移植到ARM920T微处理器上。 4.编写两个简单任务,在超级终端上观察两个任务的切换。
以表格形式描述的ARM微处理器指令速查手册
ARM微处理器基础实验指导书 (供嵌入式专业试用) 供初学者使用
ARM微处理器概述与编程模型
基于ARM微处理器与μC_OS-Ⅱ实时操作系统 基于ARM微处理器与μC_OS-Ⅱ实时操作系统
嵌入式系统设计与实例开发-基于ARM微处理器与μC-OSⅡ实时操作系统 主要有关于μC-OSⅡ与ARM的一个开发过程
嵌入式系统—基于ARM微处理器和Linux操作系统嵌入式系统—基于ARM微处理器和Linux操作系统
ARM微处理器应用开发技术详解与实例分析 清华大学出版社2007
第1章 ARM微处理器概述 第2章 ARM微处理器的编程模型 第3章 ARM微处理器的指令系统 ................
ARM 微处理器 嵌入式开发 ARM微处理器的一些基本概念、应用领域及特点,引导读者进入ARM技术的殿堂。 - ARM及相关技术简介 - ARM微处理器的应用领域及特点 - ARM微处理器系列 - ARM微处理器的体系结构 - ARM微...
嵌入式系统设计与实例开发 ——基于ARM微处理器与μC/OS-II实时操作系统》的ppt讲稿。
基于ARM微处理器的GPS导航定位系统的设计与实现.nh 基于ARM微处理器的GPS导航定位系统的设计与实现.nh