博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CM3 支持 64 位整数, LDRD STRD
阅读量:6243 次
发布时间:2019-06-22

本文共 1098 字,大约阅读时间需要 3 分钟。

1 ;CM3 在一定程度上支持 64 位整数。 2 ;其中 LDRD/STRD 就是为 64 位整数的数据传送而设的,语法 格式为: 3  4     LDRD.W RL, RH, [Rn, #+/-offset] {!} 5     STRD.W RL, RH, [Rn, #+/-offset] {!} 6     LDRD.W RL, RH, [Rn],#+/-offset 7     STRD.W RL, RH, [Rn],#+/-offset 8  9     LDR R2, =0x1000     ;(0x1000)= 0x1234_5678_ABCD_EF00 : 00 EF CD AB 78 56 34 1210     LDRD.W R0, R1,[R2]  ;R0= 0xABCD_EF00, R1=0x1234_567811     STRD.W R1, R0,[R2]  ;(0x1000)=0xABCD_EF00_1234_5678 : 78 56 34 12 00 EF CD AB

Memory : [ RL ] [ RH ]

For example, the following piece of code stores the 64-bit value 0x0123456789ABCDEF to address 0xA0000000:void perip_64bitaccess(void){  unsigned long long value = 0x0123456789ABCDEF;  *((volatile unsigned long long*) (0xA0000000)) = value;}

 

 

__asm void stm_llout(unsigned long long* addr, unsigned long long value){  STM r0, {r2,r3}  BX LR}__asm unsigned long long ldm_llin(unsigned long long* addr){  LDM r0, {r0,r1}  BX LR}unsigned long long perip_64bitaccess(void){  unsigned long long ullvalue = ldm_llin((unsigned long long*)0x40004000);  stm_llout((unsigned long long*)0x40000000, ullvalue);  return ullvalue;}

 

转载地址:http://gbpia.baihongyu.com/

你可能感兴趣的文章
自定义列表dl的使用原因和场合
查看>>
Oracle11G 卸载步骤
查看>>
PHP递归生成树形数组
查看>>
学习RSA公开密钥算法
查看>>
教你摆脱低级程序猿 项目中cocopads的安装使用
查看>>
禁止火狐浏览器缓存input标签方法
查看>>
[ilink32 Error] Error: Unresolved external '__fastcall Data::Win::Adodb::TCustomADODataSet
查看>>
.NET Core:面向未来的开源跨平台开发技术
查看>>
常用正则表达式
查看>>
超大批量删除redis中无用key+配置
查看>>
guid正则表达
查看>>
Javascript的this用法
查看>>
PHP的学习--新特性
查看>>
Linux下安装配置Nexus
查看>>
JDBC插入数据超长时无法自动截断问题
查看>>
Tyrion中文文档(含示例源码)
查看>>
MySQL 面试基础
查看>>
利用GPU实现翻页效果
查看>>
C# 中的await
查看>>
java以流的形式输出文件
查看>>