亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 匯005.txt

?? 會變語言實現的一些程序
?? TXT
?? 第 1 頁 / 共 5 頁
字號:
、置中斷允許位指令STI(Set Interrupt Flag):IF←1
其功能是恢復可屏蔽的外部中斷的中斷響應功能,通常是與CLI成對使用的。

4、取標志位操作指令

、LAHF(Load AH from Flags):AH←Flags的低8位
、SAHF(Store AH in Flags):Flags的低8位←AH

5、標志位堆棧操作指令

、PUSHF/PUSHFD(Push Flags onto Stack):把16位/32位標志寄存器進棧;
、POPF/POPFD(Pop Flags off Stack):把16位/32位標志寄存器出棧;

6、邏輯操作指令的小結

下面是學習標志位指令的控件,瀏覽者可以運用此類指令,觀看標志寄存器的相應變化。

5.2.3 算術運算指令
算術運算指令是反映CPU計算能力的一組指令,也是編程時經常使用的一組指令。它包括:加、減、乘、除及其相關的輔助指令。

該組指令的操作數可以是8位、16位和32位(80386+)。當存儲單元是該類指令的操作數時,該操作數的尋址方式可以是任意一種存儲單元尋址方式。

1、加法指令

、加法指令ADD(ADD Binary Numbers Instruction)

指令的格式:ADD  Reg/Mem, Reg/Mem/Imm
受影響的標志位:AF、CF、OF、PF、SF和ZF
指令的功能是把源操作數的值加到目的操作數中。

、帶進位加指令ADC(ADD With Carry Instruction)

指令的格式:ADC  Reg/Mem, Reg/Mem/Imm
受影響的標志位:AF、CF、OF、PF、SF和ZF
指令的功能是把源操作數和進位標志位CF的值(0/1)一起加到目的操作數中。

、加1指令INC(Increment by 1 Instruction)

指令的格式:INC  Reg/Mem
受影響的標志位:AF、OF、PF、SF和ZF,不影響CF
指令的功能是把操作數的值加1。

、交換加指令XADD(Exchange and Add)

指令的格式:XADD  Reg/Mem, Reg      ;80486+
受影響的標志位:AF、CF、OF、PF、SF和ZF
指令的功能是先交換兩個操作數的值,再進行算術“加”法操作。

例5.3 已知有二個32位數d1和d2(用數據類型DD說明),編寫程序片段把d2的值加到d1中。

解:32位數d1和d2在內存中如下所示。 
……         ……         …… 

  
 
 方法1:用16位寄存器編寫程序 
MOV AX, word ptr d1 ;由于d1是雙字類型,必須使用強制類型說明符。以下同。 
MOV DX, word ptr d1+2 ;(DX,AX)構成一個32位數據 
ADD AX, word ptr d2 ;低字相加 
ADC DX, word ptr d2+2 ;高字相加。在低字相加時,有可能會產生“進位” 
MOV word ptr d1, AX ;低字送給d1的低字 
MOV word ptr d1+2, DX ;高字送給d1的高字 
方法2:用32位寄存器編寫程序 
MOV EAX, d1 
ADD EAX, d2 
MOV d1, EAX 

從上面兩段程序不難看出:用32位寄存器來處理32位數據顯得簡單、明了,而16位微機雖然也能處理32位數據,但做起來就要復雜一些。

下面是學習和掌握加法類指令的控件,可模擬執行ADD、ADC、INC、XADD、CLC、STC和CMC等指令。用鼠標左鍵單擊寄存器列表框中指定的寄存器,則可修改其值。后面其它控件的有關操作與此相一致,不再說明。
2、減法指令

、減法指令SUB(Subtract Binary Values Instruction)

指令的格式:SUB  Reg/Mem, Reg/Mem/Imm
受影響的標志位:AF、CF、OF、PF、SF和ZF
指令的功能是從目的操作數中減去源操作數。

、帶借位減SBB(Subtract with Borrow Instruction)

指令的格式:SBB  Reg/Mem, Reg/Mem/Imm
受影響的標志位:AF、CF、OF、PF、SF和ZF
指令的功能是把源操作數和標志位CF的值從目的操作數中一起減去。

、減1指令DEC(Decrement by 1 Instruction)

指令的格式:DEC  Reg/Mem
受影響的標志位:AF、OF、PF、SF和ZF,不影響CF
指令的功能是把操作數的值減去1。

、求補指令NEG(Negate Instruction)

指令的格式:NEG  Reg/Mem
受影響的標志位:AF、CF、OF、PF、SF和ZF
指令的功能:操作數=0-操作數,即改變操作數的正負號。

例5.4 已知有二個32位數d1和d2,編寫程序片段從d1中減去d2的值。

解: 
 方法1:用16位寄存器編寫程序 
MOV AX, word ptr d1 ;取低字 
MOV DX, word ptr d1+2 ;取高字,(DX,AX)構成一個32位數據 
SUB AX, word ptr d2 ;低字相減 
SBB DX, word ptr d2+2 ;高字相減。在低字相減時,有可能會產生“借位” 
MOV word ptr d1, AX ;低字送給d1的低字 
MOV word ptr d1+2, DX ;高字送給d1的高字 
方法2:用32位寄存器編寫程序 
MOV EAX, d1 
SUB EAX, d2 
MOV d1, EAX 

下面是學習和掌握減法類指令的控件,可模擬執行SUB、SBB、DEC、NEG、CLC、STC和CMC等指令。
3、乘法指令

計算機的乘法指令分為無符號乘法指令和有符號乘法指令,它們的唯一區別就在于:數據的最高位是作為“數值”參與運算,還是作為“符號位”參與運算。

乘法指令的被乘數都是隱含操作數,乘數在指令中顯式地寫出來。CPU會根據乘數是8位、16位,還是32位操作數,來自動選用被乘數:AL、AX或EAX。

指令的功能是把顯式操作數和隱含操作數相乘,并把乘積存入相應的寄存器中。

、無符號數乘法指令MUL(Unsigned Multiply Instruction)

指令的格式:MUL  Reg/Mem
受影響的標志位:CF和OF(AF、PF、SF和ZF無定義)
指令的功能是把顯式操作數和隱含操作數(都作為無符號數)相乘,所得的乘積按表5.2的對應關系存放。

表5.2 乘法指令中乘數、被乘數和乘積的對應關系

乘數位數	隱含的被乘數	乘積的存放位置	舉例
 
8位		AL		AX		MUL  BL
 
16位		AX		DX-AX		MUL  BX
 
32位		EAX		EDX-EAX		MUL  ECX
 

、有符號數乘法指令IMUL(Signed Integer Multiply Instruction)

 指令的格式: IMUL Reg/Mem 
IMUL Reg, Imm ;80286+ 
IMUL Reg, Reg, Imm ;80286+ 
IMUL Reg, Reg/Mem ;80386+ 

受影響的標志位:CF和OF(AF、PF、SF和ZF無定義)

1)、指令格式1——該指令的功能是把顯式操作數和隱含操作數相乘,所得的乘積按表5.2的對應關系存放。

2)、指令格式2——其寄存器必須是16位/32位通用寄存器,其計算方式為:

Reg ← Reg × Imm

3)、指令格式3——其寄存器只能是16位通用寄存器,其計算方式為:

Reg1 ← Reg2×Imm  或  Reg1 ← Mem×Imm

4)、指令格式4——其寄存器必須是16位/32位通用寄存器,其計算方式為:

Reg1 ← Reg1×Reg2  或  Reg1 ← Reg1×Mem

在指令格式2~4中,各操作數的位數要一致。如果乘積超過目標寄存器所能存儲的范圍,則系統將置溢出標志OF為1。

下面是學習和掌握乘法類指令的控件,可模擬執行MUL和IMUL等指令。
4、除法指令

除法指令的被除數是隱含操作數,除數在指令中顯式地寫出來。CPU會根據除數是8位、16位,還是32位,來自動選用被除數AX、DX-AX,還是EDX-EAX。

除法指令功能是用顯式操作數去除隱含操作數,可得到商和余數。當除數為0,或商超出數據類型所能表示的范圍時,系統會自動產生0號中斷。

、無符號數除法指令DIV(Unsigned Divide Instruction)

指令的格式:DIV  Reg/Mem
指令的功能是用顯式操作數去除隱含操作數(都作為無符號數),所得商和余數按表5.3的對應關系存放。指令對標志位的影響無定義。

、有符號數除法指令IDIV(Signed Integer Divide Instruction)

指令的格式:IDIV  Reg/Mem
受影響的標志位:AF、CF、OF、PF、SF和ZF

指令的功能是用顯式操作數去除隱含操作數(都作為有符號數),所得商和余數的對應關系見表5.3。

表5.3 除法指令除數、被除數、商和余數的對應關系

除數位數	隱含的被除數	商	余數	舉例
 
8位		AX		AL	AH	DIV  BH
 
16位		DX-AX		AX	DX	DIV  BX
 
32位		EDX-EAX		EAX	EDX	DIV  ECX
 
5、類型轉換指令

在作有符號除法時,有時需要把短位數的被除數轉換成位數更長的數據類型。比如,要用BL中的數據去除AL,但根據除法指令的規定:除數是8位,則被除數必須是AX,于是就涉及到AH的取值問題。

為了方便說明,假設:(AH)=1H,(AL)=90H=-112D,(BL)=10H。

1)、在作除法運算前,必須處理AH的原有內容

假設在作除法時,不管AH中的值,這時,(AH、AL)/BL的商是19H,但我們知道:AL/BL的商應是-7,這就導致:計算結果不是所預期的結果,所以,在作除法運算前,程序員必須要處理AH中的值。

2)、作無符號數除法時

可強置AH的值為0,于是,可得到正確的結果。

3)、作有符號數除法時

如果強置AH為0,則AX=0090H,這時,AX/BL的商為9,顯然結果也不正確。

如果把AL的符號位1,擴展到AH中,得:AX=0FF90H=-112D,這時,AX/BL的商就是我們所要的正確結果。

綜上所述,因為在進行有符號數除法時存在隱含操作數數據類型轉換的問題,所以,系統提供了四條數據類型轉換指令:CBW、CWD、CWDE和CDQ。

、字節轉換為字指令CBW(Convent Byte to Word)

指令的格式:CBW
該指令的隱含操作數為AH和AL。其功能是用AL的符號位去填充AH,即:當AL為正數,則AH=0,否則,AH=0FFH。
指令的執行不影響任何標志位。

、字轉換為雙字指令CWD(Convent Word to Doubleword)

指令的格式:CWD
該指令的隱含操作數為DX和AX,其功能是用AX的符號位去填充DX。指令的執行不影響任何標志位。

、字轉換為擴展的雙字指令CWDE(Convent Word to Extended Doubleword)

指令的格式:CWDE        ;80386+
該指令的隱含操作數為DX和AX,其功能是用AX的符號位填充EAX的高字位。指令的執行不影響任何標志位。

、雙字轉換為四字指令CDQ(Convent Doubleword to Quadword)

指令的格式:CDQ         ;80386+
該指令的隱含操作數為EDX和EAX,指令的功能是用EAX的符號位填充EDX。指令的執行不影響任何標志位。

下面是學習和掌握除法類指令的控件,可模擬執行DIV、IDIV、CBW、CWD、CWDE和CDQ等指令。



例5.5 編寫程序段,完成下面計算公式,并把所得的商和余數分別存入X和Y中(其中:A,B,C,X和Y都是有符號的字變量)。

(C - 120 + A*B) / C

解: 
A DW  ? 
B DW  ? 
C DW  ? 
X DW  ? 
Y DW  ? 
MOV AX, C 
SUB AX, 120D ;書寫指令“ADD AX, -120D”也可以 
CWD 
MOV CX, DX 
MOV BX, AX ;(CX, BX)←(DX, AX),調度寄存器,為作乘法準備必要的寄存器 
MOV AX, A 
IMUL B ;(DX, AX)←A*B 
ADD AX, BX ;計算32位二進制之和,為作除法作準備 
ADC DX, CX 
IDIV C ;AX是商,DX是余數 
MOV X, AX ;分別保存商和余數到指定的字變量單元里 
MOV Y, DX 
5.2.4 邏輯運算指令
邏輯運算指令是另一組重要的指令,它包括:邏輯與(AND)、邏輯或(OR)、邏輯非(NOT)和異或指令(XOR),邏輯運算指令也是經常使用的指令。

1、邏輯與操作指令AND(Logical AND Instruction)

指令的格式:AND Reg/Mem, Reg/Mem/Imm
受影響的標志位:CF(0)、OF(0)、PF、SF和ZF(AF無定義)
指令的功能是把源操作數中的每位二進制與目的操作數中的相應二進制進行邏輯“與操作”,操作結果存入目標操作數中。

例5.6 已知(BH)=67H,要求把其的第0、1和5位置為0。

解:可以構造一個立即數,其第0、1和5位的值為0,其它位的值為1,該立即數即為:0DCH或11011100B,然后用指令"AND BH, 0DCH"來實現此功能。

其計算過程如右圖所示。
 
 

2、邏輯或操作指令OR(Logical OR Instruction)

指令的格式:OR Reg/Mem, Reg/Mem/Imm
受影響的標志位:CF(0)、OF(0)、PF、SF和ZF(AF無定義)
指令的功能是把源操作數中的每位二進制與目的操作數中的相應二進制進行邏輯"或操作",操作結果存入目標操作數中。

例5.7 已知(BL)=46H,要求把其的第1、3、4和6位置為1。

解:構造一個立即數,使其第1、3、4和6位的值為1,其它位的值為0,該立即數即為:5AH或01011010B,然后用指令"OR BL, 5AH"來實現此功能。

其計算過程如右圖所示。
 
 

3、邏輯非操作指令NOT(Logical NOT Instruction)

指令的格式:NOT Reg/Mem
其功能是把操作數中的每位變反,即:1←0,0←1。指令的執行不影響任何標志位。

例5.8 已知(AL)=46H,執行指令“NOT AL”后,AL的值是什么?

解:執行該指令后,(AL)=0B9H。其計算過程如下所示。 
 

4、邏輯異或操作指令XOR(Exclusive OR Instruction)

指令的格式:XOR Reg/Mem, Reg/Mem/Imm
受影響的標志位:CF(0)、OF(0)、PF、SF和ZF(AF無定義)
指令的功能是把源操作數中的每位二進制與目的操作數中的相應二進制進行邏輯"異或操作",操作結果存入目標操作數中。

例5.9 已知(AH)=46H,要求把其的第0、2、5和7位的二進制值變反。

解:構造一個立即數,使其第0、2、5和7位的值為1,其它位的值為0,該立即數即為:0A5H或10100101B,然后再用指令"XOR  AH, 0A5H"來實現此功能。

其計算過程如右圖所示。
 
 

5、邏輯操作指令的小結

下面是學習和掌握邏輯類指令的控件,可模擬執行AND、OR、NOT和XOR等指令。
5.2.5 移位操作指令
移位操作指令是一組經常使用的指令,它包括算術移位、邏輯移位、雙精度移位、循環移位和帶進位的循環移位等五大類。

移位指令都有指定移動二進制位數的操作數,該操作數可以是立即數或CL的值。在8086中,該立即數只能為1,但在其后的CPU中,該立即數可以是1··31之內的數。

1、算術移位指令
算術移位指令有:算術左移SAL(Shift Algebraic Left)和算術右移SAR(Shift Algebraic Right)。它們的指令格式如下:

SAL/SAR Reg/Mem, CL/Imm

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一二三区不卡| 视频一区免费在线观看| 国产精品精品国产色婷婷| 一区二区三区欧美日| 精久久久久久久久久久| 在线一区二区视频| 中文欧美字幕免费| 蜜臀久久久久久久| 欧美日韩精品一区二区天天拍小说 | 久久精品国产成人一区二区三区| 国产麻豆精品视频| 欧美一区二区三区视频在线| 久久综合av免费| 蜜臀久久久99精品久久久久久| 91在线国产福利| 国产精品免费久久| 国产精品综合在线视频| 91精品国产麻豆| 日韩—二三区免费观看av| 91免费观看国产| 亚洲图片你懂的| 9i在线看片成人免费| 久久夜色精品国产欧美乱极品| 天天色综合成人网| 欧美美女一区二区三区| 一区二区三区在线免费观看| 韩国女主播一区二区三区| 日韩午夜激情视频| 日韩和欧美的一区| 日韩写真欧美这视频| 亚洲成人激情自拍| 欧美三区免费完整视频在线观看| 亚洲欧美在线视频| 99久久精品免费| 亚洲精品大片www| 在线观看日韩一区| 性感美女久久精品| 制服丝袜av成人在线看| 亚洲高清视频中文字幕| 在线观看精品一区| 色综合久久久久久久久| 欧美国产禁国产网站cc| 国产·精品毛片| 亚洲欧美综合在线精品| 色综合激情五月| 午夜精品久久一牛影视| 6080国产精品一区二区| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美精品视频www在线观看 | 日韩欧美国产精品一区| 乱中年女人伦av一区二区| 日韩美女在线视频| 国产成人精品一区二区三区四区| 国产欧美日韩视频在线观看| 国产91高潮流白浆在线麻豆 | 一区二区三区国产| 日韩欧美国产一区二区在线播放 | 国产成人欧美日韩在线电影| 日韩一级片在线观看| 国产美女娇喘av呻吟久久 | 91麻豆精品久久久久蜜臀| 五月综合激情婷婷六月色窝| 欧美日本国产视频| 国产一区欧美一区| 亚洲黄一区二区三区| 欧美日本韩国一区二区三区视频| 极品销魂美女一区二区三区| 久久久久久久久久久久久女国产乱| 国产成人av电影免费在线观看| 亚洲欧洲av色图| 精品国产一区二区亚洲人成毛片| 国产精品一二二区| 午夜国产不卡在线观看视频| 日韩一区国产二区欧美三区| 国产一区二区在线电影| 亚洲欧美中日韩| 日韩精品专区在线影院观看 | 男男成人高潮片免费网站| 日本一区二区三区高清不卡| 色综合网色综合| 国产69精品一区二区亚洲孕妇| 亚洲影视在线观看| 亚洲国产岛国毛片在线| 538prom精品视频线放| 国产成人综合在线| 日韩精品一卡二卡三卡四卡无卡 | 4438x成人网最大色成网站| 国产mv日韩mv欧美| 精品一区二区三区的国产在线播放| 成人欧美一区二区三区白人| 91麻豆精品久久久久蜜臀| 成人美女在线观看| 国产一区二区免费看| 亚洲成人av电影| 亚洲一区二区欧美日韩| 最新国产の精品合集bt伙计| 亚洲色图清纯唯美| 国产精品女主播在线观看| 精品三级在线观看| 日韩精品影音先锋| 日韩一级片网址| 日韩一级完整毛片| 日韩欧美成人一区二区| 欧美视频日韩视频在线观看| 成人夜色视频网站在线观看| 石原莉奈一区二区三区在线观看| 亚洲人成在线播放网站岛国| 日韩午夜激情免费电影| 日韩一区二区高清| 日韩欧美的一区二区| 91精品国产综合久久久久久久| 欧美午夜影院一区| 欧美日韩精品三区| 欧美久久久久免费| 欧美第一区第二区| 欧美mv日韩mv国产网站app| 欧美一区二区三区在线看| 91精品国产综合久久香蕉的特点 | 色综合天天综合狠狠| 成人永久免费视频| 91丝袜高跟美女视频| 99久久精品久久久久久清纯| 国产乱码字幕精品高清av| 国产麻豆成人传媒免费观看| 日韩黄色小视频| 韩国一区二区三区| 成人性生交大片免费看视频在线| 国产精品夜夜嗨| 色偷偷成人一区二区三区91| www.欧美色图| 欧美午夜影院一区| 欧美mv日韩mv国产网站app| 337p粉嫩大胆噜噜噜噜噜91av| 2021国产精品久久精品| 久久只精品国产| 亚洲欧洲综合另类| 日韩高清欧美激情| 国产精品亚洲综合一区在线观看| 国产·精品毛片| 国产精品久久久一本精品 | 久久精品国产免费| 国产精品小仙女| 色欧美乱欧美15图片| 欧美图区在线视频| 久久女同性恋中文字幕| 欧美激情综合五月色丁香小说| 中文字幕日本不卡| 五月天一区二区| 国产成人精品综合在线观看 | 亚洲天堂免费看| 青娱乐精品视频| 99精品黄色片免费大全| 欧美午夜宅男影院| 国产欧美日韩在线| 日本vs亚洲vs韩国一区三区二区| 国产另类ts人妖一区二区| 色综合久久久久综合| 欧美草草影院在线视频| 1000部国产精品成人观看| 爽好多水快深点欧美视频| 国产精品影音先锋| 欧美精选午夜久久久乱码6080| 国产亚洲欧美一区在线观看| 欧美国产禁国产网站cc| 天堂va蜜桃一区二区三区| 成人福利视频在线看| 日韩一区二区影院| 亚洲在线视频网站| caoporn国产一区二区| 91精品国产色综合久久久蜜香臀| 欧美高清在线精品一区| 天天免费综合色| 色婷婷狠狠综合| 国产精品欧美一区喷水| 老司机午夜精品99久久| 色av一区二区| 国产精品久久久久永久免费观看| 奇米888四色在线精品| 欧美色图一区二区三区| 国产精品丝袜在线| 国产精品一区在线| 日韩欧美成人午夜| 蜜臀av一级做a爰片久久| 在线影视一区二区三区| 国产精品美女一区二区| 国产一区二区伦理片| 在线成人av网站| 亚洲va韩国va欧美va| 色综合久久中文字幕| 国产精品美女视频| 99久久久无码国产精品| 中文字幕欧美区| 国产成人免费网站| 久久久不卡网国产精品二区| 婷婷六月综合网| 91精品国产综合久久久蜜臀图片| 亚洲午夜视频在线| 欧美日韩成人一区二区| 午夜欧美视频在线观看| 欧美日本在线一区|