版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第6講(2010-09-26)10-11第1學(xué)期第4周汽車單片機(jī)11.指令系統(tǒng)簡介;2.尋址方式;3.指令系統(tǒng);4.匯編語言程序設(shè)計(jì);5.程序設(shè)計(jì)實(shí)例;第3章MCS-51指令系統(tǒng)及匯編語言2復(fù)習(xí)
數(shù)據(jù)傳送類指令P50~57片內(nèi)數(shù)據(jù)傳送指令:MOV片外數(shù)據(jù)傳送指令:MOVX程序存儲(chǔ)器數(shù)據(jù)傳送指令:MOVC數(shù)據(jù)交換指令:XCH,XCHD,SWAP堆棧操作指令:PUSH,POP33.3.2算術(shù)運(yùn)算類指令(24條)單字節(jié)的加、減、乘、除法指令,都是針對(duì)8位二進(jìn)制無符號(hào)數(shù)。執(zhí)行的結(jié)果對(duì)Cy、Ac、OV
三種標(biāo)志位有影響。但增1和減1指令不影響上述標(biāo)志。主要包括
(1)加法(帶、不帶進(jìn)位加法、加1、十進(jìn)制調(diào)整);
(2)減法(帶借位、減1);
(3)乘法;
(4)除法;41加法指令
(1)不帶進(jìn)位加法指令這類指令所完成的操作是把源操作數(shù)(立即數(shù)、直接地址單元內(nèi)容、間接地址單元內(nèi)容、工作寄存器內(nèi)容)與累加器A的內(nèi)容相加,將結(jié)果保存在累加器A中。指令助記符與功能說明如下:5要注意累加器A中的運(yùn)算結(jié)果對(duì)各個(gè)標(biāo)志位的影響:(a)如果位7有進(jìn)位,則置“1”進(jìn)位標(biāo)志Cy,否則清“0”Cy(b)如果位3有進(jìn)位,置“1”輔助進(jìn)位標(biāo)志Ac,否則清“0”Ac(Ac為PSW寄存器中的一位)6(c)如果位6有進(jìn)位,而位7沒有進(jìn)位,或者位7有進(jìn)位,而位6沒有,則溢出標(biāo)志位OV置“1”,否則清“0”O(jiān)V。溢出標(biāo)志位OV的狀態(tài),只有在帶符號(hào)數(shù)加法運(yùn)算時(shí)才有意義。當(dāng)兩個(gè)帶符號(hào)數(shù)相加時(shí),OV=1,表示加法運(yùn)算超出了累加器A所能表示的帶符號(hào)數(shù)的有效范圍7例
執(zhí)行指令:MOVA,#0A9HADDA,#0B8H對(duì)程序狀態(tài)寄存器的影響如圖3.6所示。運(yùn)算結(jié)果:(A)=61H,CY=1,AC=1,OV=1,P=1,(PSW)=0C5H8帶進(jìn)位加法指令與前述加法指令的區(qū)別僅為考慮進(jìn)位位,其他與加法指令相同。(2)帶進(jìn)位加法指令指令助記符與功能說明如下:9(3)增1指令I(lǐng)NCA ;(A)←(A)+1INCdirect ;(direct)←(direct)+1INC@Ri ;((Ri))←((Ri))+1INCRn ;(Rn)←(Rn)+1INCDPTR ;(DPTR)←(DPTR)+110例1
設(shè)(A)=40H,(41H)=29H,則執(zhí)行下列指令:INCA ;(A)←40H+1HINC41H ;(41H)←29H+1H結(jié)果:(A)=41H,(41H)=2AH例2
設(shè)(R0)=56H,片內(nèi)RAM單元(56H)=0FFH,(57H)=50H,則執(zhí)行下列指令:INC@R0 ;(56H)←00HINCR0 ;(R0)←57HINC@R0 ;(57H)←51H結(jié)果:(56H)=00H,(R0)=57H,(57H)=51H例3
執(zhí)行下述指令序列:MOVDPTR,#2FFEH ;(DPTR)←2FFEHINCDPTR ;(DPTR)←2FFFHINCDPTR ;(DPTR)←3000HINCDPTR ;(DPTR)←3001H則(DPTR)=3001H11(4)十進(jìn)制調(diào)整指令用于對(duì)BCD碼十進(jìn)制數(shù)加法運(yùn)算結(jié)果的內(nèi)容修正。
指令格式:DAA兩個(gè)BCD碼按二進(jìn)制相加之后,必須經(jīng)本指令的調(diào)整才能得到正確的壓縮BCD碼的和數(shù)。二進(jìn)制數(shù)的加法運(yùn)算原則并不能適用于十進(jìn)制數(shù)的加法運(yùn)算,有時(shí)會(huì)產(chǎn)生錯(cuò)誤結(jié)果。例如:(a)3+6=90011+0101=1001運(yùn)算結(jié)果正確(b)7+8=150111+1000=1111運(yùn)算結(jié)果不正確(c)9+8=171001+1000=00001C=1結(jié)果不正確12二進(jìn)制數(shù)加法指令不能完全適用于BCD碼十進(jìn)制數(shù)的加法運(yùn)算,對(duì)結(jié)果作有條件的修正——十進(jìn)制調(diào)整
出錯(cuò)原因和調(diào)整方法:
BCD碼只用了了其中的10個(gè),6個(gè)沒用到的編碼。(1010,1011,1100,1101,1110,1111)為無效碼凡結(jié)果進(jìn)入或者跳過無效碼編碼區(qū)時(shí),其結(jié)果就是錯(cuò)誤的。13調(diào)整的方法是把結(jié)果加6調(diào)整,即十進(jìn)制調(diào)整修正。修正方法應(yīng)是:(a)累加器低4位大于9或輔助進(jìn)位位Ac=1,則進(jìn)行低4位加6修正。(b)累加器高4位大于9或進(jìn)位位Cy=1,則進(jìn)行高4位加6修正。(c)累加器高4位為9,低4位大于9,則高4位和低4位分別加6修正。14具體是通過執(zhí)行指令:DAA來自動(dòng)實(shí)現(xiàn)的。例(A)=56H,(R5)=67H,把它們看作為兩個(gè)壓縮的BCD數(shù),進(jìn)行BCD數(shù)的加法。執(zhí)行指令:
ADDA,R5DAA
由于高、低4位分別大于9,所以要分別加6進(jìn)行十進(jìn)制調(diào)整對(duì)結(jié)果進(jìn)行修正。結(jié)果為:(A)=23H,Cy=1
可見,56+67=123,結(jié)果是正確的。152.減法指令(1)帶借位減法指令:(2)減1指令
DECA ;(A)-1→A DECRn ;(Rn)-1→Rn,n=0~7 DECdirect ;(direct)-1→direct DEC@Ri ;((Ri))-1→(Ri),i=0,1減1指令不影響標(biāo)志位。16(1)
乘法指令例1
設(shè)(A)=67H(103),(B)=0ADH(173),執(zhí)行指令:MULAB運(yùn)算結(jié)果:乘積為459BH(17819),(A)=9BH,(B)=45H。另外:OV=1,CY=03乘除運(yùn)算指令MULAB;(A)←乘積低8位,(B)←乘積高8位教材例3-2617A01010000B00110010例3-26:A=50H,B=32H;執(zhí)行MULAB00000000010100000101000000000000000000000101000000000000000000000000A=A0H,B=0FH×18(2)除法指令例1
設(shè)(A)=9AH,(B)=23H,執(zhí)行指令:
DIVAB則(A)=04H,(B)=0EH,OV=00H,CY=00HDIVAB;(A)←商,(B)←余數(shù)193.3.3邏輯運(yùn)算指令(24條)1.雙操作數(shù)指令(1)邏輯與指令邏輯與的規(guī)則定義為:0∧0=00∧1=1∧0=01∧1=1例1設(shè)(A)=0C3H,(R3)=0ADH,執(zhí)行指令“ANLA,R3”。結(jié)果:(A)=81H(10000001B)。指令執(zhí)行過程如下:ANLA,Rn;(A)∧(Rn)→A,n=0~7ANLA,direct;(A)∧(direct)→AANLA,#data;(A)∧#data→AANLA,@Ri;(A)∧((Ri))→A,i=0~1ANLdirect,A;(direct)∧(A)→directANLdirect,#data;(direct)∧#data→direct20(2)邏輯或指令ORLA,Rn;(A)∧(Rn)→A,n=0~7ORLA,direct;(A)∧(direct)→AORLA,#data;(A)∧#data→AORLA,@Ri;(A)∧((Ri))→A,i=0~1ORLdirect,A;(direct)∧(A)→directORLdirect,#data;(direct)∧#data→direct邏輯或的規(guī)則定義為:0∨0=00∨1=1∨0=11∨1=1例1
設(shè)(A)=0C3H,(R3)=0ADH,執(zhí)行指令“ORLA,R3”。結(jié)果:(A)=0EFH(11101111B)。指令執(zhí)行過程如下:21(3)
邏輯異或指邏輯異或的規(guī)則定義為:0⊕0=1⊕1=01⊕0=0⊕1=1XRLA,Rn;(A)∧(Rn)→A,n=0~7XRLA,direct;(A)∧(direct)→AXRLA,#data;(A)∧#data→AXRLA,@Ri;(A)∧((Ri))→A,i=0~1XRLdirect,A;(direct)∧(A)→directXRLdirect,#data;(direct)∧#data→direct例1
設(shè)(A)=0C3H,(R3)=0ADH,執(zhí)行指令“XRLA,R3”。結(jié)果:(A)=6EH(01101110B)。指令執(zhí)行過程如下:222單操作數(shù)邏輯運(yùn)算指令
(1)累加器A清0指令格式:CLR A功能:將00H送入累加器A中。(2)累加器A取反指令格式:
CPLA功能:將累加器A中內(nèi)容取反(將A中內(nèi)容按位取反,即邏輯非運(yùn)算)后再送回累加器A中。23(1)累加器A內(nèi)容循環(huán)左移一位指令格式:RLA功能:將累加器A中的內(nèi)容循環(huán)左移一位。即
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 冬奧項(xiàng)目學(xué)習(xí)報(bào)告范文
- 上海師范大學(xué)天華學(xué)院《現(xiàn)代工程圖學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海商學(xué)院《智能計(jì)算》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025醫(yī)院醫(yī)用耗材買賣合同
- 課題申報(bào)書:多源不確定下廢棄物管理系統(tǒng)優(yōu)化研究-以系統(tǒng)韌性與物質(zhì)再生為視角
- 母親節(jié)社區(qū)活動(dòng)
- 【九年級(jí)同題作文】為什么我的眼里常含淚水(范文4篇)(素材)
- 上海杉達(dá)學(xué)院《食品化學(xué)專題》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海歐華職業(yè)技術(shù)學(xué)院《現(xiàn)代無機(jī)化學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海閔行職業(yè)技術(shù)學(xué)院《可編程控制技術(shù)(PC)》2023-2024學(xué)年第一學(xué)期期末試卷
- 應(yīng)用文寫作-計(jì)劃課件
- 糧庫鋼結(jié)構(gòu)項(xiàng)目施工組織設(shè)計(jì)(122頁)
- 有效的雙向溝通管理制度
- 圍棋協(xié)會(huì)2022年工作計(jì)劃范文
- 07講信息系統(tǒng)建設(shè)和設(shè)計(jì)軟件工程
- 廁所蹲位統(tǒng)計(jì)表10
- OptiXOSN8800產(chǎn)品系統(tǒng)硬件系統(tǒng)、單板介紹
- 附件1黑龍江省事業(yè)單位聘用合同制管理辦法doc
- 蔬菜大棚溫度控制器設(shè)計(jì)(共20頁)
- LS-MASTER-K-指令手冊(cè)
- 《數(shù)據(jù)結(jié)構(gòu)》課程標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論