新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 用ARM匯編實(shí)現(xiàn)64位數(shù)據(jù)的運(yùn)算

用ARM匯編實(shí)現(xiàn)64位數(shù)據(jù)的運(yùn)算

作者: 時(shí)間:2016-11-21 來(lái)源:網(wǎng)絡(luò) 收藏
R0和R1分別存放一個(gè)64位操作數(shù)的低32位和高32位,

R2和R3分別存放另一個(gè)64位操作數(shù)的低32位和高32位。

本文引用地址:http://www.2s4d.com/article/201611/319305.htm

一、64位操作數(shù)的加法運(yùn)算

ADDS R4,R0,R2

ADC R5,R1,R3

ADDS指令中,R4=R0+R2,且是否有進(jìn)位會(huì)影響到CPSR寄存器中的C標(biāo)志位;

ADC指令R5=R1+R3+C,這樣,R4和R5就存放了64位和值的低32位和高32位。

二、64位操作數(shù)的減法運(yùn)算

SUBS R4,R0,R2

SBC R5,R1,R3

SUBS指令中,R4=R0-R2,如果發(fā)生借位,則C=0【這和ADDS指令相反】;

SBC指令R5=R1-R3-C標(biāo)志位的反碼。

三、求64位操作數(shù)的負(fù)數(shù)

RSBS R2,R0,#0;R2=-R0,且發(fā)生了借位,則C標(biāo)志位為0.

RSC R3,R1,#0 ;R3=-R1-C的反碼【此處為1】



評(píng)論


技術(shù)專區(qū)

關(guān)閉