日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

你好!歡迎來(lái)到深圳市穎特新科技有限公司!
語(yǔ)言
當(dāng)前位置:首頁(yè) >> 技術(shù)中心 >> 單片機(jī)入門 >> 算數(shù)運(yùn)算指令

算數(shù)運(yùn)算指令

關(guān)鍵字:運(yùn)算 指令 作者:admin 來(lái)源:不詳 發(fā)布時(shí)間:2018-05-19  瀏覽:10

算數(shù)運(yùn)算指令

算術(shù)運(yùn)算指令的主要功能是實(shí)現(xiàn)算術(shù)加、減、乘、除等運(yùn)算。

1.ADD類指令是不帶進(jìn)位的加法運(yùn)算指令(4條)。

ADD A,Rn          ;A+Rn→A, A與Rn寄存器內(nèi)容相加,結(jié)果送到A中

ADD A,direct      ;(direct)+A→A, A與直接地址內(nèi)容相加,和送A

ADD A, @Ri      ;(Ri)+A→A, A與Ri間址內(nèi)容相加,和送A

ADD A, #data      ;data+A→A, A與立即數(shù)相加,和送A

注意:ADD類指令相加結(jié)果均在A中,相加后源操作數(shù)不變。若A中最高位有進(jìn)位,Cy置1;若半加位有進(jìn)位,AC置1。A的結(jié)果還影響奇偶標(biāo)志位P。

 

例  A=30H, R0=10H

執(zhí)行  ADD A,R0  結(jié)果:A=40H, R0=10H,標(biāo)志位 P=1, Cy=0, OV=0, AC=0

2.ADDC類指令(帶進(jìn)位加法4條)

ADDC A, Rn      ;A+Rn+Cy→A,  A與R n內(nèi)容、進(jìn)位狀態(tài)相加,和送

到A中

ADDC A, direct     ;(direct)+Cy+A→A, A與直接地址中內(nèi)容、進(jìn)位狀態(tài)

相加,和送A

ADDC A, @Ri      ;(Ri)+Cy+A→A, A與Ri間址單元中內(nèi)容、進(jìn)位狀態(tài)

相加,和送A

ADDC A, #data         ;data+Cy+A→A, A與 立即數(shù)、進(jìn)位狀態(tài)相加,和送A

與ADD類指令的區(qū)別是,ADDC指令相加時(shí)連同進(jìn)位標(biāo)志Cy內(nèi)容一起相加,主要用于多字節(jié)加法中的高位字節(jié)的相加,而最低位字節(jié)相加用ADD指令。進(jìn)位位Cy加到字節(jié)的最低位。

例 寫(xiě)計(jì)算1234H+0FE7H的程序,將結(jié)果存入內(nèi)部RAM的41H和40H單元,40H存低8位,41H存高8位。

程序

MOV A, #34H   ;被加數(shù)低8位數(shù)34H送A

ADD A, #0E7H   ;加數(shù)低8位數(shù)E7H與之相加,A=1BH,Cy=1

MOV 40H, A   ;A→40H即34H+E7H結(jié)果存入40H中(40H=1BH)

MOV A, #12H   ;被加數(shù)高8位數(shù)12H送A

ADDC A, #0FH   ;加數(shù)高8位0FH和Cy與A相加,A=22H

MOV 41H, A   ;高8位與進(jìn)位位之和存入41H中(41H)=22H

;總和為221BH,總結(jié)果在41H,40H單元中

3.SUBB類指令(4條)

SUBB類指令是帶借位減法指令,其功能是將A中被減數(shù)減去源操作數(shù)指出的內(nèi)容,再減去借位標(biāo)志Cy(原進(jìn)位標(biāo)志)狀態(tài),差值在A中。

SUBB A, Rn    ;A-Rn-Cy→A ,A減寄存器Rn內(nèi)容及進(jìn)位標(biāo)志

SUBB A, direct   ;A-(direct)-Cy→A,A減直接地址內(nèi)容和進(jìn)位標(biāo)志

SUBB A, Ri    ;A-(Ri)-Cy→A, A減Ri間址單元內(nèi)容和進(jìn)位位標(biāo)志

SUBB A, #data   ;A-data-Cy→A, A減立即數(shù)和進(jìn)位標(biāo)志

說(shuō)明:

1) 多字節(jié)減法時(shí),低位相減有借位則把Cy置1,否則Cy為0。

2) MCS-51系列指令中沒(méi)有不帶借位的減法指令,所以在單字節(jié)或低位字節(jié)減法時(shí)用SUBB類指令前要先將Cy清0。

3)減去一個(gè)數(shù)實(shí)際上是加上這個(gè)數(shù)的相反數(shù)(負(fù)數(shù)),減法運(yùn)算常常用補(bǔ)碼相加方式。

4.MUL(乘)和DIV(除)指令

乘法指令只有一條:

MUL  AB          ;A×B→B和A,結(jié)果16位,高8位存入B,低8位在A中

若乘積大于FFH則將溢出標(biāo)志OV置1。

除法指令也只有一條:

DIV  AB              ; A÷B商→A,余數(shù)→B

注意:當(dāng)除數(shù)為0時(shí)結(jié)果不確定,則溢出將OV置1。

5.INC(加1)和DEC(減1)類指令

加1類指令共5條,其功能是將操作數(shù)內(nèi)容加1。

INC A     ;A+1→A, A加1

INC   Rn         ;Rn+1→Rn, Rn中內(nèi)容加1

INC   direct       ;(direct)+1→(direct), 直接地址中內(nèi)容加1

INC @Ri        ;(Ri)+1→(Ri), Ri間址中的內(nèi)容加1

INC   DPTR    ;DPTR+1→DPTR, 數(shù)據(jù)指針加1

例 判斷INC R0和INC @R0兩條指令結(jié)果,比較兩者的區(qū)別。設(shè)R0=30H,(30H)=00H。

執(zhí)行  INC   R0            ;R0+1=30H+1→R0, 結(jié)果R0=31H

執(zhí)行  INC   @R0           ;(R0)+1=(30H)+1→(R0),結(jié)果(30H)=01H,R0中內(nèi)

容不變,仍為30H

減1類指令共4條,其功能是將操作數(shù)指定單元內(nèi)容減1。

DEC  A     ;A-1→A, A中內(nèi)容減1

DEC  Rn         ;Rn-1→Rn, Rn中內(nèi)容減1

DEC  direct    ;(direct)-1→(direct), 直接地址中內(nèi)容減1

DEC  @Ri         ;(Ri)-1→(Ri), Ri間址中的內(nèi)容減1

操作過(guò)程與加1指令類似,這里不再舉例。

6.十進(jìn)制加法調(diào)整指令(1條)

DA   A

功能:在加法指令后,把A中二進(jìn)制碼自動(dòng)調(diào)整成BCD碼。

例   MOV  A, #05H       ;05H→A

ADD  A, #08H       ;05H+08H→A=0DH

DA   A        ;結(jié)果調(diào)整A=13H,即是13的BCD碼

注意:DA A指令只能跟在ADD或ADDC加法指令后,不適用于減法。

編輯:admin  最后修改時(shí)間:2018-05-19

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬(wàn)眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號(hào)-4

三穗县| 广南县| 临潭县| 泸西县| 平泉县| 普兰店市| 新泰市| 三门峡市| 南溪县| 龙州县| 浦城县| 长海县| 论坛| 同心县| 阳江市| 响水县| 美姑县| 光泽县| 旅游| 江永县| 昆山市| 临汾市| 嘉禾县| 马龙县| 乌拉特中旗| 三明市| 稻城县| 林芝县| 会宁县| 阳泉市| 吕梁市| 尼玛县| 雅江县| 荆州市| 南昌县| 怀远县| 沛县| 安平县| 永昌县| 蕉岭县| 开化县|