第五章 指令系統(tǒng)與順序結(jié)構(gòu)程序設(shè)計(jì)_第1頁
第五章 指令系統(tǒng)與順序結(jié)構(gòu)程序設(shè)計(jì)_第2頁
第五章 指令系統(tǒng)與順序結(jié)構(gòu)程序設(shè)計(jì)_第3頁
第五章 指令系統(tǒng)與順序結(jié)構(gòu)程序設(shè)計(jì)_第4頁
第五章 指令系統(tǒng)與順序結(jié)構(gòu)程序設(shè)計(jì)_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第五章第五章 指令系統(tǒng)與指令系統(tǒng)與順序結(jié)構(gòu)程序程序順序結(jié)構(gòu)程序程序 5.1 數(shù)據(jù)傳送指令及數(shù)據(jù)傳送程序設(shè)計(jì)【尋址參數(shù)說明尋址參數(shù)說明】IMM:立即數(shù);:立即數(shù); IMM8,IMM16。 REG:寄存器;:寄存器;REG8,REG16,SEGREG。 MEM:存儲(chǔ)器;:存儲(chǔ)器;MEM8,MEM16,MEM32?!局噶铑愋驼f明指令類型說明】數(shù)據(jù)傳送類;算術(shù)運(yùn)算類;位操作類(位運(yùn)算、移位)數(shù)據(jù)傳送類;算術(shù)運(yùn)算類;位操作類(位運(yùn)算、移位)串操作類;轉(zhuǎn)移類;處理器控制類;輸入輸出類;串操作類;轉(zhuǎn)移類;處理器控制類;輸入輸出類;第五章第五章 順序結(jié)構(gòu)程序程序順序結(jié)構(gòu)程序程序 5.1 數(shù)據(jù)傳送指令及數(shù)據(jù)傳送

2、程序設(shè)計(jì)一、通用數(shù)據(jù)傳送指令一、通用數(shù)據(jù)傳送指令1.數(shù)據(jù)傳送指令-MOV(P33) 格式、作用、說明、 操作數(shù)組合關(guān)系(P51) 類型一致性(PTR) 例:3.12-3.14第五章第五章 順序結(jié)構(gòu)程序程序順序結(jié)構(gòu)程序程序 5.1 數(shù)據(jù)傳送指令及數(shù)據(jù)傳送程序設(shè)計(jì)一、通用數(shù)據(jù)傳送指令一、通用數(shù)據(jù)傳送指令2.堆棧指令-PHSH、POP(P34) 堆棧與作用:保護(hù)、交換、子程序參數(shù)傳遞 堆棧操作:PHSH、POP格式 PUSH REG16; POP REG16 PUSH MEM16; POP MEM16 PUSHF; POPF PHSH、POP格式執(zhí)行過程 例:3.15-3.17、課上補(bǔ)充第五章第五章

3、 順序結(jié)構(gòu)程序程序順序結(jié)構(gòu)程序程序 5.1 數(shù)據(jù)傳送指令及數(shù)據(jù)傳送程序設(shè)計(jì)一、通用數(shù)據(jù)傳送指令一、通用數(shù)據(jù)傳送指令 3.交換指令-XCHG(P35)【格式】XCHG REG,REG; XCHG REG,MEM; XCHG MEM, REG二、累加器專用傳送指令二、累加器專用傳送指令-XLAT(P35) 指令格式: XLAT 執(zhí)行過程:執(zhí)行過程:DS:(BX+AL) -(AL) 作用:換碼。(編碼轉(zhuǎn)化)作用:換碼。(編碼轉(zhuǎn)化) 例:例:3.18。 * IN、OUT:在:在“第十章第十章 輸入輸入/輸出程序設(shè)計(jì)輸出程序設(shè)計(jì)”中講。中講。第五章第五章 順序結(jié)構(gòu)程序程序順序結(jié)構(gòu)程序程序 5.1 數(shù)據(jù)傳

4、送指令及數(shù)據(jù)傳送程序設(shè)計(jì)三、地址傳送指令三、地址傳送指令-LEA、LDS、LES(P36)1. 裝入有效地址-LEA 格式、作用、例:格式、作用、例:3.21。2. 裝入裝入32位地址位地址- LDS、LES 格式、作用、例:格式、作用、例:3.22。 地址傳送指令的說明。地址傳送指令的說明。四、標(biāo)志傳送指令四、標(biāo)志傳送指令-LAHF、SAHF、 PHSHF、POPF(P36)五、五、數(shù)據(jù)傳送指令綜合表-P32/表3.4第五章第五章 順序結(jié)構(gòu)程序程序順序結(jié)構(gòu)程序程序 5.2算術(shù)運(yùn)算指令及算術(shù)運(yùn)算程序設(shè)計(jì)二、加法指令二、加法指令1. 加法指令與含義加法指令與含義 ADD 、ADC、 INC 2.

5、 允許的操作數(shù)方式允許的操作數(shù)方式 INC : REG / MEM ADD,ADC : reg reg ; reg mem ; mem data ; reg data ;第五章第五章 順序結(jié)構(gòu)程序程序順序結(jié)構(gòu)程序程序 5.2算術(shù)運(yùn)算指令及算術(shù)運(yùn)算程序設(shè)計(jì)一、一、算術(shù)運(yùn)算指令綜合表-P32/表3.4二、加法指令二、加法指令(P38)1. 加法指令與含義加法指令與含義 ADD 、ADC、 INC 2. 允許的操作數(shù)方式允許的操作數(shù)方式 INC : reg / mem ADD,ADC : REG REG ; REG MEM ; MEM IMM ; REG IMM ;第五章 順序結(jié)構(gòu)程序程序 5.2算

6、術(shù)運(yùn)算指令及算術(shù)運(yùn)算程序設(shè)計(jì)二、加法指令3. 對(duì)標(biāo)志位的影響 ADD,ADC : 影響ZF,SF,OF,CF INC : 影響ZF,SF,OF4. 標(biāo)志位的設(shè)置方法與目的 ZF:結(jié)果=0,ZF=1;結(jié)果0,ZF=0。反映了“結(jié)果是否為零”。 SF:與結(jié)果的符號(hào)位相同。反映了“帶符號(hào)數(shù)結(jié)果的正負(fù)”。 OF:兩操作數(shù)符號(hào)相同而結(jié)果符號(hào)相反,OF=1;其他情況,OF=0。 標(biāo)志著“帶符號(hào)數(shù)的加法溢出”:OF=1溢出;OF=0不溢出。 CF:結(jié)果的最高位有進(jìn)位,CF=1;結(jié)果的最高位無進(jìn)位,CF=0。 標(biāo)志著“不帶符號(hào)數(shù)的加法溢出”:CF=1溢出;CF=0不溢出。(5) ADC的作用:用于實(shí)現(xiàn)“多字節(jié)

7、(字)”加法運(yùn)算。 (6) INC的作用 :快速加1。第五章第五章 順序結(jié)構(gòu)程序程序順序結(jié)構(gòu)程序程序 5.2算術(shù)運(yùn)算指令及算術(shù)運(yùn)算程序設(shè)計(jì)二、加法指令(P38)5. 實(shí)例 3.23-3.25 清華第一版P46:標(biāo)志作用的實(shí)例 補(bǔ)充:清華第一版P46 ADD DX,0F0F0H ;DX=4652H 補(bǔ)充:清華第一版P46 DX=0002H;AX=0F365H;BX=0005H;CX=0E024H ADD AX, CX ADC DX, BX第五章第五章 順序結(jié)構(gòu)程序程序順序結(jié)構(gòu)程序程序 5.2算術(shù)運(yùn)算指令及算術(shù)運(yùn)算程序設(shè)計(jì)三、減法指令(P39) SUB、SBB、DEC、CMP、NEG CMP:相當(dāng)

8、于SUB,但結(jié)果不回送,只改變標(biāo)志位, 用于轉(zhuǎn)移控制。 NEG:?jiǎn)尾僮鲾?shù)指令,求補(bǔ)。例:清華P48/3.33 設(shè)DS=3000,SI=0040, (30054H)=4336H, 執(zhí)行SUB SI+14H, 0136H后的結(jié)果及標(biāo)志。例:清華P48/3.34設(shè)SS=0000,BP=00E4H, (000E8H)=5AH, DH=A1H,執(zhí)行SUB DH, BP+04后的結(jié)果及標(biāo)志。第五章第五章 順序結(jié)構(gòu)程序程序順序結(jié)構(gòu)程序程序 5.2算術(shù)運(yùn)算指令及算術(shù)運(yùn)算程序設(shè)計(jì)四、乘法指令(P39) 乘法指令 MUL / IMUL 乘法指令格式 MUL/IMUL REG/MEM(有一個(gè)操作數(shù)隱含為AL或AX,

9、具體AL還是AX,由REG/MEM決定,MEM時(shí)加PTR) 8/16位數(shù)操作問題 由reg / mem的數(shù)據(jù)性質(zhì)決定 溢出問題 不會(huì)溢出 第五章第五章 順序結(jié)構(gòu)程序程序順序結(jié)構(gòu)程序程序 5.2算術(shù)運(yùn)算指令及算術(shù)運(yùn)算程序設(shè)計(jì)四、乘法指令(P39) IMUL的符號(hào)擴(kuò)展問題 例:BX=1F1FH,AX=1010H, 執(zhí)行IMUL BX后AX,DX =? 例:BX=9F1FH,AX=0001H, 執(zhí)行IMUL BX后AX,DX =? 符號(hào)擴(kuò)展指令 CBW:AL的符號(hào)位擴(kuò)展至AX CWD:AX的符號(hào)位擴(kuò)展至DX。第五章第五章 順序結(jié)構(gòu)程序程序順序結(jié)構(gòu)程序程序 5.2算術(shù)運(yùn)算指令及算術(shù)運(yùn)算程序設(shè)計(jì)四、乘法

10、指令(P39) 符號(hào)位 影響CF,OF;其它位“無意義”。 CF,OF的設(shè)置: IMUL:當(dāng)高16/8位是低16/8位的“符號(hào)擴(kuò)展”。 MUL:當(dāng)高16/8位是0。 CF=0,OF=0。 其他情況:CF=1,OF=1。 反映了:8*8位運(yùn)算結(jié)果是否仍為8位 或16*16位運(yùn)算結(jié)果是否仍為16位 第五章第五章 順序結(jié)構(gòu)程序程序順序結(jié)構(gòu)程序程序 5.2算術(shù)運(yùn)算指令及算術(shù)運(yùn)算程序設(shè)計(jì)四、乘法指令(P39) 例P40/例3.26 第五章第五章 順序結(jié)構(gòu)程序程序順序結(jié)構(gòu)程序程序 5.2算術(shù)運(yùn)算指令及算術(shù)運(yùn)算程序設(shè)計(jì)五、除法指令(P39) 除法指令 DIV / IDIV 除法指令格式 DIV / IDIV

11、 SRC(被除數(shù)隱含為AX或DX,AX) 除數(shù)允許的操作數(shù)方式 reg / mem 8/16位數(shù)操作問題 32/16,或16/8形式,由reg / mem的數(shù)據(jù)性質(zhì)決定 除法結(jié)果存儲(chǔ) 商:AX(AL) 余數(shù): DX(AH) 第五章第五章 順序結(jié)構(gòu)程序程序順序結(jié)構(gòu)程序程序 5.2算術(shù)運(yùn)算指令及算術(shù)運(yùn)算程序設(shè)計(jì)五、除法指令(P39) 結(jié)果符號(hào) 商的符號(hào):正/余數(shù)符號(hào):與被除數(shù)符號(hào)相同 結(jié)果溢出,包括除0溢出 產(chǎn)生0號(hào)軟中斷 標(biāo)志位 不確定 符號(hào)擴(kuò)展指令 CBW / CWD 常用于除法指令前,用于協(xié)調(diào)被除數(shù)位數(shù)。第五章第五章 順序結(jié)構(gòu)程序程序順序結(jié)構(gòu)程序程序 5.2算術(shù)運(yùn)算指令及算術(shù)運(yùn)算程序設(shè)計(jì)六、

12、四則運(yùn)算綜合實(shí)例 例計(jì)算(V-(X*Y+Z-540)/X;其中:X,Y,Z,V均為16位 帶符號(hào)數(shù),結(jié)果要求:商存于AX,余數(shù)存于DX。 混合四則運(yùn)算的實(shí)現(xiàn)要點(diǎn) 存儲(chǔ)單元設(shè)計(jì)與運(yùn)算過程設(shè)計(jì) 格外注意中間結(jié)果的位數(shù) 對(duì)除法(乘法)的符號(hào)擴(kuò)展問題 32位數(shù)的配對(duì)寄存器,(DX,AX),(CX,BX),*(DI,SI)六、四則運(yùn)算綜合實(shí)例 計(jì)算(V-(X*Y+Z-540)/X; MOV AX,X ;(DX,AX)X*Y IMUL MOV CX,AX ;(BX,CX) (DX,AX) MOV BX,DX MOV AX,Z ;(DX,AX) Z CWD ADD CX,AX ;(BX,CX) (X*Y)+

13、Z ADC BX,DX SUB CX,540 ;(BX,CX) (BX,CX) -540 SBB BX,0 MOV AX,V ;(DX,AX) V CWD SUB AX,CX ;(DX,AX)(DX,AX)- (BX,CX) SBB DX,BX IDIV X ; (DX,AX) (DX,AX)/X第五章第五章 順序結(jié)構(gòu)程序程序順序結(jié)構(gòu)程序程序 5.2算術(shù)運(yùn)算指令及算術(shù)運(yùn)算程序設(shè)計(jì)七、作業(yè) 【補(bǔ)充1】X,Y,Z,W均為16位無符號(hào)數(shù),編程實(shí)現(xiàn) (1)Z2*X-3*Y+W; (2)W(X-2)/ 2+Y; 如果X,Y,Z,W均為16位帶符號(hào)數(shù),程序又如何?!狙a(bǔ)充2】假設(shè)(AX)=62A0H,分別執(zhí)

14、行下列指令后,(AX)=?,SF,ZF,CF,OF分別為何?反映出什么問題? (1) ADD AX,1234H (2) ADD AX,4321H (3) ADD AX,0CFA0H (4) ADD AX,9D60H第五章第五章 順序結(jié)構(gòu)程序程序順序結(jié)構(gòu)程序程序 5.3 邏輯運(yùn)算指令及邏輯運(yùn)算程序設(shè)計(jì)一、邏輯運(yùn)算指令(P42) 邏輯運(yùn)算指令 :AND / OR / NOT / XOR / TEST 操作數(shù)的尋址方式 reg reg / reg mem / mem data / reg data 對(duì)標(biāo)志位的影響 NOT:不影響標(biāo)志位 其他:CF,OF=0 ; 影響SF,ZF,PF。 典型應(yīng)用 P4

15、2;AND用于屏蔽、OR用于置位、XOR用于清零第五章第五章 順序結(jié)構(gòu)程序程序順序結(jié)構(gòu)程序程序 5.3 邏輯運(yùn)算指令及邏輯運(yùn)算程序設(shè)計(jì)二、移位運(yùn)算指令(P42) 1. 移位指令及其目的 算術(shù)移位:SAL/SAR 用于帶符號(hào)數(shù)的乘2n/除2n運(yùn)算。 邏輯移位:SHL/SHR 用于無符號(hào)數(shù)的乘2n/除2n運(yùn)算。 用于對(duì)某些位進(jìn)行0/1檢測(cè)。5.3 邏輯運(yùn)算指令及邏輯運(yùn)算程序設(shè)計(jì)二、移位運(yùn)算指令(P42) 對(duì)標(biāo)志位的設(shè)置方法 OF:CNT=1時(shí)有效,表示算術(shù)右移的一種情況。 SF,PF,ZF: 根據(jù)實(shí)際情況設(shè)定。 指令格式 XXX OPR, CNT XXX:移位指令 OPR:移位數(shù)據(jù),可以是除立即數(shù)

16、外的任何 尋址方式(reg,mem),可以是8位 /1 6位運(yùn)算。 CNT:移位次數(shù)??梢允?或CL。 作用 乘2n/除2n運(yùn)算。 位測(cè)試與位控運(yùn)算。 以位為單位的數(shù)據(jù)裝配,包括代碼轉(zhuǎn)換。5.3 邏輯運(yùn)算指令及邏輯運(yùn)算程序設(shè)計(jì)三、作業(yè) 【補(bǔ)充2】假設(shè)(DX)=0F7H,變量DATA1中內(nèi)容=9EH,確定下列每條指令執(zhí)行后的DX內(nèi)容。 (1) AND DX,DATA1 (2) XOR DX,DATA1 (3) OR DX,DATA1 (4) SHL DX,1 (5) XOR DX,0FFH (6) AND DX,0 (7) TEST DX,80H (8) TEST DX,01H【補(bǔ)充3】假設(shè)(B

17、X)=6CB5H,執(zhí)行下列每組指令后,(BX)=?。 (1) MOV CL,04H SHR BX,CL (2) MOV CL,03H SAL BX,CL (3) ROR BX,1 (4) MOV CL,06H RCR BX,CL【補(bǔ)充4】設(shè)(AX)=0012H,(BX)=0034H,執(zhí)行下列指令序列后,(AX)=?。 MOV CL,8 ROL AX,CL ADD AX,BX第五章第五章 順序結(jié)構(gòu)程序程序順序結(jié)構(gòu)程序程序 5.4 簡(jiǎn)單的I/O系統(tǒng)功能調(diào)用一、什么是dos系統(tǒng)功能調(diào)用二、dos系統(tǒng)功能調(diào)用編程方法三、與輸入/輸出有關(guān)的系統(tǒng)功能調(diào)用 p83-86 (01,02,07,08,09,0A,4C號(hào))5.5 順序結(jié)構(gòu)綜合程序設(shè)計(jì)一、順序結(jié)構(gòu)程序設(shè)計(jì)方法與步驟 理解問題:輸入、輸出、處理。 內(nèi)存單元分配:變量設(shè)計(jì)。 處理步驟設(shè)計(jì):先做什么、又做什么、再做什么。 每一步驟的算法設(shè)計(jì)及寄存器分配。二、實(shí)例 【例P86/6.7】 求矩型中陰影部分的面積。 【例】 從鍵盤輸入一個(gè)2位十進(jìn)制數(shù),轉(zhuǎn)換成二進(jìn)制數(shù)存于字節(jié)單元W中。5.5 順序結(jié)構(gòu)綜合程序設(shè)計(jì)三、BCD數(shù)及其運(yùn)算 1. BCD碼、壓

溫馨提示

  • 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論