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

正文內(nèi)容

第3章8086的尋址方式和指令系統(tǒng)-預(yù)覽頁(yè)

 

【正文】 16+ 2022H=32022H 指令功能是將 32022H和 32022H兩單元的內(nèi)容送到 AX中 。 如寄存器為 BP時(shí) , 則對(duì)應(yīng)的段寄存器為 SS。 5 . 寄存器相對(duì)尋址 在這種尋址方式中,操作數(shù)存放在存貯器中。這時(shí),操作數(shù)的地址應(yīng)該是段寄存器內(nèi)容 16加上基址寄存器內(nèi)容( BX或 BP內(nèi)容),再加上變址寄存器內(nèi)容( SI或 DI內(nèi)容)而得到的 . 例: MOV AX, [BX][SI] 操作碼DS 3 0 0 03 0 0 03 4 0 0 0代碼段數(shù)據(jù)段AXAH AL785656 7834000H34001H......1 0 0 0ROMSIBX物理地址 =DS 16+ SI+ BX=30000H+ 1000H+ 3000H=34000H 指令功能是將 34000H和 34001H兩單元的內(nèi)容送到 AX中。即操作數(shù)的地址是由基址、變址方式得到的地址再加上由指令指明的 8位或 16位的相對(duì)偏移地址而得到的 操作碼DS 3 0 0 03 0 0 03 4 3 0 0代碼段堆棧段AXAH AL785656 7834300H34301H......1 0 0 0ROMSIBX0 3 0 0DISP0003{ 轉(zhuǎn)移地址的尋址方式 1 . 段內(nèi)直接尋址 段內(nèi)直接尋址方式也稱為相對(duì)尋址方式,轉(zhuǎn)移的目標(biāo)地址是當(dāng)前 IP內(nèi)容和一個(gè) 8位或 16位的位移量 DISP之和。 如圖 311所示 。 用這種尋址方式可計(jì)算出存放轉(zhuǎn)移地址的存貯單元的首地址 , 與此相鄰的 4個(gè)單元中 , 前兩個(gè)單元存放 16位的段內(nèi)偏移地址;而后兩單元存放的是 16位的段地址 , 如圖 313所示 。 ( 1) 最基本的傳送指令 指令格式: MOV OPRDl, OPRD2 執(zhí)行功能: 該指令可把一個(gè)字節(jié)或一個(gè)字操作數(shù)從源地址傳送到目的地址中去 。 MOV CL, 4 ;立即數(shù) 8送入 CL中 MOV AX, 03FFH ;將立即數(shù)數(shù) 03FFH送入 AX中 MOV CX, 1000H ;將立即數(shù) 1000H送入 CX中 MOV BL, 40 ;將立即數(shù) 40送 BL中 MOV SI, 057BH ;將立即數(shù) 057BH送入 SI中 3) CPU內(nèi)部寄存器(除了 CS和 IP以外)與存貯器(所有尋址方式)之間的數(shù)據(jù)傳送,與前述一樣可以傳送一個(gè)字節(jié)也可以傳送一個(gè)字。 XCHG AL, CL ;累加器低 8位和通用寄存器 CL之間交換 XCHG AX, DI ;累加器 AX和通用寄存器 DI之間交換 XCHG BX, SI ;通用寄存器 BX和通用寄存器 SI之間交換 XCHG AX, BUFFER ;累加器 AX和 BUFFER為首地址的兩個(gè)單元交換 XCHG BX, [SI] ;通用寄存器 BX和存儲(chǔ)器 SI和 SI+1兩個(gè)單元交換 ( 3) 堆棧操作指令 PUSH OPRD( 壓入堆棧指令 ) POP OPRD(彈出堆棧指令) 例如: MOV AX, 1234H MOV DX, 5678H MOV SP, 2022H PUSH AX PUSH DX ┇ POP DX POP AX 當(dāng)執(zhí)行完兩條壓入堆棧的指令時(shí),堆棧中的內(nèi)容如圖 315所示。 ( 1) LEA指令 指令格式: LEA OPRDl, OPRD2 執(zhí)行功能: 該指令把源操作數(shù) OPRD2的地址偏移量傳送至目的操作數(shù) OPRDl中 。 地址指針包括段地址和地址偏移量 。 例如: LES DI, [BX] 是把 BX所指的 32位地址指針的段地址送入 ES,偏移地址送入 DI。 指令格式: OUT 端口 , 累加器 端口地址的尋址范圍是 64K( 0000H~ FFFFH),若端口地址在 00H~ FFH之間,可以使用直接尋址方式,否則只能由16位寄存器 DX來(lái)作間接尋址。 源操作數(shù)可以是累加器 、 通用寄存器 、 存貯器和立即數(shù) 。 例如: ADD AX, 0CFA8H 若指令執(zhí)行前 , ( AX) =5623H, 則指令執(zhí)行后 , ( AX) =25CBH, 且 CF=1, OF=0, SF=0, ZF=0, AF=0, PF=1。要求結(jié)果存放在 DATA3為首的單元中。 該指令執(zhí)行結(jié)果對(duì)標(biāo)志位 AF、 OF、 PF、 SF和 ZF有影響 , 而對(duì) CF位不產(chǎn)生影響 , 例如: INC AL INC CX INC WORD PTR[SI] INC BYTE PTR [SI+BX] 2. 減法指令 ( 1) 不帶借位的減法指令 指令格式: SUB OPRDl, OPRD2 指令功能: OPRD1← ( OPRD1) - ( OPRD2) 該指令用來(lái)對(duì)目的操作數(shù)和源操作數(shù)的字或字節(jié)進(jìn)行相減 ,其結(jié)果存放在目的操作數(shù) 。 ( 2) 帶借位的減法指令 指令格式: SBB OPRD1, OPRD2 指令功能: OPRD1← ( OPRD1) - ( OPRD2) - CY 該指令與 SUB相類似 , 只不過(guò)在兩個(gè)操作數(shù)相減時(shí) , 還應(yīng)減去借位標(biāo)志 CF的當(dāng)前值 。 在相減時(shí) , 把操作數(shù)看作為無(wú)符號(hào)的二進(jìn)制數(shù) 。 ( 5) 比較指令 指令格式: CMP OPRDl, OPRD2 指令功能: ( OPRD1) - ( OPRD2) 該指令執(zhí)行減法操作 , 不保存相減的結(jié)果 。 如何利用狀態(tài)標(biāo)志來(lái)判斷兩操作數(shù)的關(guān)系呢 ? 下面分三種情況來(lái)分析 。 如果 CF=1, 表示有借位 , 即被減數(shù)小 , 減數(shù)大 。 當(dāng) OF⊕ SF=1時(shí) , OPRD1OPRD2。 不能為立即數(shù)和段寄存器 。 對(duì) 8位數(shù)除法 , 商與余數(shù)分別放在 AL與 AH中 ,對(duì) 16位除法 , 商與余數(shù)分別放在 AX與 DX中 。 (OPRD) 商 DX← (DX) (AX)247。 運(yùn)算結(jié)果超出了表示范圍 , 那么會(huì)作為除數(shù)為 0的情況來(lái)處理 , 即產(chǎn)生 0號(hào)中斷 。 ( 4) CWD字轉(zhuǎn)換為雙字指令 指令格式: CWD 指令功能: AX中的符號(hào)位擴(kuò)展到 DX中 。 BCD碼有兩類:一類叫壓縮的 BCD碼 , 所謂壓縮 , 就是用 1個(gè)字節(jié)表示 2位 BCD碼;另一類叫非壓縮的 BCD碼 ,用這類代碼時(shí) , 1個(gè)字節(jié)只用低 4位來(lái)表示 BCD碼 , 高 4位為 0。 例如: ADD AL, BL AAA 指令執(zhí)行前 AX=0535H, BL=39H, 可見 AL和 BL中的內(nèi)容分別為 5和 9的 ASCⅡ 碼 。 這條指令主要用于 SUB或 SBB之后,減法指令必須把兩個(gè)非壓縮的 BCD碼相減,并把結(jié)果存放在 AL寄存器中。 本指令根據(jù) AL寄存器的內(nèi)容設(shè)置條件標(biāo)志 SF、 ZF、 PF, 但 OF、 CF、 AF位無(wú)定義 。 AH為 0。 操作數(shù)可以是寄存器或存貯器的內(nèi) 容 。 即只有參加相與的兩位全為 “ 1”時(shí) , 相 “ 與 ”結(jié)果才為 “ 1”, 否則相 “ 與 ” 結(jié)果為 “ 0”。 源操作數(shù) OPRD2:可以是立即數(shù)、寄存器,也可以是存儲(chǔ)器。 ( 3) TEST測(cè)試指令 指令格式: TEST OPRD, im; im為立即數(shù) 指令功能: OPRD1← ( OPRD1) ∧ im 該指令的操作功能與 AND指令相同 , 其結(jié)果將反映在標(biāo)志位上 , 但結(jié)果不送回 。 在這種情況下可以用如下指令: TEST AL, 80H JNZ THERE ┇ THERE: MOV BL, 05H ( 4) OR 邏輯 “ 或 ” 指令 指令格式: OR OPRDl, OPRD2 指令功能: OPRD1← ( OPRD1) ∨ ( OPRD2) 該指令對(duì)兩個(gè)操作數(shù)進(jìn)行按位相 “ 或 ” 的邏輯運(yùn)算 。 源操作數(shù) OPRD2:可以是立即數(shù)、寄存器,也可以是 存儲(chǔ)器。 目的操作數(shù) OPRDl:可以是累加器 、 通用寄存器 , 也可以是存儲(chǔ)器 。 標(biāo)志 AF未定義 。 目的操作數(shù) OPRD:可以是累加器、寄存器、也可是存儲(chǔ)器。 CF最低位最高位例如: MOV AH, 5AH SAR AH, 1 指令執(zhí)行完后,( AH) =2DH, CF=0 ( 3) SHR邏輯右移指令 指令格式: SHR OPRD, CL/1 指令功能:將目的操作數(shù) OPRD中的二進(jìn)制數(shù)向右移動(dòng) 1位或 CL寄存器中指定的位數(shù)。左移一位時(shí),操作數(shù)的最高位移出送到 CF中,同時(shí)送至最低位。目的操作數(shù)可以是 8位,也可以 16位。 CF最低位最高位例如: MOV AL, 4CH RCL AL, 1 指令執(zhí)行后 , ( AL) =99H, CF=0 ( 4) RCR帶進(jìn)位的循環(huán)右移指令 指令格式: RCR OPRD, CL/1 指令功能:將目的操作數(shù) OPRD中的二進(jìn)制數(shù)向右移動(dòng) 1位或 CL寄存器中指定的位數(shù)。 若 DF=0, 則 SI和 DI增量修改; DF=1, 則 SI和 DI做減量修改 。 若 DF= 1, 則 SI、 DI減 1或減 2。指令執(zhí)行時(shí),將 AL或 AX的值減去附加段中由 DI所指定的字節(jié)或字,結(jié)果將改變標(biāo)志位,但不改變操作數(shù)的值。 它將 AL或 AX中的字節(jié)或字存貯到由 DI所指定的附加段中去 , 且根據(jù) DF的值來(lái)修改 DI的值 。 這樣每重復(fù)執(zhí)行一次 , CX內(nèi)容減 1, 直到 CX=0, 才停止重復(fù) 。 8. REPNE/PEPNZ不相等 /不為零時(shí)重復(fù)操作前綴 它們是條件重復(fù)前綴 。 MOV SI, OFFSET BUFFERl ; BUFFERl偏移地址送 SI MOV D1, OFFSET BUFFER2 ; BUFFER2偏移地址送 DI MOV CX, 1000 ;傳送次數(shù)送 CX CLD REPE MOVS BUFFER2, BUFFERl ;重復(fù)搬移 注意 , 上述程序中的 BUFFERl應(yīng)處于 DS段中 , 而 BUFFER2應(yīng)處于 ES段中 。 轉(zhuǎn)移有段內(nèi)轉(zhuǎn)移和段間轉(zhuǎn)移之分 。 ( 2) 段內(nèi)直接近轉(zhuǎn)移 指令格式: JMP NEAR PTR LOOP 或 JMP LOOPl ; NEAR可省略 指令功能: IP← ( IP) + 16位偏移量 其中 LOOP 為轉(zhuǎn)移目標(biāo)地址 , 可直接使用符號(hào)地址 , 又稱標(biāo)號(hào) 。 如果是寄存器尋址 , 指令中直接給出寄存器號(hào) , 寄存器中的內(nèi)容送到 IP中;如果是存儲(chǔ)器尋址 , 按存儲(chǔ)器尋址方式形成的地址所對(duì)應(yīng)的單元內(nèi)容給 IP指針 。 例如: JMP CX JMP WORD PTR [BX] ( 4) 段間直接轉(zhuǎn)移 指令格式: JMP FAR PTR LOOP 指令功能: IP←LOOP 的偏移地址 CS←LOOP 的所在段地址 在段內(nèi)直接調(diào)用時(shí) , CALL指令首先將當(dāng)前 IP內(nèi)容壓入堆棧 。 例如: CALL WORD PTR[SI] CALL BX 3) 段內(nèi)返回指令 指令格式: RET 指令功能: IP← ( ( SP+1) , ( SP)) SP← ( SP) +2 RET指令是子程序返回的主要指令 , 與調(diào)用指令配合使用 。條件轉(zhuǎn)移指令的目的地址必須在現(xiàn)行的代碼段( CS)內(nèi),并且以當(dāng)前指針寄存器 IP內(nèi)容為基準(zhǔn),其位移必須在- 128~+127的范圍之內(nèi)。 ( 1) 指令格式: LOOP OPRD 指令功能: CX← ( CX) - 1若 CX≠0循環(huán) 。 5. 處理器控制指令 STC 置進(jìn)位標(biāo)志 , 使 CF=1 CLC 清進(jìn)位標(biāo)志 , 使 CF=0 CMC 進(jìn)位標(biāo)志求反 STD 置方向標(biāo)志 , 使 DF=1 CLD 清方向標(biāo)志 , 使 DF=0 STI 開中斷標(biāo)志 , 使 IF=1 CLI 清中斷標(biāo)志 , 使 IF=0 HLT 使 8086處理器處于停止?fàn)顟B(tài) 。 167。 ( 1) 鍵盤輸入單字符 這是 1號(hào)系統(tǒng)功能調(diào)用 , 使用格式如下所示: MOV AH, 1
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1