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

正文內(nèi)容

第3章8086的尋址方式和指令系統(tǒng)(文件)

2025-08-07 09:55 上一頁面

下一頁面
 

【正文】 如果是一個(gè)字除以一個(gè)字節(jié) , 則商的范圍為- 128~ 127。 若 AL中的D7=0, 則 ( AH) =00H;若 AL的 D7=1, 則 ( AH)=FFH。 當(dāng)然 BCD碼只有 0~ 9共 10種編碼 。 調(diào)整的步驟如下: ① 如 AL寄存器的低 4位在 0~ 9之間 , 且 AF=0, 則跳過第 ②步 , 執(zhí)行第 ③ 步; ② 如 AL寄存器的低 4位為十六進(jìn)制數(shù)的 A~ F或 AF=1, 則 AL中的內(nèi)容加 6, AH中內(nèi)容加 1, 并將 AF置 1; ③ 清除 AL寄存器的高 4位; ④ AF位的值送 CF位 。 AH← ( AH) -調(diào)整產(chǎn)生的借位值 。 本指令的調(diào)整方法是:把 AL寄存器的內(nèi)容除以 0AH, 商放在 AH中 , 余數(shù)保存在 AL中 。 調(diào)整操作如下: AL← 10 AH+ AL AH← 0 例如:一個(gè)數(shù)據(jù)為 65, 用非壓縮的 BCD碼表示 , 則 AH中為00000110, AL中為 00000101, 調(diào)整執(zhí)行 AAD指令 , 這條指令將 AH中的內(nèi)容乘以 10, 再加上 AL中的內(nèi)容 , 這樣得到 AL的結(jié)果為 41H。 ( 1) NOT邏輯求反指令 指令格式: NOT OPRD 指令功能: OPRD←OPRD 該指令對(duì)操作數(shù)進(jìn)行求反操作 , 然后將結(jié)果送回 。 ( 2) AND 邏輯 “ 與 ” 指令 指令格式: AND OPRDl, OPRD2 指令功能: OPRD1← ( OPRD1) ∧ ( OPRD2) 該指令對(duì)兩個(gè)操作數(shù)進(jìn)行按位相 “ 與 ” 的邏輯運(yùn)算 。 目的操作數(shù) OPRDl:可以是累加器 , 也可以是通用寄存器 , 也可以是存儲(chǔ)器 。 標(biāo)志位 PF、 SF、ZF反映操作的結(jié)果 , 而標(biāo)志位 AF未定義 。 例如:若要檢測(cè) AL中的最高位是否為 1, 且為 1時(shí)則轉(zhuǎn)移 。 目的操作數(shù) OPRDl:可以是累加器 、 通用寄存器 、 也可 以是存儲(chǔ)器 。 XOR指令可以進(jìn)行字節(jié)操作 , 也可以進(jìn)行字操作 。 XOR指令執(zhí)行后 , 標(biāo)志位 CF=0, OF=0, 標(biāo)志位 PF、 SF,ZF將反映 “ 異或 ” 操作的結(jié)果 。 目的操作數(shù)可以是 8位 , 也可以 16位 。該指令每執(zhí)行一次移位操作,就使操作數(shù)右移一位,但符號(hào)位保持不變,而最低位移至標(biāo)志位 CF,目的操作數(shù)可以是 8位,也可以 16位。 CF最低位最高位0例如: MOV BL, 4EH SHR BL, 1 指令執(zhí)行后,( BL) =27H, CF=0 3. 循環(huán)移位指令 ( 1) ROL不帶進(jìn)位的循環(huán)左移指令 指令格式: ROL OPRD, CL/1 指令功能:將目的操作數(shù) OPRD中的二進(jìn)制數(shù)向左移動(dòng) 1位或 CL寄存器中指定的位數(shù)。右移一位時(shí),操作數(shù)的最低位移出送到 CF中,同時(shí)送至最高位。目的操作數(shù)可以是 8位,也可以 16位。 在每做一次串操作后 , 若是對(duì)字節(jié)進(jìn)行操作 , 則 SI和 DI的值會(huì)自動(dòng)加 1或減 l;若是對(duì)字進(jìn)行操作 , 則 SI和 DI的值就自動(dòng)加 2或減 2, 是加還是減由 DF標(biāo)志寄存器來決定 。 當(dāng) DF=0且是字節(jié)傳送時(shí) , 則傳送后 SI、 DI加 1,以使指針指向下一個(gè)地址;當(dāng) DF=0且是字傳送時(shí) , 則 SI、DI加 2。 3. SCAS串掃描指令 指令格式: SCAS OPRD1, OPRD2 SCASB ;字節(jié)掃描 SCASW ;字掃描 指令功能: 字節(jié)操作 AL- (( DI)) DI← ( DI) ?1; 字操作 AX- (( DI)) DI← ( DI) ?2; 該類指令是串掃描指令,用于尋找內(nèi)存區(qū)中指定的數(shù)據(jù)和字符。 5. STOS串存儲(chǔ)指令 指令格式: STOS OPRD1, OPRD2 STOSB ;字節(jié)存儲(chǔ) STOSW ;字存儲(chǔ) 指令功能: 字節(jié)操作 (( DI)) ← ( AL) DI← ( DI) ?1 字操作 (( DI)) ← AX DI← ( DI) ?2 該類指令是字串存貯指令 。重復(fù)次數(shù)應(yīng)放在寄存器 CX中 。 REPE/REPZ指令是相等重復(fù)指令,即只要 ZF=l,且 CX≠0,串指令就重復(fù)執(zhí)行。 例如:將 1 000個(gè)字符的字符串從內(nèi)存的 BUFFERl搬移到內(nèi)存的BUFFER2中去 。 CLD LEA DI, DEST LEA SI, SOURCE MOV CX, 500 REPE CMPSB JCXZ NEXT MATCH: DEC SI MOV AL, BYTE PTR[SI] 1. JMP無條件轉(zhuǎn)移指令 這些指令都將引起程序執(zhí)行順序的改變 。 SHORT為屬性運(yùn)算符,指示匯編程序?qū)⒌刂穮R編成 8位偏移量,范圍在- 128~+ 127之內(nèi)。 OPRD可以為寄存器尋址或存儲(chǔ)器尋址的某一種 。 執(zhí)行該指令時(shí)要修改 CS和 IP的內(nèi)容 。 指令功能: SP?( SP) - 2, ( SP) ?( IP) IP?OPRD對(duì)應(yīng) 16位直接地址 在程序中 , OPRD一般為子程序名 , 匯編時(shí)匯編成 16位的偏移地址 。 指令功能:段內(nèi)調(diào)用 SP?( SP) - 2, ( SP) ?( IP) IP?寄存器或存儲(chǔ)器所對(duì)應(yīng)的 16位數(shù)據(jù) 指令執(zhí)行后 , 把 16位通用寄存器或存儲(chǔ)單元中的內(nèi)容送入IP中 , CS保持不變 。它們根據(jù)標(biāo)志寄存器中各標(biāo)志位的狀態(tài),決定程序是否進(jìn)行轉(zhuǎn)移。 這類指令用 CX作計(jì)數(shù)器 , 每執(zhí)行一次指令 , CX內(nèi)容減 1,直到減為 0, 循環(huán)才結(jié)束 。 在 LOOPE和 LOOPNE兩條指令中,只要兩個(gè)條件中任 — 個(gè)不滿足,循環(huán)就結(jié)束。 這樣 ,用戶就不必深入了解有關(guān)設(shè)備的電路和接口 , 只須遵照 DOS規(guī)定的調(diào)用原則即可使用 。 ( 3) 使用 INT 21H指令 。 DOS 功能調(diào)用 中斷 功能 入口參數(shù) 出口參數(shù) INT 20H 程序正常退出 INT 21H 系統(tǒng)功能調(diào)用 AH=功能號(hào),相應(yīng)入口號(hào)數(shù) 相應(yīng)出口號(hào)數(shù) INT 22H 結(jié)束退出 INT 23H Ctrl+Break退出 INT 24H 出錯(cuò)退出 INT 25H 讀盤 AL=驅(qū)動(dòng)器號(hào) CX=讀入扇區(qū)數(shù) DX=起始邏輯扇區(qū)號(hào) DS: BX=內(nèi)存緩沖區(qū)地址 CF=1讀盤出錯(cuò) CF=0讀盤正常 INT 26H 寫盤 AL=驅(qū)動(dòng)器號(hào) CX=寫入扇區(qū)數(shù) DX=起始邏輯扇區(qū)號(hào) DS: BX=內(nèi)存緩沖區(qū)地址 CF=1寫盤出錯(cuò) CF=0寫盤正常 INT 27H 駐留退出 INT 28~ 2EH DOS保留 INT 2FH 打印機(jī) INT 30H~ 3FH DOS保留 要完成系統(tǒng)功能調(diào)用 , 基本按如下步驟: ( 1) 將入口參數(shù)送到指定寄存器中 。 WAIT 使處理器處于等待狀態(tài) LOCK 封鎖總線指令 . 可放在任一指令前作為前綴 NOP 空操怍指令 , 處理器什么操作也不做 DOS功能調(diào)用可完成 I/O設(shè)備管理 、 存儲(chǔ)管理 、 文件管理和作業(yè)管理等功能 。 ( 2) 指令格式: LOOPNE OPRD 指令功能: CX← ( CX) - 1若 CX≠0且 ZF= 0循環(huán) 。因此條件轉(zhuǎn)移指令的范圍是有限的,不像 JMP指令那樣可以轉(zhuǎn)移到內(nèi)存的任何一個(gè)位置上。 ( 2) 段間調(diào)用與返回指令 1) 段間直接調(diào)用指令 指令格式: CALL OPRD 指令功能: SP?( SP) - 2 (( SP) + 1, ( SP)) ?( CS) SP?( SP) - 2, ( SP) ?( IP) IP?OPRD所在段的直接地址 CS?直接地址所在的段 例如:以下程序的代碼段 CODE1中有一條調(diào)用指令CALL FAR PTR WANG, 而 WANG為代碼段 CODE2中的子程序 , 程序的框架結(jié)構(gòu)如下: CODE1 SEGMENT ┇ CALL FAR PTR WANG ┇ CODE1 ENDS CODE2 SEGMENT ┇ WANG PROC FAR ┇ WANG ENDP RET CODE2 ENDS 1) 段間間接調(diào)用 指令格式: CALL OPRD 指令功能: SP?( SP) - 2 (( SP) + 1, ( SP)) ?( CS) SP?( SP) - 2 ( SP) + 1, ( SP) ?( IP) IP?OPRD所在存儲(chǔ)單元的前兩個(gè)單元的內(nèi)容 CS? OPRD所在存儲(chǔ)單元的后兩個(gè)單元的內(nèi)容 例如: CALL DWORD PTR [BX] 2) 段間返回指令 指令格式: RET 指令功能: IP← ( ( SP+1) , ( SP)) SP← ( SP) +2 CS← ( ( SP+1) , ( SP)) SP← ( SP) +2 即連續(xù)執(zhí)行兩次出棧操作,首先彈出的送入 IP中,第二次彈出的送入 CS中。 把子程序的首地址送 IP, 從而實(shí)現(xiàn)程序調(diào)用 。段間間接轉(zhuǎn)移 JMP DWORD PTR[BP]][DI] 該指令指定的雙字指針的第一個(gè)字單元內(nèi)容送入 IP, 第二個(gè)字單元內(nèi)容送入 CS, 所定義的單元必定是雙字單元 。 可以直接地說 , 段內(nèi)間接轉(zhuǎn)移 , 其轉(zhuǎn)移地址在寄存器中或存儲(chǔ)器中 。 NEAR PTR為屬性運(yùn)算符 , 指示匯編程序?qū)⒌刂穮R編成 16位偏移量 , 范圍在 64K之內(nèi) 。 所謂段內(nèi)轉(zhuǎn)移是指段地址不變 ,僅 IP發(fā)生改變;而段間轉(zhuǎn)移 , CS和 IP均發(fā)生改變 。 例如:將數(shù)據(jù)段中 100個(gè)字的數(shù)據(jù)塊 BLOCKl搬移到同一個(gè)數(shù)據(jù)段的BLOCK2中去 。 當(dāng)條件滿足時(shí) , 才重復(fù)執(zhí)行后面的串指令 , 一旦條件不滿足 , 重復(fù)就停止 。 7. REPE/PEPZ相等 /為零時(shí)重復(fù)操作前綴 它們是條件重復(fù)前綴 。 6. REP重復(fù)操作前綴 它是串指令的前綴 。 4. LODS串裝入指令 指令格式 LODS OPRD1, OPRD2 LODSB ;字節(jié)傳送 LODSW ;字傳送 指令功能: 字節(jié)操作 AL← (( SI)) SI← ( SI) ?1 字操作 AX← (( SI)) SI← ( SI) ?2 該類指令是字串裝入指令。 2.
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1