首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載 | ||
![]() |
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試 MPA考試 | 中科院 |
|
![]() |
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT 新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語 |
|
![]() |
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證 華為認證 | Java認證 |
|
![]() |
公務員 | 報關員 | 銀行從業資格 | 證券從業資格 | 期貨從業資格 | 司法考試 | 法律顧問 | 導游資格 報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師 人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業資格 | 廣告師職業水平 駕駛員 | 網絡編輯 |
|
![]() |
衛生資格 | 執業醫師 | 執業藥師 | 執業護士 | |
![]() |
會計從業資格考試(會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師 注冊資產評估師 | 高級會計師 | ACCA | 統計師 | 精算師 | 理財規劃師 | 國際內審師 |
|
![]() |
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監理工程師 | 安全工程師 質量工程師 | 物業管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師 設備監理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環境影響評價師 | 環保工程師 城市規劃師 | 公路監理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師 |
|
![]() |
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲 |
七、80x86指令系統
(一)8086指令系統
8086/8088指令系統是整個80x86系列微處理器的基礎,按功能可以分為六種類型。
1.傳送指令
傳送指令用于在存儲單元、寄存器、輸入/輸出端口之間傳送地址或數據。
①通用數據傳送指令
MOV指令:該指令可以將一個立即數傳送到寄存器或存儲單元中,也可以在寄存器與寄存器之間、寄存器與存儲器之間傳送字數據或字節數據。例如:將一個立即數傳送到寄存器中的指令MOV AL,05H;在兩個寄存器之間傳送字節數據的指令MOV AL,BL;在寄存器和存儲器之間傳送數據的指令MOV SI,[BX+5AH]。
XCHG指令:該指令可以將源操作數和目的操作數進行交換,但操作數可以是寄存器或存儲單元,不能是段寄存器或立即數,也不能同時為兩個存儲器操作數。
PUSH指令:PUSH指令是對一個16位操作數執行進棧操作,這是在一個操作數和堆棧之間進行數據傳送,而不是在兩個操作數之間進行數據傳送。
POP指令:POP指令是將一個16位操作數執行出棧操作,這也是在一個操作數和堆棧之間進行數據傳送。
XLAT指令:該指令專門用于在AL寄存器與字節表中某一存儲單元之間進行數據傳送。其中字節表的首地址存放在BX基址寄存器中,根據AL設置的偏移地址,可以將該單元的內容傳送到AL累加寄存器中。
②輸入/輸出指令
該指令專門用于在累加器和I/O端口之間進行數據傳送操作。輸入/輸出的工作原理:CPU使用AL或AX寄存器接收數據或發送數據,最多可提供64K個8位端口地址,或32K個16位端口地址。當端口地址小于256時使用直接尋址來獲得操作數,即在指令中直接指定端口地址;當端口地址超過256時使用間接尋址來獲得操作數,即先將端口地址放到DX寄存器中,然后利用IN指令或OUT指令進行輸入/輸出操作。例如:IN AX,28H是從I/O端口28H輸入一個字到AX寄存器中;OUT 5,AL是從AL寄存器輸出一個字節到I/O端口5中。
③地址傳送指令
LEA指令:該指令是將源操作數的偏移地址傳送到通用寄存器、指針寄存器或變址寄存器中,要求目的操作數是一個16位寄存器,源操作數是一個存儲器地址,這樣就可以獲得指令執行所需的有效地址。
LDS指令:該指令是將源操作數指定的連續四個存儲單元中存放的32位地址指針(包括一個段地址和一個偏移量)傳送到兩個16位寄存器,其中兩個高位字節(段基址)送段寄存器DS,兩個低位字節(指偏移量)送指令指定的16位通用寄存器,這樣就獲得指令執行所需的地址指針。LES指令:該指令是將源操作數指定的連續四個存儲單元中所存放的32位地址指針(一個段地址和一個偏移量)傳送到指令指定的16位通用寄存器和段寄存器ES中。其中兩個高位字節(段基址)送段寄存器ES,兩個低位字節(指偏移量)送指令指定的16位通用寄存器,這樣就獲得指令執行所需的地址指針。④標志傳送指令
該指令用于對標志寄存器中的內容進行數據傳送操作。
2.算術運算指令
在8086/8088微處理器中,算術運算指令可用于二進制數和無符號十進數的各種算術運算。二進制數可以是單字或雙字節,也可以是有符號數或無符號數。十進制數直接使用BCD碼,以表示無符號(Unsigned)的十進制數。
(1)加法指令
①ADD
格式: ADD OPRD1,OPRD2
功能:實現兩個操作數相加,結果送原來存放目的操作數的地方。目的操作數可以是累加器、通用寄存器或存儲器操作數。
加法指令可以完成累加器與立即數,或與任一通用寄存器、或與存儲單元的內容相加,結果放在累加器中。
說明:加法指令可以完成任一通用寄存器與任一通用寄存器,或與立即數、或與存儲單元的內容相同,其“和”放在通用寄存器中。
加法指令也可以實現存儲器操作數與立即數,或與累加器、或與通用寄存器內容相加,其“和”放在存儲單元中。
注意:存儲器操作數與立即數相加時,必須指明操作數的類型。ADD指令的執行結果將影響標志位CF、AF、PF、ZF、SF和OF。
②ADC
格式: ADC OPRD1,OPRD2
功能:ADC指令與ADD類似,不同之處在于兩個操作數相加時,還要加上進位標志CF的當前值,結果送原來存放目的操作數的地方。
說明:指令執行結果對標志值的影響與ADD相同。
③INC
格式: INC OPRD
功能:操作數OPRD加1。操作數可以是通用寄存器,也可為存儲器操作數。說明:該指令執行結果影響標志位SF、ZF、AF、PF和OF,而對CF無影響。④AAA
功能:AAA是未組合BCD碼加法調整指令
。它對在AL中兩個未組合的十進制數相加的結果進行校正,產生一個未組合的十進制和數。⑤DAA
功能:DAA為十進制加法調整指令。它對AL中兩個組合的十進制數相加的結果進行校正,產生一個組合的十進制和數。
相關推薦:計算機等級考試三級PC技術常見系統命令行北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |