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

正文內(nèi)容

第3章8086的尋址方式和指令系統(tǒng)-展示頁

2024-08-04 09:55本頁面
  

【正文】 8堆棧段2022H1FFFH1FFEH1FFDH1FFCHSP12345678堆棧段............每執(zhí)行一條壓入堆棧指令 , 堆棧地址指針 SP減 2, 壓入堆棧的數(shù)據(jù)放在棧項 。 MOV AL, DATAl MOV DATA2, AL ( 2) 交換指令 指令格式: XCHG OPRDl, OPRD2 執(zhí)行功能:交換指令把一個字節(jié)或一個字的源操作數(shù)與目的操作數(shù)相交換。 MOV AL, BUFFER ;將 BUFFER為首地址的一個單 元內(nèi)容送 AL MOV AX, [BX] ; BX和 BX+1所指的兩個內(nèi)存單元的內(nèi)容送 AX MOV [DI], AX ;累加器的內(nèi)容送 DI和 DI+1所指的兩個單元 MOV AX, [SI+4] ;將 SI+4和 SI+4+1所指的兩個單元內(nèi)容送入 AX 需要注意的是 , MOV指令不能在兩個存貯器單元之間進行數(shù)據(jù)直接傳送 。 MOV AL, BL ; BL中的 8位數(shù)據(jù)送 AL MOV DH, CL ; CL中的 8位數(shù)據(jù)送 DH MOV CX, AX ;將 AX中的 16位數(shù)據(jù)送 CX MOV BX, DI ;將 DI中的 16位數(shù)據(jù)送 BX MOV DS, AX ;將 AX中的 16位數(shù)據(jù)送 DS MOV ES, AX ;將 AX中的 16位數(shù)據(jù)送 ES 2)立即數(shù)傳送至 CPU的內(nèi)部通用寄存器(即 AX、 BX、CX、 DX、 BP、 SP、 SI、 DI),給這些寄存器賦值。 OPRD1:可以是累加器 、 寄存器 、 存貯器以及立即操作數(shù) OPRD2:可以是累加器、寄存器和存貯器。 1. 通用傳送指令 通用傳送指令中包括最基本的傳送指令 MOV,交換指令XCHG,椎棧指令 PUSH和 POP,字節(jié)、字轉(zhuǎn)換指令 CBW和 CWD。 例: JMP DWORD PTR[BP][DI] 操作碼CS 8 0 0 08 2 0 0 0代碼段2 0 0 0ROMIP偏移量低字節(jié)0 0偏移量高字節(jié)2 0段地址低字節(jié)0 0段地址高字節(jié)8 0{{操作碼.........3 0 0 01 0 0 02 0 0 0SSBPDI3 3 0 0 033000H82022H8086的指令系統(tǒng)大致可分為 6種類型: ① 數(shù)據(jù)傳送指令 ② 算術(shù)運算指令 ③ 邏輯運算和移位指令 ④ 串操作指令 ⑤ 程序控制指令 ⑥處理器控制指令 167。 但是 , 由于確定轉(zhuǎn)移地址需要 32位信息 , 因此只適用于存貯器尋址方式 。 例: JMP CX JMP WORD PTR[BX] 操作碼CS 3 0 0 04 0 0 03 4 0 0 0代碼段......CX(IP)...操作碼34000HROM3 . 段間直接尋址 在這種尋址方式中 , 指令碼中將直接給出 16位的段地址和 16位的段內(nèi)偏移地址 。 操作碼50CS3 0 0 01 0 0 03 1 0 5 0代碼段......IP5 0...操作碼31050HROM2 . 段內(nèi)間接尋址 這種尋址方式在段內(nèi)進行 , 其轉(zhuǎn)移的目標(biāo)地址是 16位寄存器或兩個相鄰的存儲單元的內(nèi)容 , 即以寄存器或存儲器單元內(nèi)容來更新 IP的內(nèi)容 。即物理地址 =CS 16+ IP+ DISP 例: JMP DISP 圖 310中, 1000H是 CPU讀取這條指令的位移量 50H后 IP的內(nèi)容。 7 . 基址 、 變址相對尋址 這種尋址實際上是基址、變址尋址的擴充。 例: MOV AX, [BP][SI] 物理地址 =SS 16+ BP+ SI=30000H+ 3000H+ 1000H=34000H 指令功能是將 340000H和 34001H兩單元的內(nèi)容送到 AX中。將這兩種寄存器聯(lián)合起來進行的尋址就稱為基址、變址尋址。操作數(shù)的地址是由段寄存器內(nèi)容加上 SI、 DI、 BX、 BP之一的內(nèi)容,再加上由指令所指出的 8位或 16位相對地址偏移量而得到的 例: MOV AX, DISP[SI] 操作碼DS 3 0 0 03 1 3 0 0代碼段數(shù)據(jù)段AXAH AL785656 7831300H31301H......1 0 0 0ROMSI0 3 0 0DISP0003{物理地址 =DS 16+ SI+ DISP=30000H+ 1000H+ 0300H=31300H指令功能是將 31300H和 31301H兩單元的內(nèi)容送到 AX中 。假如 SS=3000H 例: MOV AX, [BP] SS 3 0 0 02 0 0 03 2 0 0 0代碼段堆棧段AXAH AL341212 343202232022......BP...ROM...數(shù)據(jù)段物理地址 =SS 16+ BP=30000H+ 2022H=32022H 指令功能是將 32022H和 32022H兩單元的內(nèi)容送到 AX中。 ② 寄存器 BP間接尋址,則操作數(shù)存放在堆棧段區(qū)域中。此時數(shù)據(jù)段寄存器內(nèi)容加上 SI、 DI、 BX中的 16位段內(nèi)偏移地址,即得操作數(shù)的地址 例: MOV AX, [SI] 操作碼DS 3 0 0 03 1 0 0 0代碼段數(shù)據(jù)段AXAH AL785656 7831000H31001H...1 0 0 0ROMSI...... 和直接尋址的情況 — 樣 , 如果指令前面沒有用前綴指明具體的段寄存器 , 則尋址時 默認的段寄存器通常為 DS。 要注意的是采用直接尋址方式時,如果指令前面沒有用前綴指明操作數(shù)在哪一段,則默認為段寄存器是數(shù)據(jù)段寄存器 DS。 3 . 直接尋址 使用直接尋址方式時,數(shù)據(jù)總是在存儲器中,存儲單元的有效地址由指令直接指出,所以直接尋址是對存儲器進行訪問時可采用的最簡單的方式。 例: MOV DS, AX DS AX圖 32 寄存器尋址示意圖 對 16位操作數(shù)來說,寄存器可以為 AX、 BX, CX,DX、 SI、 DI、 SP或者 BP,對于 8位操作數(shù)來說,寄存器可為 AH, AL、 BH, BL, CH, CL、 DH, DL。 操作碼3412AH ALROM代碼段......AX 12 34圖 31 立即尋址示意圖 2 . 寄存器尋址 如果操作數(shù)就在 CPU的內(nèi)部寄存器中 , 那么寄存器名在指令中給出 。這種方式叫立即數(shù)尋址方式。 167。第 3章 8086的尋址方式和 指令系統(tǒng) 【 本章重點 】 掌握指令系統(tǒng)的的基本格式 , 指令系統(tǒng) 的操作功能及使用方法 。 【 本章難點 】 8086的尋址方式,數(shù)據(jù)傳送類指令 和算術(shù)運算類指令的使用。 8086的尋址方式 1 . 立即數(shù)尋址 在這種尋址方式中,操作數(shù)直接跟在操作碼的后面,參加指令所規(guī)定的操作,并且操作數(shù)與操作碼一起放在代碼段中。 例: MOV AX, 1234H 這條指令的功能是:把立即數(shù) 1234H送入 AX中。 這種尋址方式就叫寄存器尋址方式 。 采用寄存器尋址方式的指令在執(zhí)行時,操作就在 CPU內(nèi)部進行,不需要使用總線周期,因此,執(zhí)行速度快。 操作碼1020DS 3 0 0 02 0 1 03 2 0 1 0代碼段數(shù)據(jù)段AXAH AL808686 8032022H32022H......{假如 DS=3000H 例: MOV AX, DS: [2022H] 物理地址 = DS 16+ 2022H=3000H 16+ 2022H=32022H 指令功能是將 32022H和 32022H兩單元的內(nèi)容送到 AX中 。 4 . 寄存器間接尋址 采用寄存器間接尋址方式時 , 操作數(shù)一定在存儲器中 ,存儲單元的有效地址由寄存 器指出 , 這些寄存器可以為 BX、BP, SI和 DI之一 , 由于上述 4個寄存器所黙認的段寄存器不同 , 這樣又可以分兩種情況: ① 以 SI、 DI、 BX進行間接尋址,則操作數(shù)通常存放在現(xiàn)行數(shù)據(jù)段中。 如寄存器為 BP時 , 則對應(yīng)的段寄存器為 SS。此時堆棧段寄存器內(nèi)容加上 BP中的 16位段內(nèi)偏移地址,即得操作數(shù)的地址。 5 . 寄存器相對尋址 在這種尋址方式中,操作數(shù)存放在存貯器中。 6 . 基址 、 變址尋址 在 8086中,通常把 BX和 BP作為基址寄存器,而把 SI、 DI作為變址寄存器。這時,操作數(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中。 操作碼DS 3 0 0 03 0 0 03 4 0 0 0代碼段堆棧段AXAH AL785656 7834000H34001H......1 0 0 0ROMSIBP例: MOV AX, DISP[BX][SI] 物理地址 =DS 16+ SI+ BX+ DISP=30000H+ 1000H+3000H+ 0300H=34300H 指令功能是將 34300H和 34301H兩單元的內(nèi)容送到 AX中。即操作數(shù)的地址是由基址、變址方式得到的地址再加上由指令指明的 8位或 16位的相對偏移地址而得到的 操作碼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)直接尋址方式也稱為相對尋址方式,轉(zhuǎn)移的目標(biāo)地址是當(dāng)前 IP內(nèi)容和一個 8位或 16位的位移量 DISP之和。所以,該指令使CPU轉(zhuǎn)向 31050H去執(zhí)行。 如圖 311所示 。 例: JMP FAR PTR DADD1 操作碼CS 4 0 0 04 3 0 0 0代碼段43000H3 0 0 0ROMIP...偏移量低字節(jié)0 0偏移量高字節(jié)3 0段地址低字節(jié)0 0段地址高字節(jié)4 0{{操作碼4 . 段間間接尋址 這種尋址方式和段內(nèi)間接尋址相似 。 用這種尋址方式可計算出存放轉(zhuǎn)移地址的存貯單元的首地址 , 與此相鄰的 4個單元中 , 前兩個單元存放 16位的段內(nèi)偏移地址;而后兩單元存放的是 16位的段地址 , 如圖 313所示 。 8086指令系統(tǒng) 8086有 5類傳送指令,以實現(xiàn) CPU的內(nèi)部寄存器之間、CPU和存儲器之間、 CPU和 I/O端口之間的數(shù)據(jù)傳送。 ( 1) 最基本的傳送指令 指令格式: MOV OPRDl, OPRD2 執(zhí)行功能: 該指令可把一個字節(jié)或一個字操作數(shù)從源地址傳送到目的地址中去 。 段寄存器CS、 DS、 SS、 ES存貯器立即數(shù)通用寄存器AX、 BX、 CX、 DXBP、 SP、 SI、 DI圖 314 數(shù)據(jù)傳送方向示意圖 1)在 CPU各內(nèi)部寄存器之間傳送數(shù)據(jù)(除代碼段寄存器 CS和指令指針 IP以外)。 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)
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1