指令系統(tǒng)(尋址方式).ppt
《指令系統(tǒng)(尋址方式).ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《指令系統(tǒng)(尋址方式).ppt(28頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1,第三章8086/8088CPU指令系統(tǒng),2,主要內(nèi)容:,本章的重點(diǎn)是理解8086常用指令的功能本章的難點(diǎn)是8086的各種尋址方式同學(xué)們一定要采用調(diào)試程序DEBUG進(jìn)行實(shí)踐,3,調(diào)試程序DEBUG,DEBUG是常用的匯編語言調(diào)試工具,為匯編語言程序員提供了分析指令、跟蹤程序的有效手段。常用命令:-A匯編-U反匯編-T單步執(zhí)行-G斷點(diǎn)執(zhí)行-D數(shù)據(jù)顯示-R寄存器,4,指令的基本構(gòu)成,操作碼,[操作數(shù)],,[操作數(shù)],,說明要執(zhí)行的是什么操作,,操作對(duì)象,可以有0個(gè)、1個(gè)或2個(gè),目的,源,5,指令舉例:,ADDAX,[SI+6],MOVAX,BX,操作碼操作數(shù),,,,INCBX,HLT,6,尋址方式,指令系統(tǒng)設(shè)計(jì)了多種操作數(shù)的來源,尋找操作數(shù)的過程就是操作數(shù)的尋址方式。操作數(shù)采取哪一種尋址方式,會(huì)影響機(jī)器運(yùn)行的速度和效率。如何尋址一個(gè)操作數(shù)對(duì)程序的設(shè)計(jì)來講也很重要。在8086指令系統(tǒng)中,操作數(shù)的尋址方式可分為4大類:①立即尋址②寄存器尋址③存儲(chǔ)器尋址④I/O尋址,7,操作數(shù)(為一常數(shù))直接由指令給出(此操作數(shù)稱為立即數(shù))立即尋址只能用于源操作數(shù),常用來給寄存器或存儲(chǔ)單元賦初值。例:MOVAX,1C8FHMOVBYTEPTR[2A00H],8FH錯(cuò)誤例:MOV2A00H,AX;錯(cuò)誤!,1.立即尋址,8,,,,,,立即數(shù),,,操作碼,低8位,高8位,,,,存儲(chǔ)器,,,,,,MOV操作碼,02H,31H,AH,AL,代碼段,代碼段,立即尋址指令在存儲(chǔ)器中的存放形式,AX,指令操作例:MOVAX,3102H;AX3102H執(zhí)行后,(AH)=31H,(AL)=02H,,用途:直接給出操作數(shù)據(jù),立即數(shù)存放在內(nèi)存的代碼段中,9,2.寄存器尋址,操作數(shù)放在某個(gè)寄存器中源操作數(shù)與目的操作數(shù)字長要相同寄存器尋址與段地址無關(guān)例:MOVAX,BXMOV[3F00H],AXMOVCL,AL錯(cuò)誤例:MOVAX,BL;字長不同MOVES:AX,DX;寄存器與段無關(guān),10,,,AX,SI,2233H,2233H,指令操作例:MOVSI,AX;SI(AX)指令執(zhí)行前:(AX)=2233H指令執(zhí)行后:(AX)=2233H,(SI)=2233H,,11,3.存儲(chǔ)器尋址3.1直接尋址,指令中直接給出存儲(chǔ)器操作數(shù)的16位偏移地址。存儲(chǔ)器偏移地址也稱為有效地址(EA,EffectiveAddress)存儲(chǔ)器直接尋址默認(rèn)的段寄存器為DS,但也可以顯式地指定其他段寄存器——稱為段超越前綴存儲(chǔ)器偏移地址也可用符號(hào)地址來表示,如ADDR、VAR例:MOVAX,[2A00H];段頭隱含為DSMOVDX,ES:[2A00H];段超越MOVSI,TABLE_PTR;段頭隱含為DS,12,例:MOVAX,[3102H];AL(3102H),AH(3103H),,,如果(DS)=2000H,(23102H)=CDH,(23103H)=ABH則操作數(shù)的物理地址為:20000H+3102H=23102H指令執(zhí)行后:(AX)=0ABCDH,,,,,MOV操作碼,02H,31H,,,,,,,AH,AL,,,,,23102H,CDH,ABH,存儲(chǔ)器,,,代碼段,數(shù)據(jù)段,..,23103H,13,3.2寄存器間接尋址,操作數(shù)的偏移地址(有效地址EA)放在寄存器中只有SI、DI、BX和BP可作間址寄存器例:MOVAX,[BX]MOVCL,CS:[DI]錯(cuò)誤例:MOVAX,[DX]MOVCL,[AX],EA=,(BX)(BP)(SI)(DI),,,14,指令操作例:MOVAX,[SI]若(DS)=6000H,(SI)=1200H,(61200H)=44H,(61201H)=33H則指令執(zhí)行后,(AX)=3344H。,15,3.3寄存器相對(duì)尋址,EA=間址寄存器的內(nèi)容+8/16位的位移量,EA=,(BX)(BP)(SI)(DI),,,+,8位16位,,,位移量,16,例:MOVAX,[BX+8]MOVCX,TABLE[SI]MOVAX,[BP+1000H];默認(rèn)段寄存器為SS指令操作例:MOVAX,DATA[BX]若(DS)=6000H,(BX)=1000H,DATA=2A00H,(63A00H)=66H,(63A01H)=55H則物理地址=60000H+1000H+2A00H=63A00H指令執(zhí)行后:(AX)=5566H(見下頁圖示),17,,,,操作碼,,,,,,00偏移量低,2A偏移量高,DS60000,BX1000,+DATA2A00,,,,,63A00,63A00H,,,AH,AL,AX,,,,,代碼段,數(shù)據(jù)段,,...,...,...,66H,55H,MOVAX,DATA[BX],18,3.4基址變址尋址,若操作數(shù)的偏移地址:由基址寄存器(BX或BP)給出——基址尋址方式由變址寄存器(SI或DI)給出——變址尋址方式,由一個(gè)基址寄存器的內(nèi)容和一個(gè)變址寄存器的內(nèi)容相加而形成操作數(shù)的偏移地址,稱為基址變址尋址。,EA=,(BX)(BP),,,+,(SI)(DI),,,同一組內(nèi)的寄存器不能同時(shí)出現(xiàn)。,基址寄存器,變址寄存器,19,例:MOVAX,[BX][SI]MOVAX,[BX+SI]同一尋址方式可以有不同的表示形式。MOVAX,DS:[BP][DI]錯(cuò)誤例:MOVAX,[BX][BP]MOVAX,[DI][SI],20,83000,,,,操作碼,,,,,,DS80000,BX2000,+SI1000,,,,,83000H,,,AH,AL,AX,,,代碼段,數(shù)據(jù)段,,,,...,...,...,YY,XX,指令操作例:MOVAX,[BX][SI]假定:(DS)=8000H,(BX)=2000H,(SI)=1000H則物理地址=80000H+2000H+1000H=83000H指令執(zhí)行后:(AL)=[83000H](AH)=[83001H],21,3.5相對(duì)基址變址尋址,在基址變址尋址的基礎(chǔ)上再加上一個(gè)相對(duì)位移量注意事項(xiàng)同基址變址尋址,EA=,(BX)(BP),,,+,(SI)(DI),,,+,8位16位,,,位移量,例:,MOVAX,BASE[SI][BX]MOVAX,[BX+BASE][SI]MOVAX,[BX+SI+BASE]MOVAX,[BX]BASE[SI]MOVAX,[BX+SI]BASE,基址,變址,22,指令操作例:MOVAX,DATA[DI][BX]若(DS)=8000H,(BX)=2000H,(DI)=1000H,DATA=200H則指令執(zhí)行后(AH)=[83021H],(AL)=[83020H],,83200,83200H,,,AH,AL,AX,+DATA0200,,,,,操作碼,,,,,,,,代碼段,數(shù)據(jù)段,...,...,...,YY,XX,,,,,DS80000,BX2000,DI1000,,,,,23,4.I/O尋址方式,直接給出端口的地址,但尋址范圍為00H~0FFH,端口地址存放在寄存器DX中,尋址范圍:0000H~0FFFFH,例:INAL,78HOUT56H,ALINAX,23HOUT67H,AX,例:INAL,DXOUTDX,ALINAX,DXOUTDX,AX,4.1直接尋址方式:,,4.2寄存器間接尋址:,24,小結(jié),指令由()和()構(gòu)成,如何取得操作數(shù)——稱為(),操作碼,操作數(shù),尋址方式,25,,尋址方式可分8種,立即尋址,直接尋址-針對(duì)M、I/O,寄存器相對(duì)尋址-針對(duì)M,寄存器尋址-針對(duì)R,基址變址尋址-針對(duì)M,相對(duì)基址變址尋址-針對(duì)M,,寄存器間接尋址-針對(duì)M、I/O,26,尋址方式小結(jié):(1)除了立即尋址和寄存器尋址外,其它尋址方式的操作數(shù)都來自存儲(chǔ)區(qū)(除代碼段以外的存儲(chǔ)區(qū))或I/O端口。通過不同的方式尋找到操作數(shù)的地址。(2)只有BX、BP、SI、DI可在方括號(hào)[]內(nèi)出現(xiàn)。(3)BX或BP可單獨(dú)出現(xiàn)在[]內(nèi),也可以與SI或DI或常數(shù)一起出現(xiàn)在[]內(nèi),不允許BX和BP同時(shí)出現(xiàn)在一個(gè)[]內(nèi)。(4)SI或DI可單獨(dú)出現(xiàn)在[]內(nèi),也可以與BX或BP或常數(shù)一起出現(xiàn)在[]內(nèi),不允許SI或DI同時(shí)出現(xiàn)在一個(gè)[]內(nèi)。(5)一個(gè)[]內(nèi)包括多個(gè)內(nèi)容時(shí),它們只能作加法運(yùn)算。(6)若[]內(nèi)包含BP,則隱含使用堆棧段寄存器SS提供段基址,否則均隱含使用段寄存器DS提供段基址。,27,8086指令系統(tǒng)概述,Intel8086指令系統(tǒng)共有117條基本指令,可分成6個(gè)功能組:①數(shù)據(jù)傳送類指令②算術(shù)運(yùn)算類指令③邏輯運(yùn)算和移位類指令④串操作類指令⑤控制轉(zhuǎn)移類指令⑥處理器控制類指令如何學(xué)習(xí)呢?,28,學(xué)習(xí)指令的注意事項(xiàng),指令的功能——該指令能夠?qū)崿F(xiàn)何種操作。通常指令助記符就是指令功能的英文單詞或其縮寫形式。指令支持的尋址方式——該指令中的操作數(shù)可以采用何種尋址方式。指令對(duì)標(biāo)志的影響——該指令執(zhí)行后是否對(duì)各個(gè)標(biāo)志位有影響,以及如何影響。其他方面——該指令其他需要特別注意的地方,如指令執(zhí)行時(shí)的約定設(shè)置、必須預(yù)置的參數(shù)、隱含使用的寄存器等。,- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 指令系統(tǒng) 尋址 方式
鏈接地址:http://appdesigncorp.com/p-12865769.html