ARM汇编中立即数的构成规则:必须是一个8位的二进制数,前面补上24位二进制0,扩展为32位;然后将这个32位的扩展数首尾相连循环偶数位得到。
给定一个立即数,判断其是否合法可以分三步:首先将给定的立即数写成32位二进制的形式;然后看能不能用一个8位的二进制数包括所有含1的部分,如不能则非法;最后看这个8位二进制数能不能循环右移偶数位得到给定的立即数,不能数则非法。举例如下:
0xff=00000000 00000000 00000000 11111111:相当于8位二进制11111111循环右移0位得到,合法;
0x104=00000000 00000000 00000001 00000100:相当于8位二进制01000001循环右移2位得到,合法;
0x101=00000000 00000000 00000001 00000001:包含所有1的部分是100000001,无法用一个8位二进制表示,非法;
0x102=00000000 00000000 00000001 00000010:包含所有1的部分是10000001,但10000001只能循环右移奇数位得到给定的数,非法;
0xfC000002 =11111100 00000000 00000000 00000010:相当于8位二进制10111111循环右移6位得到,合法。
0x8000007E=10000000 00000000 00000000 01111110:包含所有1的部分是11111101,但10000001只能循环右移奇数位得到给定的数,非法。
关键字:ARM 汇编程序 立即数
引用地址:
ARM汇编程序中立即数的合法性
推荐阅读最新更新时间:2024-03-16 14:49
arm汇编学习(五)
新增个手写GNU语法arm的方法,以后可以狂逆狂写 hello.S文件 .data msg: .ascii Hello, ARM!\n len = . - msg .text .globl _start _start: /* syscall write(int fd, const void *buf, size_t count) */ mov %r0, $1 /* fd - stdout */ ldr %r1, =msg /* buf - msg */ ldr %r2, =len /* count - len(msg) */ mov %r7, $4 /* write is syscall #4 */ swi $0 /* invo
[单片机]
Arm 发布集成式 SIM 身份认证
原标题:Arm 发布集成式 SIM 身份认证,为下一代蜂窝物联网设备安全保驾护航 Arm 预计,到 2035 年将有 1 万亿台联网设备,而这些设备都将需要一个安全的身份认证,从而使利益相关者能够建立信任——例如,使服务提供商信任设备,对设备进行认证,提供增值服务以及在需要时发布安全更新。 一直以来,SIM 卡都在为手机和其他联网设备提供着一个稳定、可信且经过检验的身份安全认证机制。然而,传统 SIM 卡一旦安装在设备上就不能改变其属性,并且需要通过实体接入的方式更改移动网络运营商 (MNO)。在未来智能城市、乡村,以及经历数字化转型的行业中,我们将会有几十亿的互联设备,许多设备都将受益于蜂窝网络连接,但是物理变更SIM卡不具
[网络通信]
基于ARM9260的多模式浮标岸基数据收发平台
海洋占据了地球表面的三分之二以上面积,并以其丰富的资源、广阔的空间以及对地球环境气候的巨大调节作用,成为全球生态系统和人类发展的一个重要组成部分,因此,发展海洋科技,尤其是海洋高新技术已成为世界新技术革命的重要内容。然而,由于海洋特殊的环境,使得很多在陆地上已经运用自如且性能良好的通信技术无法在海洋上使用,ARG0是以10~14天为周期通过卫星系统来传输的,海洋通信技术成为了限制海洋技术发展的瓶颈。本文设计的基于AT91SAM9260的多模式浮标岸基数据收发平台将多种数据传输方式集合在一起,很好的满足了海洋数据全天侯长时间传输的需求。 1 系统概述 基于AT91SAM9260的多模式浮标岸基数据收发平台(以下简称收发平台)
[单片机]
站在食物链的顶端——ARM的成功之道
有人说,ARM的成功是钻了英特尔的空子,在芯片巨人忽视的领域长成茁壮的大树;也有人说,ARM是在一个合适的产业选择了一种聪明的发展模式,既避免了与对手正面碰撞,又联合了上百家有实力的厂家;还有人说,ARM靠提供芯片的知识产权发家,处于产业链的上游,宛如自然界食物链的最高一环。 知识产权的英文是Intellectual property,简称IP,在中国,IP还是一个尚未全面普及的概念,ARM的成功之道或能给中国产业界带来深刻的思考。 走近ARM 英国的辉煌伴随着大不列颠帝国的远逝而慢慢褪色,在很多人的记忆里只有曼联球队那团略显旺盛的火焰,因为英国已经彻底沉默在美国的声音之中。然而,一个叫做ARM的公司宛如
[焦点新闻]
英特尔与ARM可能将展开专利大战
为了在移动设备市场站稳脚跟,英特尔收购了ARM的部分专利以利用其在电池设备上的设计优势。这也使得ARM有了与英特尔谈判的资本,并有助于ARM进入高科技领域。 有趣的事,今日两家公司在英特尔所用的技术是否已经超出其购买的专利范围上有了分歧。这一事件很有可能使ARM不得不开始专利维权的进程,两家公司的专利大战也可能就此展开。 当然,这样的专利之争可能也就在纷纷扰扰中结束,正如我们从苹果和三星的斗争中看到的那样。
[手机便携]
三分钟了解ARM运行C程序的内部机制
一.代码 之前学习了ARM裸机的LED点亮C语言实现,了解了ARM程序中,main函数需要有一段汇编指令来自引导,汇编指令的作用是:设置栈地址,也就是指明程序的存储地址;引导main函数。 这里借这个程序分析一下ARM中,C程序执行的内部机制以及程序在栈中的存储位置。 下面是C程序的源代码、引导的汇编指令,以及交叉编译生产的反汇编文件: C: int main() { unsigned int *pGPFCON = (unsigned int *)0x56000050; unsigned int *pGPFDAT = (unsigned int *)0x56000054; /* 配置GPF4为输出引脚 *
[单片机]
LPC2100系列加密ARM芯片原理及程序实现介绍
1. 加密原理说明 LPC2100系列ARM7微控制器是世界首款可加密的ARM芯片,对其加密的方法是通过用户程序在指定地址上设置规定的数据。PHILIPS公司规定,对于LPC2100芯片(除LPC2106/2105/2104外),当片内FLASH地址0x000001FC处的数据为0x87654321时,芯片即被加密。在加密设置后,JTAG调试接口无效,ISP功能只提供读ID及全片擦除功能。注意:将带有加密设置的程序下载到芯片内部FLASH,在下一次系统复位后加密生效。 2. 加密程序实现 为了实现加密设置,用户必须保证在0x000001FC处定义数据0x87654321。我们先来分析一下带有加密设置
[单片机]
一种基于ARM-Linux的分布式管道泄漏监测系统
针对中国输油管道现场具体情况,设计一套基于嵌入式ARM-Linux和LabVIEW的分布式管道泄漏监测系统,包括远程测控终端(RTU)、监测PC以及工业局域网。详细论述了系统架构、硬件组成、软件流程等。通过实际开发与应用,证明此设计完全适用于输油管道特殊现场,不仅降低了成本与功耗,还提高了效率,为长距离石油管道运输系统正常良好地运行提供了有力的技术支持。 输油管道泄漏监测技术是当今石油化工领域科研工作者研究的热门课题 。目前,输油管道现场应用的泄漏监测系统存在各种问题。首先,现场很多站点正在使用太阳能阀室设计,而广泛使用于全国各地输油管道监测系统中的基于PC的采集传输设备,因其高功耗、高成本的缺点不适合在太阳能阀室中应用。其次,
[单片机]