微機原理第02章指令系統(tǒng)_第1頁
微機原理第02章指令系統(tǒng)_第2頁
微機原理第02章指令系統(tǒng)_第3頁
微機原理第02章指令系統(tǒng)_第4頁
微機原理第02章指令系統(tǒng)_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第2章第2章:2.2.2 算術(shù)運算類指令算術(shù)運算類指令用來執(zhí)行二進制的算術(shù)運算:加減乘除。這類指令會根據(jù)運算結(jié)果影響狀態(tài)標(biāo)志,有時要利用某些標(biāo)志才能得到正確的結(jié)果;使用他們時請留心有關(guān)狀態(tài)標(biāo)志重點掌握加法指令:ADD、ADC、INC 減法指令:SUB 、SBB、DEC、CMP、NEG第2章:2.2.2 加法和減法指令加法指令:ADD, ADC和INC減法指令:SUB, SBB, DEC, NEG和CMP他們分別執(zhí)行字或字節(jié)的加法和減法運算,除INC和DEC不影響CF標(biāo)志外,其他按定義影響全部狀態(tài)標(biāo)志位操作數(shù)組合:運算指令助記符 reg, imm/reg/mem運算指令助記符 mem, imm/

2、reg第2章:1. 加和減指令 ADD dest,src;加法:destdestsrc;ADD指令使目的操作數(shù)加上源操作數(shù),和的結(jié)果送到目的操作數(shù)SUB dest,src;減法:destdestsrc;SUB指令使目的操作數(shù)減去源操作數(shù),差的結(jié)果送到目的操作數(shù)第2章:例題2.7 加法mov ax,7348h;AX7348Hadd al,27h;AL48H27H6FH,AX736FH;OF0,SF0,ZF0,PF1,CF0add ax,3fffh;AX736FH3FFFHB36EH;OF1,SF1,ZF0,PF0,CF0第2章:例題2.7 減法sub ah,0f0h;AHB3HF0HC3H,AX

3、C36EH;OF0,SF1,ZF0,PF1,CF1mov word ptr200h,0ef00h;200HEF00H,標(biāo)志不變sub 200h,ax;200HEF00HC36EH2B92H;OF0,SF0,ZF0,PF0,CF0sub si,si;SI0;OF0,SF0,ZF1,PF1,CF0第2章:2. 帶進位加和減指令 ADC dest,src;加法:destdestsrcCF;ADC指令除完成ADD加法運算外,還要加上進位CF,結(jié)果送到目的操作數(shù)SBB dest,src;減法:destdestsrcCF;SBB指令除完成SUB減法運算外,還要減去借位CF,結(jié)果送到目的操作數(shù)第2章:例2.

4、8 無符號雙字加法和減法mov ax,7856h;AX7856Hmov dx,8234h;DX8234Hadd ax,8998h;AX01EEH,CF1adc dx,1234h;DX9469H,CF0sub ax,4491h;AXBD5DH,CF1sbb dx,8000h;DX1468H,CF0DX.AX8234 7856H1234 8998H8000 4491H1468 BD5DH第2章:3. 比較指令CMP(compare)CMP dest,src;做減法運算:destsrc;CMP指令將目的操作數(shù)減去源操作數(shù),但差值不回送目的操作數(shù)比較指令通過減法運算影響狀態(tài)標(biāo)志,用于比較兩個操作數(shù)的大

5、小關(guān)系cmp ax,bxcmp al,100第2章:4. 增量和減量指令I(lǐng)NC reg/mem;增量(加1):reg/memreg/mem1DEC reg/mem;減量(減1):reg/memreg/mem1INC指令和DEC指令是單操作數(shù)指令與加法和減法指令實現(xiàn)的加1和減1不同的是:INC和DEC不影響CF標(biāo)志inc si;sisi1dec byte ptr si;sisi1第2章:5. 求補指令NEG(negtive)NEG reg/mem;reg/mem0reg/memNEG指令對操作數(shù)執(zhí)行求補運算,即用零減去操作數(shù),然后結(jié)果返回操作數(shù)求補運算也可以表達成:將操作數(shù)按位取反后加1NEG指

6、令對標(biāo)志的影響與用零作減法的SUB指令一樣NEG指令也是一個單操作數(shù)指令第2章:例題2.9 求補運算mov ax,0ff64hneg al;AL064H9CH,AXFF9CH;OF0SF1,ZF0,PF1,CF1sub al,9dh;AL9CH9DHFFH,AXFFFFH;OF0,SF1,ZF0,PF1,CF1neg ax;AX0FFFFH0001H;OF0,SF0,ZF0,PF0,CF1dec al;AL01H10,AX0000H;OF0,SF0,ZF1,PF1,CF1neg ax;AX000;OF0,SF0,ZF1,PF1,CF0第2章:2.2.3 符號擴展指令符號擴展是指用一個操作數(shù)的符

7、號位(最高位)形成另一個操作數(shù),后一個操作數(shù)的高位是全0(正數(shù))或全1(負(fù)數(shù))符號擴展雖然使數(shù)據(jù)位數(shù)加長,但數(shù)據(jù)大小并沒有改變,擴展的高部分僅是低部分的符號擴展符號擴展指令有兩條,用來將字節(jié)轉(zhuǎn)換為字,字轉(zhuǎn)換為雙字CBW;AL符號擴展成AXCWD;AX符號擴展成DX第2章:例題2.10 符號擴展mov al,64h;AL64H (機器數(shù)) ,表示10進制數(shù)100(真值)cbw;將符號0擴展,AX0064H,仍然表示100mov ax,0ff00h;AXFF00H,表示有符號10進制數(shù)256cwd;將符號位“1”擴展,DX.AXFFFFFF00H;仍然表示256第2章:2.2.4 乘法和除法指令乘

8、法指令分無符號和有符號乘法指令MUL reg/mem;無符號乘法IMUL reg/mem;有符號乘法除法指令分無符號和有符號除法指令DIV reg/mem;無符號除法IDIV reg/mem;有符號除法第2章:2.2.4 十進制調(diào)整指令 十進制數(shù)調(diào)整指令對二進制運算的結(jié)果進行十進制調(diào)整,以得到十進制的運算結(jié)果,以此實現(xiàn)十進制BCD碼運算8088指令系統(tǒng)支持兩種BCD碼調(diào)整運算壓縮BCD碼就是通常的8421碼;它用4個二進制位表示一個十進制位,一個字節(jié)可以表示兩個十進制位,即0099非壓縮BCD碼用8個二進制位表示一個十進制位,只用低4個二進制位表示一個十進制位09,高4位任意,通常默認(rèn)為0第2

9、章:編碼的比較真值(十進制)864二進制編碼08H40H壓縮BCD碼08H64H非壓縮BCD碼08H0604HASCII碼38H3634H壓縮BCD碼加減法調(diào)整指令DAA DAS非壓縮BCD碼加減乘除法調(diào)整指令A(yù)AA AAS AAM AAD第2章:2.2.5 位操作類指令 位操作類指令以二進制位為基本單位進行數(shù)據(jù)的操作當(dāng)需要對字節(jié)或字?jǐn)?shù)據(jù)中的各個二進制位操作時,可以考慮采用位操作類指令注意這些指令對標(biāo)志位的影響1. 邏輯運算指令A(yù)ND OR XOR NOT TEST2. 移位指令SHL SHR SAR3. 循環(huán)移位指令ROL ROR RCL RCR第2章:2.2.6 邏輯運算指令雙操作數(shù)邏輯指

10、令A(yù)ND、OR、XOR和TEST設(shè)置CFOF0,根據(jù)結(jié)果設(shè)置SF、ZF和PF狀態(tài),而對AF未定義;它們的操作數(shù)組合與ADD、SUB等一樣:運算指令助記符 reg, imm/reg/mem運算指令助記符 mem, imm/reg 單操作數(shù)邏輯指令NOT不影響標(biāo)志位,操作數(shù)與INC、DEC和NEG一樣:NOT reg/mem第2章:邏輯與指令A(yù)ND對兩個操作數(shù)執(zhí)行邏輯與運算,結(jié)果送目的操作數(shù)AND dest,src;destdestsrc 只有相“與”的兩位都是1,結(jié)果才是1;否則,“與”的結(jié)果為0第2章:邏輯或指令OR對兩個操作數(shù)執(zhí)行邏輯或運算,結(jié)果送目的操作數(shù)OR dest,src;destd

11、estsrc只要相“或”的兩位有一位是1,結(jié)果就是1;否則,結(jié)果為0第2章:邏輯異或指令XOR對兩個操作數(shù)執(zhí)行邏輯異或運算,結(jié)果送目的操作數(shù)XOR dest,src;destdestsrc只有相“異或”的兩位不相同,結(jié)果才是1;否則,結(jié)果為0第2章:測試指令TEST對兩個操作數(shù)執(zhí)行邏輯與運算,結(jié)果并不送目的操作數(shù),僅按AND指令影響標(biāo)志TEST dest,src;destsrc AND與TEST指令的關(guān)系,同SUB與CMP指令的關(guān)系一樣第2章:邏輯非指令NOT對一個操作數(shù)執(zhí)行邏輯非運算NOT reg/mem;reg/memreg/mem 按位取反,原來是“0”的位變?yōu)椤?”;原來是“1”的位變

12、為“0”第2章:例2. 11 邏輯運算mov al,75h;AL75Hand al,32h;AL30H;CFOF0, SF0,ZF0,PF1or al,71h;AL71H;CFOF0,SF0,ZF0,PF1xor al,0f1h;AL80H;CFOF0,SF1,ZF0,PF0not al;AL7FH,標(biāo)志不變第2章: 例2.12 邏輯運算指令的應(yīng)用and bl,11110110b;BL中D0和D3清0,其余位不變or bl,00001001b;BL中D0和D3置1,其余位不變xor bl,00001001b;BL中D0和D3求反,其余位不變 AND指令可用于復(fù)位某些位(同0相與),不影響其他位

13、 OR指令可用于置位某些位(同1相或),不影響其他位 XOR指令可用于求反某些位(同1相異或),不影響其他位第2章:2.2.6 移位指令將操作數(shù)移動一位或多位,分成邏輯移位和算術(shù)移位,分別具有左移或右移操作移位指令的第一個操作數(shù)是指定的被移位的操作數(shù),可以是寄存器或存儲單元;后一個操作數(shù)表示移位位數(shù):該操作數(shù)為1,表示移動一位該操作數(shù)為CL,CL寄存器值表示移位位數(shù) (移位位數(shù)大于1只能CL表示)按照移入的位設(shè)置進位標(biāo)志CF,根據(jù)移位后的結(jié)果影響SF、ZF、PF第2章:邏輯左移指令SHLSHL reg/mem,1/CL;reg/mem左移1或CL位;最低位補0,最高位進入CF演示第2章:邏輯右

14、移指令SHRSHR reg/mem,1/CL;reg/mem右移1/CL位;最高位補0,最低位進入CF演示第2章:算術(shù)左移指令SALSAL reg/mem,1/CL;與SHL是同一條指令演示第2章:算術(shù)右移指令SARSAR reg/mem,1/CL;reg/mem右移1/CL位;最高位不變,最低位進入CF演示第2章:例2.13 數(shù)據(jù)移位mov dx,6075h;DX01100000 01110101Bshl dx,1;DX11000000 11101010B;CF0,SF1、ZF0、PF0sar dx,1;DX11100000 01110101B;CF0,SF1、ZF0、PF0shr dx,1

15、;DX01110000 00111010B;CF1,SF0、ZF0、PF1mov cl,4;CL4,標(biāo)志不變sar dx,cl;DX00000111 00000011B;CF1,SF0、ZF0、PF1第2章:例2.14 將AL寄存器中的無符號數(shù)乘以10 xor ah,ah;實現(xiàn)AH0,同時使CF0shl ax,1;AX2ALmov bx,ax;BXAX2ALshl ax,1;AX4ALshl ax,1;AX8ALadd ax,bx;AX8AL2AL10ALsub ah,ahand ah,0 邏輯左移一位相當(dāng)于無符號數(shù)乘以2 邏輯右移一位相當(dāng)于無符號數(shù)除以2第2章:2.2.7 循環(huán)移位指令循環(huán)移位指令類似移位指令,但要將從一端移出的位返回到另一端形成循環(huán)。分為:ROL reg/mem,1/CL;不帶進位循環(huán)左移ROR reg/mem,1/CL;不帶進位循環(huán)右移RCL reg/mem,1/CL;帶進位循環(huán)左移RCR reg/mem,1/CL;帶進位循環(huán)右移循環(huán)移位指令的操作數(shù)形式與移位指令相同,按指令功能設(shè)置進位標(biāo)志CF,但不影響SF、ZF、PF、AF標(biāo)志演示演示演示演示第2章:32位數(shù)據(jù)移位;將DX.AX中32位數(shù)值左移一位

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論