精选优质文档-----倾情为你奉上
精选优质文档-----倾情为你奉上
专心---专注---专业
专心---专注---专业
精选优质文档-----倾情为你奉上
专心---专注---专业
《ARM与嵌入式实验》-倾情为你奉上
专心---专注---专业
and r3,r3,#0xffffff00 /*保留R3的高24位,屏蔽低8位*/
orr r3,r3,r2,lsr #24 /*将R2的高8位传送到R3的低8位*/
stop:
b stop
.end
:
(1)调试过程值:
将R2赋值为0x,R3赋值为0x, 取R2的高8位,消去R3的低8位, 将R2的高8位传送到R3的低8位。
①download下载:
②保留r2的高8位,屏蔽低24位:
③保留r3的高24位,屏蔽低8位:
④将R2的高8位传送到R3的低8位:
精选优质文档-----倾情为你奉上
精选优质文档-----倾情为你奉上
专心---专注---专业
专心---专注---专业
精选优质文档-----倾情为你奉上
专心---专注---专业
(2)结果分析:
R2赋值为 0x和0xff相与得到0x,将R3赋值为0x,在与0xffffff00相与得到0x,再讲R2的高8位传送到R3的低8位得到0x.
例3:实现64位加法运算,要求【R1:R0】+【R3:R2】,结果放回【R1:R0】中;
程序代码如下:
. global _start
.text
_start:
mov R0,#15 /*R0=15*/
mov R1,#26 /*R1=26*/
mov R2,#35 /*R2=35*/
mov R3,#46 /*R3=46*/
ADDS R0,R0,R2 /*R0等于低32位相加,并影响标志位*/
ADC R1,R1,R3 /*R1等于高32位相加,并加上低位进位*/
stop:
b stop
.end
:
(1)调试过程值:
R0赋值为15,转换成16进制为000f,R1赋值为26,转换成16进制为0019, R2赋值为35,转换成16进制为0023, R3赋值为46,转换成16进制为002e.
①download下载:
② 读入数据:
③ R0+R2→R0 (低32位):
精选优质文档-----倾情为你奉上
精选优质文档-----倾情为你奉上
专心---专注---专业
专心---专注---专业
精选优质文档-----倾情为你奉上
专心---专注---专业
④ R1+R3→R1(带进位的加法):
(2)结果分析:
R0,R1,R2,R3分别赋值为0xf,,0xe,
R0+R2低4位相加结果存在R0中,R0为0x, R1+R3高位相加再加上低位进位1存在R1
ARM与嵌入式实验报告(共10页) 来自淘豆网m.daumloan.com转载请标明出处.