您的位置:網(wǎng)站首頁 > 電器維修資料網(wǎng) > 正文 >
MCS-51單片機算術(shù)運算類指令
來源: 日期:2013-11-18 21:55:07 人氣:標簽:
此指令運行后的結(jié)果放在a中,下面我們舉例說明:
假設(shè)a的值為c3h,ro的值為aah,則運行
執(zhí)行結(jié)果:a的值變?yōu)?dh,標志位cy被置為1,因為 高位有進位。也可以執(zhí)行:
運行結(jié)果同上。大家注意立即數(shù)“aah”的前面有個“0”,這是因為51指令規(guī)定:立即數(shù)的高位不是數(shù)字的話,就必須在前面加一個“0”。
加法指令當中還有一條“加一指令”:
此指令將指定存儲單元的內(nèi)容加一,計算結(jié)果仍存于原單元,并且不影響任命標志位。前面說過的尋址方式都適用于它。在循環(huán)程序中常常會用到這個加一指令。
此指令是從累加器a中減去進位標志cy和指定的存儲單元的值,結(jié)果存于a中,若a的第7位有借位,則cy置為l,若第3位向第4位借1,則輔助標志ac置為1,否則清0;若第6位和第7位中只有一位借位,則溢出標志位0v置為1,否則復(fù)位0。溢出標志ov常用于帶符號的整數(shù)減法,表示因溢出而產(chǎn)生的運算錯誤。(注意:每個字節(jié)是8位,左邊第一個是第0位,右邊第一個是第7位)設(shè)累加器a的值為c9h,r2的值為54h,cy為1,運行下面這條指令:
運行結(jié)果如下圖,這時a的值為74h,cy的值為0,ac的值為0,0v的值為l。如果讀者一時弄不清楚標志位的作用,可以先不去管它們,在程序里面盡量不使用就行了。
減法指令中也有一條“減一指令”,用法同加法的加一指令
③乘法指令
本指令是將累加器a和專用寄存器b中兩個8位無符號數(shù)相乘,得16位乘積,積的低8位放在a中,高8位放在b中,只要b的內(nèi)容不為o,溢出標志0v就置為1,b的內(nèi)容為0則0v清0。進位標志始終為0。
④除法指令
本指令將累加器a中8位無符號整數(shù)除以b寄存器中8位無符號整數(shù),所除結(jié)果:整數(shù)商部分存于a中,整數(shù)余數(shù)部分存于b中,cy和0v清0。看下面的例子:
設(shè)a的值為64h(十進制是100),b的值為03h,執(zhí)行:
結(jié)果:a的值為21h(十進制是33),b的值為oih,0v=0,cy=0
【看看這篇文章在百度的收錄情況】
相關(guān)文章
- 上一篇: MCS-51單片機傳送類指令
- 下一篇: 菜鳥學(xué)習(xí)硬件技術(shù)問答匯編