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

正文內(nèi)容

第3章8086的尋址方式和指令系統(tǒng)(參考版)

2024-07-31 09:55本頁面
  

【正文】 ( 3) 使用 INT 21H指令 。 DOS 功能調(diào)用 中斷 功能 入口參數(shù) 出口參數(shù) INT 20H 程序正常退出 INT 21H 系統(tǒng)功能調(diào)用 AH=功能號,相應(yīng)入口號數(shù) 相應(yīng)出口號數(shù) INT 22H 結(jié)束退出 INT 23H Ctrl+Break退出 INT 24H 出錯退出 INT 25H 讀盤 AL=驅(qū)動器號 CX=讀入扇區(qū)數(shù) DX=起始邏輯扇區(qū)號 DS: BX=內(nèi)存緩沖區(qū)地址 CF=1讀盤出錯 CF=0讀盤正常 INT 26H 寫盤 AL=驅(qū)動器號 CX=寫入扇區(qū)數(shù) DX=起始邏輯扇區(qū)號 DS: BX=內(nèi)存緩沖區(qū)地址 CF=1寫盤出錯 CF=0寫盤正常 INT 27H 駐留退出 INT 28~ 2EH DOS保留 INT 2FH 打印機 INT 30H~ 3FH DOS保留 要完成系統(tǒng)功能調(diào)用 , 基本按如下步驟: ( 1) 將入口參數(shù)送到指定寄存器中 。 這樣 ,用戶就不必深入了解有關(guān)設(shè)備的電路和接口 , 只須遵照 DOS規(guī)定的調(diào)用原則即可使用 。 WAIT 使處理器處于等待狀態(tài) LOCK 封鎖總線指令 . 可放在任一指令前作為前綴 NOP 空操怍指令 , 處理器什么操作也不做 DOS功能調(diào)用可完成 I/O設(shè)備管理 、 存儲管理 、 文件管理和作業(yè)管理等功能 。 在 LOOPE和 LOOPNE兩條指令中,只要兩個條件中任 — 個不滿足,循環(huán)就結(jié)束。 ( 2) 指令格式: LOOPNE OPRD 指令功能: CX← ( CX) - 1若 CX≠0且 ZF= 0循環(huán) 。 這類指令用 CX作計數(shù)器 , 每執(zhí)行一次指令 , CX內(nèi)容減 1,直到減為 0, 循環(huán)才結(jié)束 。因此條件轉(zhuǎn)移指令的范圍是有限的,不像 JMP指令那樣可以轉(zhuǎn)移到內(nèi)存的任何一個位置上。它們根據(jù)標志寄存器中各標志位的狀態(tài),決定程序是否進行轉(zhuǎn)移。 ( 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所在存儲單元的前兩個單元的內(nèi)容 CS? OPRD所在存儲單元的后兩個單元的內(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中。 指令功能:段內(nèi)調(diào)用 SP?( SP) - 2, ( SP) ?( IP) IP?寄存器或存儲器所對應(yīng)的 16位數(shù)據(jù) 指令執(zhí)行后 , 把 16位通用寄存器或存儲單元中的內(nèi)容送入IP中 , CS保持不變 。 把子程序的首地址送 IP, 從而實現(xiàn)程序調(diào)用 。 指令功能: SP?( SP) - 2, ( SP) ?( IP) IP?OPRD對應(yīng) 16位直接地址 在程序中 , OPRD一般為子程序名 , 匯編時匯編成 16位的偏移地址 。段間間接轉(zhuǎn)移 JMP DWORD PTR[BP]][DI] 該指令指定的雙字指針的第一個字單元內(nèi)容送入 IP, 第二個字單元內(nèi)容送入 CS, 所定義的單元必定是雙字單元 。 執(zhí)行該指令時要修改 CS和 IP的內(nèi)容 。 可以直接地說 , 段內(nèi)間接轉(zhuǎn)移 , 其轉(zhuǎn)移地址在寄存器中或存儲器中 。 OPRD可以為寄存器尋址或存儲器尋址的某一種 。 NEAR PTR為屬性運算符 , 指示匯編程序?qū)⒌刂穮R編成 16位偏移量 , 范圍在 64K之內(nèi) 。 SHORT為屬性運算符,指示匯編程序?qū)⒌刂穮R編成 8位偏移量,范圍在- 128~+ 127之內(nèi)。 所謂段內(nèi)轉(zhuǎn)移是指段地址不變 ,僅 IP發(fā)生改變;而段間轉(zhuǎn)移 , CS和 IP均發(fā)生改變 。 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í)行順序的改變 。 例如:將數(shù)據(jù)段中 100個字的數(shù)據(jù)塊 BLOCKl搬移到同一個數(shù)據(jù)段的BLOCK2中去 。 例如:將 1 000個字符的字符串從內(nèi)存的 BUFFERl搬移到內(nèi)存的BUFFER2中去 。 當條件滿足時 , 才重復(fù)執(zhí)行后面的串指令 , 一旦條件不滿足 , 重復(fù)就停止 。 REPE/REPZ指令是相等重復(fù)指令,即只要 ZF=l,且 CX≠0,串指令就重復(fù)執(zhí)行。 7. REPE/PEPZ相等 /為零時重復(fù)操作前綴 它們是條件重復(fù)前綴 。重復(fù)次數(shù)應(yīng)放在寄存器 CX中 。 6. REP重復(fù)操作前綴 它是串指令的前綴 。 5. STOS串存儲指令 指令格式: STOS OPRD1, OPRD2 STOSB ;字節(jié)存儲 STOSW ;字存儲 指令功能: 字節(jié)操作 (( DI)) ← ( AL) DI← ( DI) ?1 字操作 (( DI)) ← AX DI← ( DI) ?2 該類指令是字串存貯指令 。 4. LODS串裝入指令 指令格式 LODS OPRD1, OPRD2 LODSB ;字節(jié)傳送 LODSW ;字傳送 指令功能: 字節(jié)操作 AL← (( SI)) SI← ( SI) ?1 字操作 AX← (( SI)) SI← ( SI) ?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ù)和字符。 2. CMPS串比較指令 指令格式: CMPS OPRD1, OPRD2 CMPSB ;字節(jié)比較 CMPSW ;字比較 指令功能: (( SI)) - (( DI)) 字節(jié)操作 SI← ( SI) ?1; DI← ( DI) ?1; 字操作 SI← ( SI) ?2; DI← ( DI) ?2; 該類指令執(zhí)行時,將當前數(shù)據(jù)段由 SI所指出的字節(jié)和字同當前附加段中由 DI所指出的目的串的字節(jié)或字進行比較,把比較結(jié)果送標志位。 當 DF=0且是字節(jié)傳送時 , 則傳送后 SI、 DI加 1,以使指針指向下一個地址;當 DF=0且是字傳送時 , 則 SI、DI加 2。 在串操作前可用 STD指令使 DF位置 l, 也可以用 CLD指令使 DF位清 0。 在每做一次串操作后 , 若是對字節(jié)進行操作 , 則 SI和 DI的值會自動加 1或減 l;若是對字進行操作 , 則 SI和 DI的值就自動加 2或減 2, 是加還是減由 DF標志寄存器來決定 。右移一位時,操作數(shù)的最低位移出送到 CF中,而原來的 CF位送至最高位。目的操作數(shù)可以是 8位,也可以 16位。 CF最低位最高位例如: MOV AL, 6BH ROL AL, 1 指令執(zhí)行完后 , ( AL) =B5H, CF=1 ( 3) RCL帶進位的循環(huán)左移指令 指令格式: RCL OPRD, CL/1 指令功能:將目的操作數(shù) OPRD中的二進制數(shù)向左移動1位或 CL寄存器中指定的位數(shù)。右移一位時,操作數(shù)的最低位移出送到 CF中,同時送至最高位。目的操作數(shù)可以是 8位,也可以 16位。 CF最低位最高位0例如: MOV BL, 4EH SHR BL, 1 指令執(zhí)行后,( BL) =27H, CF=0 3. 循環(huán)移位指令 ( 1) ROL不帶進位的循環(huán)左移指令 指令格式: ROL OPRD, CL/1 指令功能:將目的操作數(shù) OPRD中的二進制數(shù)向左移動 1位或 CL寄存器中指定的位數(shù)。該指令每執(zhí)行一次移位操作,就使操作數(shù)右移一位,左面的最高位將補 0,最低位移至標志位 CF中。該指令每執(zhí)行一次移位操作,就使操作數(shù)右移一位,但符號位保持不變,而最低位移至標志位 CF,目的操作數(shù)可以是 8位,也可以 16位。 0CF最低位最高位利用左移 1位操作可實現(xiàn)操作數(shù)乘 2的運算 。 目的操作數(shù)可以是 8位 , 也可以 16位 。 2. 移位指令 ( 1) SAL/ SHL算術(shù)左移和邏輯左移指令 指令格式: SAL/SHL OPRD, CL/1 指令功能:這兩條指令的操作結(jié)果是完全一樣的 , 將目的操作數(shù) OPRD中的二進制數(shù)向左移動 1位或 CL寄存器中指定的位數(shù) 。 XOR指令執(zhí)行后 , 標志位 CF=0, OF=0, 標志位 PF、 SF,ZF將反映 “ 異或 ” 操作的結(jié)果 。 源操作數(shù) OPRD2:可以是立即數(shù) 、 寄存器 , 也可以是存儲器 。 XOR指令可以進行字節(jié)操作 , 也可以進行字操作 。 例如: OR AL, 80H OR AX, 05FFH OR BX, SI OR BX, DATA OR BUFFER[BX], SI OR BUFFER[BX+SI], 8000H ( 5) XOR邏輯 “ 異
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1