freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

80x86微機(jī)原理及接口技術(shù)實(shí)驗(yàn)教程(20xx版)(編輯修改稿)

2024-11-17 19:59 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 。 這兩條指令各不影響標(biāo)志。 ( 3)交換指令 XCHG XCHG 指令與 8086/8088 的 XCHG 指令相同,可傳送 8 位、 16位或 32位數(shù)據(jù)。 ( 4)進(jìn)棧指令 PUSH 進(jìn)棧指令 PUSH 與 8086/8088 格式一樣,但功能增強(qiáng)了,壓入堆棧的操作數(shù)還可以是立即數(shù)。 從 80X86 開始,操作數(shù)長(zhǎng)度還可以達(dá) 32位,那么堆棧指針減 4。 ( 5)出棧指令 POP POP 指令與 8086/8088 的 POP 指令相同,可彈出 32位操作。 ( 6) 16 位全進(jìn)棧指令 PUSHA 和全出棧指令 POPA PUSHA 指令和 POPA 指令提供了壓入 或彈出 8 個(gè) 16 位通用寄存器的有效手段,它們的格式 如下: PUSHA 80X86微機(jī)原理及接口技術(shù)實(shí)驗(yàn)教程 西安唐都科教儀器公司 6 POPA PUSHA 指令將所有 8 個(gè)通用寄存器( 16 位)內(nèi)容壓入堆棧,其順序是: AX、 CX、 DX、BX、 SP、 BP、 SI、 DI,然后堆棧指針寄存器 SP 的值減 16,所以 SP 進(jìn)棧的內(nèi)容是 PUSHA執(zhí)行之前的值。 POPA指令從堆棧彈出內(nèi)容以 PUSHA相反的順序送到這些通用寄存器,從而恢復(fù) PUSHA之前的寄存器內(nèi)容。但堆棧指針寄存器 ESP 的值不是由堆棧彈出,而是通過增加 16 來(lái)恢復(fù)。 這兩條指令各不影響標(biāo)志。 ( 7) 32 位全進(jìn)棧指令 PUSHAD 和全出 棧指令 POPAD PUSHAD 指令和 POPAD 指令提供了壓入或彈出 8 個(gè) 32 位通用用寄存器的有效手段,它們的 格式如下: PUSHAD POPAD PUSHAD 指令將所有 8 個(gè)通用寄存器( 32 位)內(nèi)容壓入堆棧,其順序是: EAX、 ECX、EDX、 EBX、 ESP、 EBP、 ESI、 EDI,然后堆棧指針寄存器 ESP 的值減 32,所以 ESP 進(jìn)棧的內(nèi)容是 PUSHAD 執(zhí)行之前的值。 POPAD 指令從堆棧彈出內(nèi)容以 PUSHAD 相反的順序送到這些通用寄存器,從而恢復(fù)PUSHAD 之前的寄存器內(nèi)容。但堆棧指針寄存器 SP 的值不是由堆棧彈出 ,而是通過增加 32來(lái)恢復(fù)。 這兩條指令各不影響標(biāo)志。 2. 地址傳送指令組 ( 1)裝入有效地址指令 LEA 裝入有效地址指令的格式和功能同 8086/8088。源操作數(shù)仍然必須是存儲(chǔ)器操作數(shù),目的操作數(shù)是 16 位或者 32 位通用寄存器。當(dāng)目的操作數(shù)是 16 位通用寄存器時(shí),那么只裝入有效地址的低 16 位。 ( 2)裝入指針指令組 裝入指針指令組有 5 條指令,格式如下: LDS REG, OPRD LES REG, OPRD LFS REG, OPRD LGS REG, OPRD LSS REG, OPRD 這 5 條指令的功能是將操 作數(shù) OPRD 所指內(nèi)存單元的 4 個(gè)或 6 個(gè)相繼字節(jié)單元的內(nèi)容送到指 令助記符給定的段寄存器和目的操作數(shù) REG 中。目的操作數(shù)必須是 16 位或 32 位通用寄存器,源操作數(shù)是存儲(chǔ)器操作數(shù)。 如果目的操作數(shù)是 16 位通用寄存器,那么源操作數(shù) OPRD 含 32 位指針。如果目的操作數(shù)是 32 位通用寄存器,那么源操作數(shù) OPRD 含 48位指針。如: LSS SP, SPVAR ; SPVAR 是含有堆棧指針的雙字 這些指令各不影響標(biāo)志。 3. 標(biāo)志傳送指令組 80X86微機(jī)原理及接口技術(shù)實(shí)驗(yàn)教程 西安唐都科教儀器公司 7 80X86 的標(biāo)志傳送指令組含有以下 6 條指令: LAHF、 SAHF、 PUSHF、 PUSHFD、 POPF和 POPFD。 指令 LAHF、 SAHF、 PUSHF 和 POPF 指令格式和功能與 8086/8088 相同。 32 位標(biāo)志寄存器進(jìn)棧和出棧指令的格式如下: PUSHFD POPFD PUSHFD 指令將整個(gè)標(biāo)志寄存器的內(nèi)容壓入堆棧; POPFD 指令將棧頂?shù)囊粋€(gè)雙字彈出到32 位的標(biāo)志寄存器中。這兩條指令是 PUSHF 和 POPF 指令的擴(kuò)展。 PUSHFD 指令不影響各標(biāo)志, POPFD 指令影響各標(biāo)志。 4. 累加器專用傳送指令組 80X86 累加器專用傳送指令組含有如下指令: IN、 OUT 和 XLAT。 輸入指令 IN、 OUT 與 8086/8088 相同,但可以通過累加器 EAX 輸入、輸出一個(gè)雙字。如: IN EAX, 20H ;從 20H 端口輸入一個(gè)雙字 OUT 20H, EAX ;輸出一個(gè)雙字到 20H 端口 表轉(zhuǎn)換指令 XLAT 的格式和功能與 8086/8088 相同。但是從 80X86 開始存放基值的寄存器 可以是 EBX。也就是說(shuō),擴(kuò)展的 XLAT 指令以 EBX 為存放基值的寄存器,非擴(kuò)展的 XLAT指令以 BX 為存放基值的寄存器。 算術(shù)運(yùn)算指令 80X86 算術(shù)運(yùn)算指令的操作數(shù)可以擴(kuò)展到 32 位,同時(shí)與 8086/8088 相比還增強(qiáng)了有符號(hào)數(shù)乘 法指令的功能。 1. 加法和減法指令組 加法和減法指令組的功能與 8086/8088 相同,有 8 條指令: ADD、 ADC、 INC、 SUB、SBB、 DEC、 CMP 和 NEG。但在 80X86 下指令的操作數(shù)可以擴(kuò)展到 32 位,如: ADD EAX, ESI ADC EAX, DWORD PTR [BX] INC EBX SUB ESI, 4 SBB DWORD PTR [EDI], DX DEC EDI CMP EAX, EDX NEG ECX 2. 乘法和除法指令組 乘法和除法指令組含有 4 條指令: MUL、 DIV、 IMUL 和 IDIV。 ( 1)無(wú)符號(hào)數(shù)乘法和除法指令 無(wú)符號(hào)數(shù)乘法 MUL 指令和除法指令 DIV 指令的格式?jīng)]有變。指令中只給出一個(gè)操作數(shù), 80X86微機(jī)原理及接口技術(shù)實(shí)驗(yàn)教程 西安唐都科教儀器公司 8 自動(dòng) 根據(jù)給出的操作數(shù)確定另一個(gè)操作數(shù)。當(dāng)指令中給出的源操作數(shù)為字節(jié)或字時(shí),它們與8086/8088 相同。 在源操作數(shù)為雙字的情況下,乘法指令 MUL 默認(rèn)的另一個(gè)操作數(shù)是 EAX,其功能是把EAX 內(nèi)容乘上源操作數(shù)內(nèi)容所得積送入 EDX: EAX 中,若結(jié)果的高 32 位為 0,那么標(biāo)志 CF和 OF 被清 0,否則被臵 1;除法指令 DIV 默認(rèn)的被除數(shù)是 EDX: EAX,其功能是把指令中給出的操作數(shù)作為除數(shù),所得的商送 EAX,余數(shù)送 EDX。 ( 2)有符號(hào)數(shù)乘法和除法指令 原有的有符號(hào)數(shù)乘法指令 IMUL 和除法指令 IDIV 繼續(xù)保持,但操作數(shù)可以擴(kuò)展到 32 位。當(dāng) 操作數(shù)為 32 位時(shí),它與無(wú)符號(hào)數(shù)乘法指令相同。 另外, 80X86 還提供了新形式的有符號(hào)數(shù)乘法指令。如: IMUL DST, SRC IMUL DST, SRC1, SRC2 上述第一種格式是將目的操作數(shù) DST 與源操作數(shù) SRC 相乘,結(jié)果送到目的操作數(shù) DST中; 第二種格式是將 SRC1 和 SRC2 相乘,結(jié)果送到目的操作數(shù) DST 中。 3. 符號(hào)擴(kuò)展指令組 80X86 的符號(hào)擴(kuò)展指令有 4 條: CBW、 CWD、 CWDE 和 CDQ。 其中 CBW 和 CWD 的功能沒有發(fā)生變化;指令 CWDE 和 CDQ 是 80X86 新增的指令,它們 的格式如下: CWDE CDQ 指令 CWDE 將 16 位寄存器 AX 的符號(hào)位擴(kuò)展到 32 位寄存器 EAX 的高 16 位中。該指令是指 令 CBW 的擴(kuò)展。 指令 CDQ 將寄存器 EAX 的符號(hào)位擴(kuò)展到 EDX 的所有位。該指令是指令 CWD 的擴(kuò)展。 這些指令均不影響各標(biāo)志。 4. 十進(jìn)制調(diào)整指令組 十進(jìn)制調(diào)整指令 DAA、 DAS、 AAA、 AAS、 AAM 和 AAD,這 6 條指令的功能與 8086/8088相同。 邏輯 運(yùn)算和移位指令 80X86 的邏輯運(yùn)算和移位指令包括邏輯運(yùn)算指令、一般移位指令、循環(huán)移位指令和雙精度移位指令。 1. 邏輯運(yùn)算指令組 邏輯運(yùn)算指令 NOT、 AND、 OR、 XOR 和 TEST 這 5 條指令,除了其操作數(shù)可以擴(kuò)展到32 位外,其它功能與 8086/8088 相同。 2. 一般移位指令組 一般移位指令組含有 3 條指令: SAL/SHL、 SAR 和 SHR。算術(shù)左移指令 SAL 和邏輯左移指令 SHL 是相同的。 80X86微機(jī)原理及接口技術(shù)實(shí)驗(yàn)教程 西安唐都科教儀器公司 9 從 80X86 開始,操作數(shù)可擴(kuò)展到 32 位。盡管這些指令的格式?jīng)]有變化,但移位位數(shù)的表達(dá)增強(qiáng)了。實(shí)際移位位數(shù)的變化范圍是 0 至 31。 3. 循環(huán)移位指令組 循環(huán)移位指令組有 4 條指令: ROL、 ROR、 RCL 和 RCR。 從 80X86 開始,對(duì)循環(huán)指令 ROL 和 ROR 而言,實(shí)際移位的位數(shù)將根據(jù)被移位的操作數(shù)的長(zhǎng) 度取 16或 32 位的模;對(duì)帶進(jìn)位循環(huán)移位指令 RCL 和 RCR 而言,移位位數(shù)先取指令中規(guī)定的移位位數(shù)的低 5 位,再根據(jù)被移位的操作數(shù)的長(zhǎng)度取 17 或 32位的模。 4. 雙精度移位指令組 雙精度移位指令 SHLD 和 SHRD 從 80X86 開始才有,其格式如下: SHLD OPRD1, OPRD2, m SHRD OPRD1, OPRD2, m 其中, OPRD1 可以是 16 位通用寄存器、 16 位存儲(chǔ)單元、 32 位通用寄存器或者 32 位存儲(chǔ)單 元;操作數(shù) OPRD2 的長(zhǎng)度必須與操作數(shù) OPRD1 和長(zhǎng)度一致,并且只能是 16 位通用寄存器或者是 32 位通用寄存器; m 是移位位數(shù),或者是 8 位立即數(shù),或者是 CL。 雙精度左移指令 SHLD 的功能是把操作數(shù) OPRD1 左移指定的 m 位,空出的位用操作數(shù)OPRD2 高端的 m 位填補(bǔ),但操作數(shù) OPRD2 的內(nèi)容不變,最后移出的位保留在進(jìn)位標(biāo)志 CF中。如果只移 1 位,當(dāng)進(jìn)位標(biāo)志和最后的符號(hào)位不一致是,臵溢出標(biāo)志 OF,否則清 OF。 雙精度右移指令 SHRD 的功 能是把操作數(shù) OPRD1 右移指定的 m 位,空出的位用操作數(shù)OPRD2 低端的 m 位填補(bǔ),但操作數(shù) OPRD2 的內(nèi)容不變,最后移出的位保留在進(jìn)位標(biāo)志 CF中。當(dāng)移位位數(shù)是 1 時(shí), OF 標(biāo)志受影響,否則清 OF。 控制轉(zhuǎn)移指令 控制轉(zhuǎn)移指令可分為以下 4 組:轉(zhuǎn)移指令、循環(huán)指令、過程調(diào)用和返回指令、中斷調(diào)用指令和中斷返回指令。 1. 轉(zhuǎn)移指令組 ( 1)無(wú)條件轉(zhuǎn)移指令 無(wú)條件轉(zhuǎn)移指令 JMP 在分為段內(nèi)直接、段內(nèi)間接、段間直接和段間間接四類的同時(shí),還具有 擴(kuò)展形式,擴(kuò)展的無(wú)條件轉(zhuǎn)移指令的轉(zhuǎn)移目的地址偏移采用 32 位表示,段間轉(zhuǎn)移 目的地址采用 48 位全指針形式表示。 在實(shí)模式下,無(wú)條件轉(zhuǎn)移指令 JMP 的功能幾乎沒有提高。盡管 80X86 的無(wú)條件轉(zhuǎn)移指令允許把 32 位的段內(nèi)偏移送到 EIP,但在實(shí)模式下段最大 64K,段內(nèi)偏移不能超過 64K,所以不需要使用 32 位的段內(nèi)偏移。 ( 2)條件轉(zhuǎn)移指令 80X86 的條件轉(zhuǎn)移指令(除 JCXZ 和 JECXZ 指令處)允許用多字節(jié)來(lái)表示轉(zhuǎn)移目的地偏移 與當(dāng)前偏移之間的差,所以轉(zhuǎn)移范圍可起出- 128~+ 127。 在 80X86 中,當(dāng)寄存器 CX 的值為時(shí),轉(zhuǎn)移的指令 JCXZ 可以被擴(kuò)展到 JECXZ,如: JECXZ OK 80X86微機(jī)原理及接口技術(shù)實(shí)驗(yàn)教程 西安唐都科教儀器公司 10 它 表示當(dāng) 32 位寄存器 ECX 為 0 時(shí),轉(zhuǎn)移到標(biāo)號(hào) OK 處。 2. 循環(huán)指令組 循環(huán)指令組含有 3 條指令: LOOP、 LOOPZ/LOOPE 和 LOOPNZ/LOOPNE。這三條循環(huán)指令的非擴(kuò)展形式保持原功能。它們的擴(kuò)展形式使用 ECX作為計(jì)數(shù)器,即從 CX擴(kuò)展到 ECX。 3. 過程調(diào)用和返回指令組 過程調(diào)用指令 CALL 在分為段內(nèi)直接、段內(nèi)間接、段間直接和段間間接四種的同時(shí),還具有擴(kuò)展形式。擴(kuò)展的調(diào)用指令的轉(zhuǎn)移目的地址偏移采用 32 位表示。對(duì)于擴(kuò)展的段間調(diào)用指令,轉(zhuǎn)移目的地址采用 48 位全指針形式表示,而且在把返回地址的 CS 壓入堆 棧時(shí)擴(kuò)展成高 16 位為 0 的雙字,這樣會(huì)壓入堆棧 2 個(gè)雙字。 過程返回指令 RET 在分為段內(nèi)返回和段間返回的同時(shí),還分別具有擴(kuò)展形式。擴(kuò)展的過程返回指令要從堆棧彈出雙字作為返回地址的偏移。如果是擴(kuò)展的段間返回指令,執(zhí)行時(shí)要從堆棧彈出包含 48 位返回地址全指針的 2 個(gè)雙字。 在實(shí)模式下,段內(nèi)過程調(diào)用指令和返回指令 RET 的非擴(kuò)展形式,它們與 8086/8088 的CALL 和 RET 相同。 4. 中斷調(diào)用和中斷返回指令組 在實(shí)模式下,中斷調(diào)用指令 INT 和中斷返回指令 IRET 的功能與 8086/8088 的相同。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1