2014計算機三級《PC技術》考試要點:80x86指令系統(3)
(3)循環指令
循環控制指令用來控制一個程序段的重復執行。
①LOOP
格式: LOOP 標號
功能:目標地址在+1~128字節以內,重復次數置CX中且CX≠0時循環。它等效于下述2條指令的組合:
DEC CX
JNE NEXT
②LOOPZ(或LOOPE)標號
此指令有兩種助記符。此指令使(CX)←(CX)-1,當CX≠0并且在標志位ZF=1的條件下,循環至目標操作數。
③LOOPZ(或LOOPE)標號
指令使(CX)←(CX)-1,且判斷只有當CX≠0,且標志位ZF=0的條件下,循環至目標操數。
④JCXZ 標號
若CX=0,則此指令控制轉移到目標操作數。
(4)中斷指令
中斷指令允許程序在需要時去啟動中斷服務程序。
①●INT n 啟動由類型碼n所規定的中斷服務程序。
②●INTO 溢出中斷。
③●IRET 中斷返回。
6.處理器控制指令
(1)操作標志
單獨對標志進行操作的指令有:
①●CLC 清進位,CF=0
②●CMC 進位取反
③●STC 置CF=1
④●CLD 置DF=0
⑤●STD 置DF=1
⑥●CLI 置IF=0
⑦●STI 置IF=1
(2)處理器暫停
HLT 處理器暫停,直到出現中斷復位信號。
(3)處理器等待
WAIT 等待狀態,定期檢查TEST信號。
(4)處理器脫離
SEC 換碼指令,向外處理器提供數據。
(5)總線封鎖
LOCK 總線鎖定命令。
(6)空操作指令
NOP 除指令地址指針加1外,不執行任何操作。
(二)80286擴展的指令
80286指令系統完全兼容8086/8088指令系統。由于80286有實地址和虛地址保護兩種工作方式,因而與8086指令系統比較,其絕大部分指令是相同的(僅做了少量增加)。例如,在數據傳送指令組中,增加了PUSHA和POPA,用于過程調用、中斷服務中恢復現場;在串操作指令中增加了INS和OUTS指令,以實現成批數據的輸入和輸出;在控制轉移指令中,增加ENTER、LEAVE、BOUND等三條有關過程處理的指令。
80286還增加了專門用虛地址保護方式的15條新指令。它們是:
●IGDT 裝入全局描述符表寄存器。
●SGDT 存放全局描述符表寄存器。
●LIDT 裝入中斷描述符表寄存器。
●SIDT 存放中斷描述符表寄存器。
●LLDT 從寄存器/存儲器中裝入局部描述符寄存器。
●SLDT 把同部描述了表寄存器放入寄存器/存儲器。
●LTR 從寄存器/存儲器中裝入任務寄存器。
●STR 把任務寄存器存放到寄存器/存儲器。
●LMSW 從寄存器/存儲器裝入機器狀態字。
●SMSW 把機器狀態字存放到寄存器/存儲器。
●LSL 從寄存器/存儲器裝入段限。
●LAR 從寄存器/存儲器裝入訪問權。
●ARPL 從寄存器/存儲器中調整已請求的特權書。
●VERR 從寄存器/存儲器讀進行驗證。
●VERW 從寄存器/存儲器寫進行驗證。
(三)80386擴展的指令80386新增的指令組有 :1.高級語言支持指令組
BOUND 數組邊界檢查
ENTER 為進入程序建立的參數塊
LEAVE 離開程序
SETCC 按條件置字節
2.保護指令組
CLTS 任務切換標志置0
SGDT 存放全局描述符表
SIDT 存放中斷描述符表
STR 存放任務寄存器
SLDT 存放局部描述符表
LGDT 裝入全局描述符表
LIDT 裝入中斷描述符表
LTR 裝入任務寄存器
LLDT 裝入局部描述符表
ARPL 調整請求特權級
LAR 裝入存取權
LSL 裝入段界限
VERR/VERW 查證段能否讀寫
LMSW 裝入機器狀態字
SMSW 存放機器狀態字
3.位處理指令組
BT 位測試
BTS 位測試并置“1”
BTR 位測試并復位
BTC 位測試并求補
BSF 向前位掃描
BSR 向后位掃描