資源描述:
《微機(jī)原理課件第六章指令系統(tǒng)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、第六章指令系統(tǒng)一單片機(jī)的編程過(guò)程編寫(xiě)匯編語(yǔ)言源程序(.ASM)工具:文本編輯器編譯鏈接(.OBJ)I—工具:專用編譯器偽指令翻譯成機(jī)器碼以及程序的地址定位。J(.BIN或.ASM)EPROM工具:編程器例:TEST.ASM源文件ORG2018HDCB0BDHAXEQU1AHBXEQU1CHORG2080HMAIN:LDAX,#01HLDBX,#03HLJMPMAINEND編譯成.OBJ文件XXXXXX(定位信息)0BDHxxxxxx(定位信息)LD1AH,#O1HLD1CH,#O3HLJMP2080H翻譯成.HEX文件文件頭(0000H)空0BDH空A1H01H00H1AHA1H03H00
2、H1CHE7HF5HFFH2018H2080H2081H2082H2083H2084H2085H2086H2087H2088H2089H208AH文件尾二匯編語(yǔ)言指令格式:操作碼U操作數(shù),.....,操作數(shù)操作碼:指令類型(傳送、加、減、乘、除、邏輯判斷等)操作數(shù):代表操作碼所要操作的數(shù)據(jù)或數(shù)據(jù)存放的地址,在8098的指令系統(tǒng)中一條指令最多可以有三個(gè)操作數(shù)。三指令系統(tǒng)使用的數(shù)據(jù)類型共6種數(shù)據(jù)類型:指的是操作數(shù)的數(shù)據(jù)表示方式和所占用的字節(jié)數(shù)。A、字節(jié)型:無(wú)符號(hào)型(字節(jié)型)0?255;有符號(hào)型(短整數(shù)型)(補(bǔ)碼)-128?127B、字型:無(wú)符號(hào)型(字型)0?65535;有符號(hào)型(整數(shù)型)(補(bǔ)碼
3、)-32768?32767C、雙字型:無(wú)符號(hào)型(雙字型)0?232-1;有符號(hào)型(長(zhǎng)數(shù)型)(補(bǔ)碼)-231?231-1對(duì)于不同的數(shù)據(jù)類型分配數(shù)據(jù)的地址有限制。對(duì)于字節(jié)型地址可任意分配,對(duì)于字型低位地址必須是偶數(shù),對(duì)于雙字型最低位地址必須是4的倍數(shù)。在每條指令中,都己明確指定所使用的操作數(shù)的數(shù)據(jù)類型。尋址方式:尋址方式:在指令中操作數(shù)表達(dá)具體數(shù)據(jù)的方式。共有四種。A、立即數(shù)尋址:操作數(shù)直接就是數(shù)據(jù)。數(shù)據(jù)前應(yīng)加#號(hào)。例:例:例:例:LDB20H,#22H寄存器尋址:若數(shù)據(jù)是位于CPU內(nèi)部的寄存器組或SFR時(shí),可以使用寄存器尋址。采用寄存器尋址的操作數(shù)是用要讀寫(xiě)的寄存器或SFR的地址代表。對(duì)于字
4、或雙字操作數(shù)用最低位的地址代表。LDB20H,22H(將22H的內(nèi)容送到20H中)LD20H,22H(將22H、23H的內(nèi)容送到20H、21H中)寄存器間接尋址:對(duì)于讀寫(xiě)外部地址單元(通過(guò)外部地址、數(shù)據(jù)總線),采用寄存器間接尋址方式。寄存器間接尋址的操作數(shù)本身是CPU內(nèi)部的寄存器,他的內(nèi)容是要尋址的數(shù)據(jù)的地址。LD22H,4000H(錯(cuò))LD22H,#4000HLDB20HJ22H]22H,#4000H20H,[22H]+;(B)LDB自動(dòng)增量間接尋址:LD(A)LD執(zhí)行前:20H[00H];21H[00H];22H[00H];23H[00H](A)執(zhí)行后:20H[55H];21H[AAH
5、];22H[02H];23H[40H]4000H[55H];4001H[AAH](B)執(zhí)行后:20H[55H];21H[00H];22H[01H];23H[40H]D、變址尋址:由基地址和偏移地址組合形成的尋址方式例:比較間接尋址和變址尋址20H,[22H]+4000H[55H];4001H[AAH]4000H[55H];4001H[AAH]LD22H,#4000HLD20HJ22H]LD20H,30H[22H]間接尋址的地址是4000H,變址尋址的地址是4030H長(zhǎng)變址尋址和短變址尋址:若偏移量為八位二進(jìn)制數(shù)3二進(jìn)制數(shù),為長(zhǎng)變址尋址。為短變址尋址。若偏移量為16位ADD20H,22HAD
6、D20H,[22H]ADD[20H],[22H]ADD20H,22H,24HADD20H,22H,[24H]ADD20H,[22H],[24H]LDAX,#4000HLD[AX],#0001H為什么會(huì)有這樣的規(guī)律:操作碼I_I操作數(shù)76543210A1A0操作碼指明最后一個(gè)操作數(shù)的尋址方式,其余操作數(shù)的尋址方式隱含為寄存器尋例:短變址尋址LD20H,30H[22H]LD20H,-3H[22H]從-128?127短變址尋址的偏移量的范例:長(zhǎng)變址尋址LD20H,2000H[22H]長(zhǎng)變址尋址的偏移量范圍是0?65535零寄存器尋址:變址尋址的變形。零寄存器:在CPU內(nèi)部地址是OOH、01H的兩
7、個(gè)寄存器的內(nèi)容不能改變,就是零。例:LD20H,2000H[0]LD20H,30H[0]五指令中操作數(shù)使用尋址方式的規(guī)則:種尋址方式中的任一種,而其它操作數(shù)在任一個(gè)指令中,只有最后一個(gè)操作數(shù)可采用必須采用寄存器直接尋址方式。例:操作數(shù)其中,操作碼由八位二進(jìn)制數(shù)組成址方式六指令系統(tǒng)分類1、數(shù)據(jù)傳送指令2、算術(shù)運(yùn)算指令3、邏輯操作指令4、棧操作指令5、無(wú)條件轉(zhuǎn)移和調(diào)用指令6、條件轉(zhuǎn)移指令7、位為“0”或位為“1”轉(zhuǎn)移指令8、