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

正文內容

335程序控制指令(編輯修改稿)

2025-11-05 10:32 本頁面
 

【文章內容簡介】 INT 21H 。 最后顯示’ H’ 24 ? 用在循環(huán)程序中以確定是否要繼續(xù)循環(huán)。 ? 循環(huán)次數(shù)通常置于 CX中。 ? 轉移的目標應在 距離 本指令 128~ +127的范圍之內 (短 跳轉 )。 ? 循環(huán)控制指令 不影響標志位 。 25 (1) LOOP 格式: LOOP label 類比 串前綴 REP 操作: (CX)1→CX ; 若 (CX)≠0 ,則轉至 label處執(zhí)行 ; 否則退出循環(huán) ,執(zhí)行 LOOP后面的指令。 注: LOOP指令與下面的指令段等價: DEC CX JNZ label 26 (2)LOOPZ (LOOPE) 類比 串前綴 REPZ/E 格式: LOOPZ label 操作: (CX)1→CX ; 若 (CX)≠0∧ZF=1 ,則轉至 label處執(zhí)行 ; 否則退出循環(huán) ,執(zhí)行 LOOP后面的指令。 (3)LOOPNZ (LOOPNE) 類比 串前綴 REPNZ/NE 格式: LOOPNZ label 操作: (CX)1→CX ; 若 (CX)≠0∧ZF=0 ,則轉至 label處執(zhí)行 ; 否則退出循環(huán) ,執(zhí)行 LOOP后面的指令。 27 例 1:給 1A000H開始的 256個內存單元均減去 1,若發(fā)現(xiàn)某個單元減為 0則立即退出循環(huán),其后的單元不再減 1。程序段如下 :(邏輯地址為1A00:0H) MOV AX, 1A00H MOV DS, AX 。 1A00H段 MOV DI, 1 MOV CX, 256 GOON: INC DI DEC BYTE PTR[DI] LOOPNZ GOON HLT 28 例 2: 在 8000H開始的長度為 1000字節(jié)的字符串中查找 ’S’,若找到,把其偏移地址記錄在 ADDR中,否則ADDR單元置為 0FFFFH。 MOV DI, 8000H MOV CX, 1000 MOV AL, ’S’ MOV ADDR, 0FFFFH GOON: SCASB LOOPNZ GOON 。 兩條可并為 REPNZ SCASB JNZ DONE DEC DI MOV ADDR,DI DONE: HLT 29 3. 過程調用和返回指令 ? 過程 (子程序 ) 一段具有特定功能的,供其它程序調用的公用程序。 ? 特點 ? 調用子程序時, IP(或 CS:IP)的內容被壓入堆棧棧頂。從子程序返回時,棧頂?shù)膬热萦直粡棾龅?IP(或CS:IP)。 ? 子程序執(zhí)行結束后一般均要返回調用程序。 ? 一次定義,多次調用; ? 可帶參數(shù)調用,以完成不同的功能。 ? 優(yōu)點 程序代碼短 ,結構清晰 ,便于編程、調試、修改和閱讀。 ? 兩條相關指令 : 子程序調用指令 CALL 子程序返回指令 RET 30 斷點 入口地址 用于調用一個子過程; 調用前須 保護斷點 地址 (斷點 =CALL的下一條指令地址 CS:IP);再跳轉到子程序入口地址 (子程序入口地址 =子程序的第一條指令地址 CS:IP’或 CS’:IP’); 子過程執(zhí)行結束后要返回原調用處繼續(xù)執(zhí)行原程序 —— 斷點恢復 (RET指令 )。 調用指令 CALL與轉移指令 JMP的比較 RET CALL CALL 子程序入口地址 = JMP 子程序入口地址 + PUSH CALL的下一條指令地址 CALL指令功能 : 31 主程序調用子程序的執(zhí)行過程: 將調用指令的下一條指令的地址(斷點)壓入堆棧( CALL指令 ); 相當于乎 PUSH 下一條指令的地址 (IP或 CS:IP) 獲取子過程的入口地址(子過程第 1條指令的偏移地址) ( CALL指令 ) ; 相當于乎 JMP入口地址 (CS:IP’或 CS’:IP’) 執(zhí)行子過程,含相應參數(shù)的保存及恢復( 其它指令 ); 將斷點偏移地址由堆棧彈出,返回原程序( RET指令 )。 相當于乎 POP IP或 CS:IP 32 一般格式: CALL sub 。sub為子程序的入口 根據(jù)子程序入口的尋址方式,子程序調用有 4類 。 ① 段內 直接 調用 子程序的偏移地址直接由 CALL指令給出。 格式: CALL near_proc 。近 調用 CALL執(zhí)行時,它首先將 IP內容壓棧,然后把指令中給出的 位移量 加到 IP上得到新 IP’跳轉到子程序入口地址。 注意: 匯編以后的調用地址是相對于 CALL的下一條指令的位移量。 例: CALL 0120H 。子程序偏移地址由指令給出 (1)調用指令 CALL 33 位移量由匯編程序在匯編時進行計算 ,如下例 : CS:0102 CALL 0120H 。3字節(jié) CS:0105 …… 則 位移量 為 : 01200105H=001BH 于是 CALL 0120H的機器碼為 E8 1B 00 CS:0102 E8 CS:0103 1B CALL 0120H CS:0104 00 CS:0105 …… 34 子程序的偏移地
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1