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

正文內(nèi)容

第五章80868088指令系統(tǒng)(參考版)

2025-08-04 13:13本頁面
  

【正文】 。 ESC指令是處理器交權指令。 WAIT是等待指令 , 它也使 8088處于空操作狀態(tài) , 但每隔 5個時鐘周期要檢查一下 8088的 TEST線 , 若該線為人 1,則使 8088處于等待 , 直到 TEST線為 0止 , 這主要用于 8088和協(xié)處理器及外部設備實現(xiàn)同步 。 HLT是暫停指令 , 將使 8088處于暫停狀態(tài) , 只有再重新啟動或有一個外部中斷發(fā)生時 , 則退出暫停狀態(tài) , 常用HLT指令來等待中斷的產(chǎn)生 。 標志位操作指令用于改變檔志位的狀態(tài) , 如表 操作說明所示 。 一、標志位操作指令 二、外部同步指令 一、標志位操作指令 8086/8088有七條直接對單獨的標志進行操作的指令 。沒找到 , 由此執(zhí)行 第七節(jié) 處理器控制指令 8086/8088處理器控制指令用于修改標志寄存器 , 或與外部設備同步 ,以及用來控制處理器與協(xié)處理器之間的相互作用 。找到 SI, 減 1,恢復到找到時地址 MOV AL,[SI] 。重復比較不相等或 CX=0停止比較 JCXZ MATCH 。SOURCE偏移地址送 SI MOV CX,500 。重復執(zhí)行 ,直到 CX=0為止 比較 DEST和 SOURCE中的 500個字節(jié) ,找出第一個不匹配 (不相同 )的字節(jié) ,如果找到 ,則將 SOURCE中的這個數(shù)送到 AL中 : CLD LEA DI,ES:DEST 。重復次數(shù) (80)送 CX CLD 。 LEA SI,BLOCK1 ; 源串地址送 SI LEA DI,BLOCK2 。DATAA, DATAB 重復搬運 將當前數(shù)據(jù)段中的 BLOCK1數(shù)據(jù)塊搬到同一段中 BLOCK2去 : PUSH DS POP ES 。DATAB的偏移地址送 DI MOV CX,1024 。 示例如下: 將 1024個字符串從 DATAA數(shù)據(jù)區(qū)般到 DATAB數(shù)據(jù)區(qū) : MOV SI,OFFSET DATAA 。 二、字符串指令的重復 當一條串操作指令要重復執(zhí)行時 , 可以指令前加前綴 ,這些前綴是: REP 重復 , 使用時將重復次數(shù)放在CX中 , 這樣當指令執(zhí)行每重復一次 , CX值便減1 , 直到減到目前為止為止 , 便停止重復 。 STOS/STOSB/STOSW是字串存貯指令 。 LODS/LODSB/LOCSW是字串裝入指令 。 SCAS/SCASB/SCASW是字串掃描指令 。 它是將當前數(shù)據(jù)段由SI指針指出的字節(jié)或字當前附加段DI指出的字節(jié)或字進行比較 , 把比較結果送標志寄存器 , 而不影響兩個操作數(shù) 。 它將把當前數(shù)據(jù)串中用SI指出的源串的一個字節(jié)或一個字傳送到用DI指針指向的附加段目的地址去 , 當DF=1 , 則SI 、 DI作減1或減2 。 匯 編 格 式 操 作M O V S / M O V S B / M O VS W C M P S / C M P S B / CMPSWS C A S / S C A S B / S C ASWL O D S / L O D S B / L O DSWS T O S / S T O S B / S T OSWREPR E P E / R E P ZR E P N E / R E P N Z內(nèi) 存 區(qū) 之 間 字 節(jié) 串 或 字 串 傳 送字 節(jié) 串 或 字 節(jié) 串 進 行 比 較掃 描 字 節(jié) 串 , 以 查 找 指 定 字 節(jié) 串 或 字 串把 內(nèi) 存 中 的 字 節(jié) 或 字 裝 入 A L 或 A X 中把 字 節(jié) 和 字 存 入 內(nèi) 存字 符 串 操 作 前 綴 , 表 示 重 復 , 重 復 值 裝CX重 復 操 作 到 C X = 0 或 Z F = 0 為 止重 復 操 作 到 C X = 0 或 Z F = 1 為此表中每一類指令的第一個均帶有操作數(shù) , 匯編時 , 匯編程序均將其轉換為/后面中的一個 ( 根據(jù)是字節(jié)還是字操作 ) , 因此多使用后面的兩種形式 . 在字串操作中假定源串在數(shù)據(jù)中 , 目的串在附加段中 ,用SI作指針對源尋址 , 用DI作指針騍目的串尋址 , 在每次字串操作后 , 若是字節(jié)操作 , 則SI和 ( 或 ) DI的值會自動加1或減1 , 若是字操作 , 則SI和 ( 或 ) DI自動加2或減2 , 是加還是減由標志寄存器的方向標志位決定 , 若:DF=0則作加 , 否則SI , DI作減操作 . 在串操作前可用STD指令來設置DF , 用CLD指令來清DF . 一、串操作指令 8086/8088有五種基本的串操作指令:串傳送指令 , 串比較指令 , 串掃描指令 , 串裝入指令和串存儲指令 。 它們存放在連續(xù)區(qū)域中 , 若對它們的每個字或字節(jié)均作同樣的操作 ,就稱為串操作 。 IRET指令的作用是:當執(zhí)行完中段服務程序后,返回主程序。 例如: INT 1AH 此時程序將轉向 IA型中斷服務程序執(zhí)行 , 此時中斷向量地址為 4 1AH=68H, 即從 68H和 69H單元中取出 IP的值 ,從 6AH和 6BH取出 CS的值 , 然后轉向該地址執(zhí)行中斷服務程序 。 這 256個入口地址組成一個表叫中斷向量表 , 存放在存儲器絕對地址 00000H到003FFH中 。 每個中斷向量包括了四個字節(jié)的中斷程序的入口地址 。 INT n指令 這條指令啟動在指令中的中斷類型號 (n)規(guī)定的中斷過程 。 四、中斷指令 8088提供三條中斷傳送操作指令: 中斷指令 INT n 溢出中斷指令 INTO 中斷返回指令 IRET 在 8086/8088中 , 程序的執(zhí)行控制可以采用軟中斷的方式 。 象 JMP指令一樣 CALL指令也有兩種得到目標地址的辦法:直接和間接。 當段內(nèi)調(diào)用時 , 首先將 IP內(nèi)容入棧 。 三、調(diào)用和返回指令 CALL、 RET CALL 指令用來調(diào)用一個過程或者程序 。 SUB DI, BX INC DI ; 字節(jié)數(shù) =(DI)(BX)+1 MOV CX, DI ; 字節(jié)數(shù)送 CX DEC BX NEXT: INC BX CMP BYTEPTR[BX], 0 ; 與 0比較 LOOPE NEXT ; 是 0, 去比較下一個 JNZ NZ_FOUND ; 找到否 , 即 ZF=0? ……... ; 沒找到 NZ_FOUND: ; 找到 , [BX]中為非零字節(jié) …….... JCXZ 指令 這條指令也是一條轉移指令 , 它的轉移條件是 CX=0。 當兩個中的一個條件滿足一個不滿足時 , 則終止循環(huán) 。 LOOP、 LOOPZ、 LOOPNZ指令 JCXZ 指令 LOOP、 LOOPZ、 LOOPNZ指令 這類指令用于控制程序的循環(huán) , 其控制轉向的目的地址是在以下條指令地址為中心的 +127到 128的范圍內(nèi) , 這類指令用 CX 作計數(shù)器 , 每執(zhí)行該指令 , CX便減 1, 直到減為0為止 。 條件轉移指令由對帶符號數(shù)比較或測試的指令,這常對溢出為 OF或符號為 SF及逆行測試,對無符號數(shù)則常測試 CF,對帶符號數(shù)由大于等于小于三種情況,無符號數(shù)則有高于等于低于三種情況。 如: JE/JZ SUM; JE指令的含義若兩數(shù)相等則轉 SUM, 而JZ指令的含義是若標志位 ZF=1則轉 SUM。 條件轉移指令如表 。 例如: JMP SHORT NEXT; 短程轉移 JMP LOOPL ; 近程轉移 JMP指令中的目標也可以是由存儲器或寄存器指出的間接轉移地址 , 例如: JMP TARGET [BX]; 轉移地址由 BX及 TARGET變 ;址計算得到 JMP CX ; 以 CX的內(nèi)容位轉移目的地 ;址 8086/8088有 18條不同的條件轉移指令 。 匯 編 格 式 操 作J M P targetJG/JNLE targetJGE /JNL targetJL/JNGE targetJLE/JNG targetJ O targetJ S targetJNO t a r g e tJ N S targetJA/JNBE t a r g e tJAE/JNAE t a r g e tJB/JNAE targetJBE/JNA targetJ C target無條件轉移到指定的地址大于或不小于等于轉移大于等于或不小于轉移小于或不大于等于轉移小于等于或不大于轉移溢出轉移結果為負轉移不溢出轉移結果為正轉移高于或不低于等于轉移高于等于或不低于轉移低于或不高于等于轉移低于等于或不高于轉移進位轉移匯 編 格 式 操 作JE/JZ t a r g e tJP/JPE t a r g e tJ N C targetJNE/JNZ targetJNP/JPO targetJ C X Z targetL O O P targetLOOPE/LOOPZ t a r g e tLOOPNE/LOOPNZ targetC A L L targetRET optionalvalueINT t y p eINTOIRET等 于 或 為 零 轉 移奇 偶 校 驗 為 偶 轉 移無 進 位 轉 移不 等 于 或 非 零 轉 移奇 偶 校 驗 為 奇 轉 移CX=0 時,則轉移循環(huán)執(zhí)行指定地址開始的指令, C X 進行循環(huán)計數(shù),當 CX=0 時 循 環(huán) 停 止如果 CX ≠ 0 , ZF=1 時則轉移如果 CX ≠ 0 時, ZF=0 時,則轉移調(diào)用一個過程或子程序過程返回中 斷 , 是 程 序 轉 移 到 類 型 碼 所 指 中 斷 程序溢出中斷中斷返回一、轉移指令 轉移指令分無條件轉移和條件轉移指令 無條件轉移指令格式為: JMP TARGET JMP 轉移指令分直接轉移和間接轉移 , 直接轉移又分短程 (SHORT), 近程 (NEAR)和遠程 (FAR) 三種形式 , 當程序中執(zhí)行到 JMP 指令時 , 執(zhí)行就無條件轉移到 JMP所指的目標 (TARGET)去 , 目標可以是一個標號指出的直接轉移地址 , 如 : JMP SUM 它指出無條件轉向 SUM 地址 (是段內(nèi)轉移 )目標也可以是用NEAR或 FAR 進行說明 , 例如: JMP FAR LABEL 說明 LABEL 不在現(xiàn)行段內(nèi),則是段間轉移。 (2)重復控制指令 (3)調(diào)用和返回指令 (4)中斷指令 8086/8088 使用 CS 段寄存器和 IP 指令指針寄存器的值來尋址 , 以取指令來執(zhí)行 , 轉移指令則可改變 CS與 IP的值或僅改變 IP 的值 , 使得改變指令執(zhí)行的順序 , 轉移指令如表 Target 表示轉移的目標 。 循環(huán)移動的位數(shù)由指令中的計數(shù)值決定 , 計數(shù)值可以是1或存放在 CL中的無符號數(shù) 。 操作數(shù)可以是寄存器操作數(shù) , 也可以是內(nèi)存操作數(shù) 。 循環(huán)指令的功能如圖 。 常利用移位指令 , 作快速的乘除法 , 例如:某數(shù)乘 4或除 4的運算 。 例如: MOV D, 1 將 D中的數(shù)邏輯右移 1位 , D可以是寄存器或存儲器單元 。 移位指令可將通用寄存器或存儲單元的 8位或 16位的數(shù)左移或右移 , 其移位方向由指令決定 , 移動位數(shù)由指令中的計數(shù)值所決定 , 計數(shù)值可以是 1或存放在 CL中的無符號數(shù) 。 二、移位指令 8086/8088有四條移為指令: 算術左移指令 SAL dst,cout
點擊復制文檔內(nèi)容
語文相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1