欧美午夜欧美,台湾成人av,久久av一区,最近看过的日韩成人

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 單片機 >> 正文

51單片機指令系統(6)

作者:佚名    文章來源:網上收集    點擊數:    更新時間:2008-11-4
第二十四課:算術運算類指令分析
算術運算指令共有24條,算術運算主要是執行加、減、乘、除法四則運算。另外MCS-51指令系統中有相當一部分是進行加、減1操作,BCD碼的運算和調整,我們都歸類為運算指令。雖然MCS-51單片機的算術邏輯單元ALU僅能對8位無符號整數進行運算,但利用進位標志C,則可進行多字節無符號整數的運算。同時利用溢出標志,還可以對帶符號數進行補碼運算。需要指出的是,除加、減1指令外,這類指令大多數都會對PSW(程序狀態字)有影響。這在使用中應特別注意。

[1]. 加法指令(4條)
這4條指令的作用是把立即數,直接地址、工作寄存器及間接地址內容與累加器A的內容相加,運算結果存在A中。

ADD  A,#data   ;(A)+#data→(A) 累加器A中的內容與立即數#data相加,結果存在A中
ADD  A,data    ;(A)+(data)→(A) 累加器A中的內容與直接地址單元中的內容相加,結果存在A中
ADD  A,Rn     ;(A)+(Rn)→(A) 累加器A中的內容與工作寄存器Rn中的內容相加,結果存在A中
ADD  A,@Ri    ;(A)+((Ri))→(A) 累加器A中的內容與工作寄存器Ri所指向地址單元中的內容相加,結果存在A中

這些指令所用到的源操作數都是累加器ACC,目的操作數則根據自已的需要來選擇。

上述這四條指令的用途是:將A中的值與后面的值相加,最終結果存回到累加器A中。
例:MOV  A,#30H
    ADD  A,#10H
則執行完本條指令后,A中的值就是40H
下面的題目請大家自行練習
    MOV  34H,#10H
    MOV  R0,#13H
    MOV  A,34H
    ADD  A,R0
    MOV  R1,#34H
    ADD  A,@R1

練習題說明:
MOV 34H,#10H
這條指令的目的是將立即數10H送入34H這個存儲單元
MOV R0,#13H
這條指令的目的是將立即數13H送入R0這個寄存器
MOV A,34H
這條指令大家要特別注意了,這條指令的源操作數在哪里呢?它的源操作數是在34H這個存儲單元里,也就是34H是個存儲單元,而不是一個數
這條指令用的是直接尋址,大前看前面的指令,第一條指令將10H這個立即數送入了34H這個存儲單元。那么,也就是34H中存儲著10H這么一個常數。
執行MOV  A,34H單元后,累加器A中的值是多少呢?前面說了34H存儲單元中的值是10H,所以這時累加器的值就是10H。
ADD A,R0
這條指令其實就是把前面三條指令的數據求個總和。第二條指令MOV  R0,#13H執行完后。R0寄存器里的值是13H。第三條指令MOV A,34H執行完后,累加器的值是10H。
這條指令的意思就是把R0寄存器中的值(13H)與累加器A中的值(10H)相加,其結果是(23H)送入累加器A。
MOV R1,#34H
這條指令是將常數34H送入寄存器R1,執行完這條指令后,R1寄存器中的值是34H
ADD A,@R1
這個時候求和,大家請注意了。這條指令是寄存器間接尋址方式。前面我們已知道,累加器中的值是23H,MOV  R1,#34H執行完后,R1寄存器的值是34H。大家注意,在間接尋址方式MOV  A,@Ri(Ri為R0或R1,在這條指令中用的是R1)中。R1內的值指的就不是一個常數了,而是一個直接地址。這條指令的意思就是把寄存器R1中存儲的34H存儲單元的內容(10H)與累加器中的內容(23H)相加,其結果為33H。

根據前面我們用的MedWin仿真軟件大家進行模擬仿真,同時打開DATA窗口及寄存器窗口觀察程序執行時內部寄存器及數據區的變化情況。軟件使用如有不凝問,請到我們論壇提出。我們會盡力為大家解答。

[2]. 帶進位加法指令(4條)
這4條指令除與[1]功能相同外,在進行加法運算時還需考慮進位問題。

ADDC    A,data    ;(A)+(data)+(C)→(A) 累加器A中的內容與直接地址單元的內容連同進位位相加,結果存在A中
ADDC    A,#data   ;(A)+#data +(C)→(A) 累加器A中的內容與立即數連同進位位相加,結果存在A中
ADDC    A,Rn      ;(A)+Rn+(C)→(A) 累加器A中的內容與工作寄存器Rn中的內容、連同進位位相加,結果存在A中
ADDC    A,@Ri     ;(A)+((Ri))+(C)→(A) 累加器A中的內容與工作寄存器Ri指向地址單元中的內容、連同進位位相加,結果存在A中

用途:將A中的值和其后面的值相加,并且加上進位位C中的值。
說明:由于51單片機是一種8位機,所以只能做8位的數學運算,但8位的運算范圍只有0-255,這在實際工作中是不夠的,因此就要進行擴展,一般是將2個8位的數學運算合起來,成為一個16位的運算,這樣,可以表達的數的范圍就可以到達0-65535。如何合并呢?其實很簡單,讓我們看一個十進制數的例子吧:
66+78
這兩個數相加,我們根本不在意這個過程,但事實上我們是這樣做的:先做6+8(低位),然后再做6+7,這是高位。做了兩次加法,只是我們做的時候并沒有刻意分成兩次加法來做罷了,或者說我們并沒有意識到我們做了兩次加法。之所以要分成兩次來做,是因為這兩個數超過了一位數所能表達的范圍(0-9)。
在做低位時產生了進位,我們做的時候是在適當的位置點一下,然后在做高位加法時將這一點加進去。那么計算機中做16位加法時同樣如此,先做低8位的,如果兩數相加后產生了進位,也要“點一下”做個標記,這個標記就職進位位C,在程序狀態字PSW中。在進行高位加法是將這個C加進去。
例如:1067H+10A0H,先做67H+A0H=107H,而107H顯然超過了0FFH,因此,最終保存在A中的數是7,而1則到了PSW中的CY位了,換言之,CY就相當于100H。然后再做10H+10H+CY,結果是21H,所以最終的結果是2107H。

[3]. 帶借位減法指令(4條)
這組指令包含立即數、直接地址、間接地址及工作寄存器與累加器A連同借位位C內容相減,結果送回累加器A中。
這里我們對借位位C的狀態作出說明,在進行減法運算中,CY=1表示有借位,CY=0則無借位。OV=1聲明帶符號數相減時,從一個正數減去一個負數結果為負數,或者從一個負數中減去一個正數結果為正數的錯誤情況。在進行減法運算前,如果不知道借位標志位C的狀態,則應先對CY進行清零操作。

SUBB  A,data      ;(A)-(data) - (C)→(A) 累加器A中的內容與直接地址單元中的內容、連同借位位相減,結果存在A中
SUBB  A,#data     ;(A)-#data -(C)→(A) 累加器A中的內容與立即數、連同借位位相減,結果存在A中
SUBB  A,Rn       ;(A)-(Rn) -(C)→(A) 累加器A中的內容與工作寄存器中的內容、連同借位位相減,結果存在A中
SUBB  A,@Ri      ;(A)-((Ri)) -(C)→(A) 累加器A中的內容與工作寄存器Ri指向的地址單元中的內容、連同借位位相減,結果存在A中

[4]. 乘法指令(1條)
這個指令的作用是把累加器A和寄存器B中的8位無符號數相乘,所得到的是16位乘積,這個結果低8位存在累加器A,而高8位存在寄存器B中。如果OV=1,說明乘積大于0FFFFH(65536),否則OV=0,但進位標志位CY總是等于0。

MUL  AB       ;(A)×(B)→(A)和(B) 累加器A中的內容與寄存器B中的內容相乘,結果存在A、B中

例:(A)=4EH,(B)=5DH,執行指令
    MUL  AB后,乘積是1C56H,所以在B中放的是1CH,而A中放的則是56H。

[5].  除法指令(1條)
這個指令的作用是把累加器A的8位無符號整數除以寄存器B中的8位無符號整數,所得到的商存在累加器A,而余數存在寄存器B中。除法運算總是使OV和進位標志位CY等于0。如果OV=1,表明寄存器B中的內容為00H,那么執行結果為不確定值,表示除法有溢出。

DIV  AB       ;(A)÷(B)→(A)和(B) 累加器A中的內容除以寄存器B中的內容,所得到的商存在累加器A,而余數存在寄存器B中。


例如:13/5,其商是2,余數是3。除了以后,商會放在A中,余數放在B中,CU和OV都是0。如果在做除法前B中的值是00H,也就是除數為0,那么OV=1。

[6]. 加1指令(5條)
這5條指令的的功能均為原寄存器的內容加1,結果送回原寄存器。上述提到,加1指令不會對任何標志有影響,如果原寄存器的內容為FFH,執行加1后,結果就會是00H。這組指令共有直接、寄存器、寄存器減間址等尋址方式:

INC  A          ;(A)+1→(A) 累加器A中的內容加1,結果存在A中
INC  data       ;(data)+1→(data) 直接地址單元中的內容加1,結果送回原地址單元中
INC  @Ri       ;((Ri))+1→((Ri)) 寄存器的內容指向的地址單元中的內容加1,結果送回原地址單元中
INC  Rn         ;(Rn)+1→(Rn)寄存器Rn的內容加1,結果送回原地址單元中
INC  DPTR      ;(DPTR)+1→(DPTR)數據指針的內容加1,結果送回數據指針中

用途很簡單,就是將后面目標中的值加1。
例:(A)=12H,(R0)=33H,(21H)=32H,(34H)=22H,DPTR=1234H。執行下面的指令;
INC  A   ;(A)=13H
INC  R0  ;(R0)=34H
INC  21H ;(21H)=33H
INC  @R0 ;(34H)=23H
INC  DPTR;(DPTR)=1235H
這些指令執行后的結果都附在了指令的后面。
說明:從結果上看,INC  A和ADD A,#1差不多,但INC  A是單字節,單周期指令,而ADD  A,#1則是雙字節雙周期指令,而且INC  A不會影響PSW位,如(A)=0FFH,INC  A后(A)=00H,而CY依然保持不變。如果是ADD A,#1,則(A)=00H,而CY一定是1。因此加1指令并不適合做加法運算,事實上它主要是用來做計數、地址增加等用途。另外,加法類指令都是以A為核心的,其中一個數必須放在A中,而運算結果也必須放在A中,而加1類指令的對象則廣泛得多,可以是寄存器、內存地址、間址尋址的地址等等。

在INC  data這條指令中,如果直接地址是I/O,其功能是先讀入I/O鎖存器的內容,然后在CPU進行加1操作,再輸出到I/O上,這就是“讀—修改—寫”操作。

[7].  減1指令(4條)
這組指令的作用是把所指的寄存器內容減1,結果送回原寄存器,若原寄存器的內容為00H,減1后即為FFH,運算結果不影響任何標志位,這組指令共有直接、寄存器、寄存器間址等尋址方式,當直接地址是I/O口鎖存器時,“讀—修改—寫”操作與加1指令類似。

DEC  A         ;(A)-1→(A)累加器A中的內容減1,結果送回累加器A中
DEC  data      ;(data)-1→(data)直接地址單元中的內容減1,結果送回直接地址單元中
DEC  @Ri      ;((Ri))-1→((Ri))寄存器Ri指向的地址單元中的內容減1,結果送回原地址單元中

DEC  Rn      ;(Rn)-1→(Rn)寄存器Rn中的內容減1,結果送回寄存器Rn中

[8]. 十進制調整指令(1條)
在進行BCD碼運算時,這條指令總是跟在ADD或ADDC指令之后,其功能是將執行加法運算后存于累加器A中的結果進行調整和修正。

DA      A

綜合練習:
   MOV   A,#12H
   MOV   R0,#24H
   MOV   21H,#56H
   ADD   A,#12H
   MOV   DPTR,#1234H
   ADD   A,DPH
   ADD   A,R0
   CLR   C
   SUBB  A,DPL
   SUBB  A,#25H
   INC   A
   SETB  C
   ADDC  A,21H
   INC   R0
   SUBB  A,R0
   MOV   24H,#16H
   CLR   C
   ADD   A,@R0
先寫出每步運行結果,然后將以上題目鍵入,并在軟件仿真中運行,觀察寄存器及有關單元的內容的變化。看結果是否與預想的結果相同?
關于軟件仿真的具體使用方法,我們會專門安排一節課給大家學習。敬請期待!
Tags:單片機,指令系統,數據傳輸方式,電子設計  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
欧美午夜欧美,台湾成人av,久久av一区,最近看过的日韩成人
美腿丝袜亚洲综合| 97se狠狠狠综合亚洲狠狠| 精品盗摄一区二区三区| 成人网在线免费视频| 久久99国产精品久久| 精品成人一区二区三区四区| 97久久精品人人澡人人爽| 麻豆精品久久久| 亚洲精品乱码久久久久久久久| 欧美成人国产一区二区| 欧美无乱码久久久免费午夜一区| 国产一区二区在线看| 午夜精品国产更新| 一区二区三区中文在线观看| 久久久久久电影| 日韩一区二区三区高清免费看看| 欧美性一级生活| av一二三不卡影片| 国产精品久久福利| 久久精品欧美日韩精品| 日韩小视频在线观看专区| 精品视频在线免费看| 91精品在线观看入口| 亚洲激情第一区| 中文字幕视频一区| 欧美极品另类videosde| 一区二区三区中文字幕| www激情久久| 日韩欧美精品在线视频| 欧美一区二区视频在线观看| 欧美亚洲愉拍一区二区| 色综合久久久久综合体桃花网| 成人性生交大片免费看在线播放 | 777a∨成人精品桃花网| 欧美系列在线观看| 欧美系列在线观看| 欧美午夜精品久久久| 93久久精品日日躁夜夜躁欧美| 国产白丝精品91爽爽久久| 中文字幕在线不卡| 国产精品久久久久久久久动漫| 国产三级欧美三级日产三级99 | 久久久久9999亚洲精品| 欧美mv日韩mv国产网站| 亚洲精品一区二区三区蜜桃下载 | 欧美肥大bbwbbw高潮| 88在线观看91蜜桃国自产| 欧美精选午夜久久久乱码6080| 亚洲欧洲精品一区二区三区不卡| 欧美精品日韩精品| 91精品国产色综合久久| 欧美一级片免费看| 久久久久久亚洲综合| 欧美激情在线免费观看| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 国产精品美女久久久久久久| 亚洲免费三区一区二区| 亚洲成人福利片| 日本不卡在线视频| 黑人巨大精品欧美一区| 国产精品亚洲第一| 亚洲乱码国产乱码精品精可以看 | 99久久精品情趣| 91论坛在线播放| 99re视频精品| 91免费观看在线| 在线观看视频一区二区欧美日韩| 色久综合一二码| 在线观看日韩精品| 欧美最猛性xxxxx直播| 99精品视频一区二区| 在线视频综合导航| 欧美军同video69gay| 中文字幕在线不卡国产视频| 久久亚洲欧美国产精品乐播| 久久你懂得1024| 中文字幕一区二区三区色视频 | 一区av在线播放| 午夜伊人狠狠久久| 亚洲国产综合91精品麻豆| 一区二区三区产品免费精品久久75| 婷婷中文字幕一区三区| 视频精品一区二区| 日产欧产美韩系列久久99| 蜜桃在线一区二区三区| 国产精品一区一区三区| 91农村精品一区二区在线| 欧美精品自拍偷拍| av在线不卡观看免费观看| 宅男噜噜噜66一区二区66| 久久久久久**毛片大全| 国产精品污污网站在线观看| 最新中文字幕一区二区三区| 丝袜亚洲另类丝袜在线| 国产精品一区免费在线观看| 在线观看亚洲一区| 日韩美女一区二区三区四区| 国产精品高潮呻吟| 亚洲地区一二三色| 国产精品影音先锋| 国产欧美日韩视频在线观看| 欧美日韩高清在线播放| 精品理论电影在线| 一区二区三区四区乱视频| 久久99久久久久久久久久久| 成人av电影免费在线播放| 91精品国产综合久久蜜臀| 日韩欧美一区中文| 亚洲码国产岛国毛片在线| 亚洲成人资源网| 日本三级亚洲精品| 色丁香久综合在线久综合在线观看| 91精品婷婷国产综合久久性色| 亚洲综合在线观看视频| 亚洲少妇30p| 国产大陆精品国产| 56国语精品自产拍在线观看| 欧美日韩在线免费视频| 久久久99久久精品欧美| 夜色激情一区二区| 成人av手机在线观看| 欧美精品一区二区三区四区| 一区二区三区高清| 不卡一区二区三区四区| 日韩女优制服丝袜电影| 国产精品久久久久久久久晋中 | 成人免费视频视频| 国产色产综合色产在线视频| 午夜欧美在线一二页| 91美女在线看| 国产精品区一区二区三| 国产精品一区免费视频| 欧美一卡二卡三卡四卡| 亚洲欧美激情一区二区| 黄色日韩网站视频| 欧美一级一级性生活免费录像| 亚洲自拍与偷拍| 成人黄色小视频在线观看| 国产午夜亚洲精品午夜鲁丝片| 麻豆国产精品官网| 色就色 综合激情| 五月激情丁香一区二区三区| 欧美亚洲一区三区| 亚洲精品中文字幕乱码三区| 99视频一区二区| 色婷婷av久久久久久久| 国产精品色婷婷久久58| 一区二区理论电影在线观看| 国产精品伊人色| 国产精品青草综合久久久久99| 国产盗摄视频一区二区三区| 中文字幕 久热精品 视频在线| 狠狠色狠狠色合久久伊人| 555www色欧美视频| 亚洲免费av观看| 欧美美女黄视频| 欧美一区二区三区视频| 久久男人中文字幕资源站| 国产一区二区三区黄视频 | 免费在线观看日韩欧美| 91精品国产手机| 免费视频一区二区| 欧美在线观看一二区| 精品一区二区三区影院在线午夜| xnxx国产精品| 成人美女视频在线观看18| 亚洲女性喷水在线观看一区| 91成人在线观看喷潮| 视频一区视频二区中文字幕| 久久综合九色欧美综合狠狠 | 欧美色窝79yyyycom| 日韩精品电影在线| a在线播放不卡| 亚洲精品久久久蜜桃| 欧美日韩免费观看一区三区| 另类欧美日韩国产在线| 国产女主播一区| 欧美性生活大片视频| 蜜桃一区二区三区四区| 国产欧美一区二区精品仙草咪| 91影院在线观看| 视频一区中文字幕国产| 久久夜色精品一区| 成人av网站大全| 亚洲欧洲日韩综合一区二区| 欧美日韩专区在线| 国产一区二区三区免费在线观看| 国产日韩欧美不卡| 欧美网站大全在线观看| 韩国成人在线视频| 亚洲精品日韩一| 精品美女在线观看| 国产成人在线免费观看| 五月综合激情婷婷六月色窝| 日韩一区二区免费电影| 欧美伊人久久久久久午夜久久久久| 青椒成人免费视频| 日韩一区日韩二区| 欧美韩日一区二区三区| 日韩欧美国产综合一区 |