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

正文內(nèi)容

[理學]第4章指令系統(tǒng)-資料下載頁

2025-02-21 12:46本頁面
  

【正文】 條件 JC LABEL 有進位轉(zhuǎn)移 CF= 1 JNC LABEL 無進位轉(zhuǎn)移 CF= 0 JO LABEL 溢出轉(zhuǎn)移 OF= 1 JNO LABEL 無溢出轉(zhuǎn)移 OF= 0 JP/JPE LABEL 偶轉(zhuǎn)移 PF= 1 JNP/JPO LABEL 奇轉(zhuǎn)移 PF= 0 JS LABEL 負數(shù)轉(zhuǎn)移 SF= 1 JNS LABEL 非負數(shù)轉(zhuǎn)移 SF= 0 JZ/JE LABEL 結(jié)果為 0/相等轉(zhuǎn)移 ZF= 1 JNZ/JNE LABEL 結(jié)果不為 0/不相等轉(zhuǎn)移 ZF= 0 注:對實現(xiàn)同一功能但指令助記符有兩種形式時 , 在程序中究竟選用哪一種視習慣或用途而定 , 例如對于指令 JZ/JE LABEL, 當比較兩數(shù)相等轉(zhuǎn)移時常使用 JZ助記符 , 當比較某數(shù)為 0轉(zhuǎn)移時常使用 JE指令 。 下同 。 ( 1)檢測單個條件標志位轉(zhuǎn)移指令 ( 2) 有符號數(shù)的條件轉(zhuǎn)移指令 匯編格式 功 能 測試條件 JG/JNLE LABEL 大于 /不小于等于 轉(zhuǎn)移 ZF= 0 and SF= OF JNG/JLE LABEL 不大于 /小于等于 轉(zhuǎn)移 ZF= 1 or SF≠OF JL/JNGE LABEL 小于 /不大于等于 轉(zhuǎn)移 SF≠OF JNL/JGE LABEL 不小于 /大于等于 轉(zhuǎn)移 SF= OF 注 1. G= Greater, L= Less, E= Equal, N= Not 注 2. 指令 JZ/JE LABEL和 JNZ/JNE LABEL同樣可以用于兩個帶符號數(shù)的比較轉(zhuǎn)移。 ( 3)無符號數(shù)的條件轉(zhuǎn)移指令 匯編格式 功 能 測試條件 JA/JNBE LABEL 高于 /不低于等于 轉(zhuǎn)移 CF= 0 and ZF= 0 JNA/JBE LABEL 不高于 /低于等于 轉(zhuǎn)移 CF= 1 or ZF= 1 JB/JNAE/JC LABEL 低于 /不高于等于 轉(zhuǎn)移 CF= 1 JNB/JAE/JNC LABEL 不低于 /高于等于 轉(zhuǎn)移 CF= 0 注 1. A= Above, B= Below, C= Carry, E= Equal, N= Not可以看出,這里的高于相當于帶符號數(shù)的大于,低于相當于帶符號數(shù)的小于。 注 2. 指令 JZ/JE LABEL和 JNZ/JNE LABEL同樣可以用于兩個無符號數(shù)的比較轉(zhuǎn)移。 [例 1]比較無符號數(shù)大小 , 將較大的數(shù)存放 AX寄存器 。 CMP AX, BX ; ( AX) - ( BX) JNB NEXT ;若 AX=BX, 轉(zhuǎn)移到 NEXT XCHG AX, BX ;若 AXBX, 交換 NEXT: … [例 2]比較有符號數(shù)大小 , 將較大的數(shù)存放 AX寄存器 。 CMP AX, BX ; ( AX) - ( BX) JNL NEXT ;若 AX=BX, 轉(zhuǎn)移到 NEXT XCHG AX, BX ;若 AXBX, 交換 NEXT: … 程序控制類指令 ● 3. 循環(huán)控制指令 (1) LOOP 循環(huán)指令 ● 指令格式: LOOP 標號 ● 指令 功能 :(CX)- 1→CX , 若 (CX)≠0,則轉(zhuǎn)向標號處執(zhí)行循環(huán)體, 否則順序執(zhí)行下一條指令。 循環(huán)指令可以控制程序的循環(huán)。它們的特點是: ① 循環(huán)入口地址(指令中的標號)只能在當前 IP值的 - 128~+ 127范圍之內(nèi)。 ② 用 CX作為循環(huán)次數(shù)計數(shù)器。 ③ 不影響標志。 程序控制類指令 ● 3. 循環(huán)控制指令 (2) LOOPE/LOOPZ相等或為零時循環(huán)指令 ● 指令格式: LOOPZ( LOOPE) OPR ● 指令 功能 : (CX)- 1→CX ,若 (CX)≠0 and ZF= 1, 則轉(zhuǎn)向標號處執(zhí)行循環(huán)體 ,否則順序執(zhí)行下一條指令。 (3) LOOPNE/LOOPNZ不相等或不為零時循環(huán)指令 ● 指令格式: LOOPNZ( LOOPE) OPR ● 指令 功能 : (CX)- 1→CX ,若 (CX)≠0 and ZF= 0, 則轉(zhuǎn)向標號處執(zhí)行循環(huán)體 ,否則順序執(zhí)行下一條指令 程序控制類指令 ● 3. 循環(huán)控制指令 [例 ] 用累加的方法實現(xiàn) M N,并把結(jié)果保存到 RESULT單元。 MOV AX,0 。清 0累加器 MOV BX,M CMP BX,0 JZ TERM 。被乘數(shù)為 0轉(zhuǎn) MOV CX,N JCXZ TERM 。乘數(shù)為 0轉(zhuǎn) L1: ADD AX,BX LOOP L1 TERM: MOV RESULT,AX 。保存結(jié)果 程序控制類指令 ● 過程調(diào)用指令 CALL必須同返回指令 RET成對使用。 ● 過程定義的形式如下: 過程名 PROC [near / far] 過程體 RET 過程名 ENDP 過程調(diào)用與返回指令 ● 4. 段內(nèi)調(diào)用和返回 code segment main proc far …… call sub …… ret main endp sub proc near …… ret sub endp code ends code1 segment main proc far …… call …… ret main endp code1 ends code2 segment sub proc far …… retsub endp code2 ends 段間調(diào)用和返回 ?段內(nèi)調(diào)用: 子程序與調(diào)用指令在同一個段內(nèi) 包括: 段內(nèi)直接 近 調(diào)用 段內(nèi)間接 近 調(diào)用 ?段間調(diào)用: 子程序與調(diào)用指令在不同段內(nèi) 包括: 段間直接 遠 調(diào)用 段間間接 遠 調(diào)用 程序控制類指令 過程調(diào)用與返回指令 ● 4. (1) CALL指令 一、段內(nèi)調(diào)用 ● 指令格式: CALL DST ● 執(zhí)行操作: ?保存斷點 (IP入棧 ): (SP)←(SP) 2; ((SP)+1,(SP))←(IP) ? 重新設(shè)置 IP值: ① 段內(nèi)直接近調(diào)用 (IP)←(IP)+16 位位移量 ② 段內(nèi)間接近調(diào)用 (IP)←(EA) 程序控制類指令 過程調(diào)用與返回指令 ● 4. 二、段間調(diào)用 ● 執(zhí)行操作: ?保存斷點 (IP和 CS入棧 ): (SP)←(SP) 2; ((SP)+1,(SP))←(CS) (SP)←(SP) 2; ((SP)+1,(SP))←(IP) ?重新設(shè)置 IP值: ① 段間直接遠調(diào)用 ( IP) ← 偏移地址;( CS) ← 段地址 ② 段間間接遠調(diào)用: (IP)←(EA) ; (CS)←(EA+2) ① 段間直接遠調(diào)用 ● 指令格式: CALL FAR PTR 過程名 ②段間間接遠調(diào)用: ● 指令格式: CALL DWORD PTR 過程名 程序控制類指令 過程調(diào)用與返回指令 (2) ① 段內(nèi)近返回 ● 指令格式: RET ● 執(zhí)行操作:( IP) ← ((SP)+1, (SP)) ( SP) ← ( SP) +2 RET返回指令 ② 段間遠返回 ● 指令格式: RET ● 執(zhí)行操作: ( IP) ← ((SP)+1, (SP)) ;( SP) ← ( SP) +2 ( CS) ← ((SP)+1, (SP)) ;( SP) ← ( SP) + 2 ● 4. 程序控制類指令 中斷指令 ● 5. (1)軟中斷指令 ● 指令格式: INT N ● 執(zhí)行操作: ( SP) ← ( SP)- 2; ((SP)+1, (SP))← ( PSW) ( SP) ← ( SP)- 2; ((SP)+1, (SP))← ( CS) ( SP) ← ( SP) - 2; ((SP)+1, (SP))← ( IP) ( IP) ← ( N*4) ; ( CS) ← ( N*4+2) (2)中斷返回指令 ● 指令格式: IRET ● 執(zhí)行操作: ( IP) ← (SP)+1, (SP)) ; ( SP) ← ( SP) +2 ( CS) ← ((SP)+1, (SP)) ; ( SP) ← ( SP) + 2 ( PSW) ← ((SP)+1, (SP)) ;( SP) ← ( SP) + 2 程序控制類指令 0923:0000 MOV SP, 10H 0923:0003 M0V AX, 1234H 0923:0006 MOV BX, 3673H 0923:0009 PUSH AX (1) 0923:000A CALL SUBR (2) 0923:000D POP CX 0923:000E MOV AH, 02 0923:000F MOV DL, 35H 0923:0012 INT 21H 0923:0013 INT 3H 0923:0015 SUBR:POP AX 0923:0016 POP CX (3) 0923:0017 SUB CX,BX 0923:0018 PUSH CX 0923:001A PUSH AX (4) 0923:001B RET (5) 寫出標號指令執(zhí)行后 AX,BX,IP,SP的值 數(shù)據(jù)串操作 類 指令 ? “串 ” 是指一組連續(xù)存取的數(shù) ,所占用的 M單元一定是連續(xù)一片 M區(qū)域 . ?數(shù)據(jù)傳送類指令每次只能傳送一個數(shù)據(jù),若要傳送大批數(shù)據(jù)就需要重復編程,這樣就浪費了大量的時間和空間。 ?利用串操作指令可以方便地處理字符串或數(shù)據(jù)塊。 數(shù)據(jù)串操作 類 指令 一、串指令的特點 1.指令格式 串指令可以顯式地帶有操作數(shù),也可以使用隱含格式,經(jīng)常使用隱含格式。 [例如 ]串傳送指令 MOVS,可以有以下幾種格式: 顯式: MOVS DST,SRC 隱式: MOVSB 。字節(jié)傳送 MOVSW 。字傳送 MOVSD 。雙字傳送 ?若指令的最后一個字母是 B,則實現(xiàn)字節(jié)傳送; ?若是 W,則實現(xiàn)字傳送; ?若是 D,則實現(xiàn)雙字傳送。 ?操作數(shù)時應(yīng)先建立地址指針。 一、串指令的特點 2.操作數(shù) ?串指令可以處理寄存器操作數(shù)和存儲器操作數(shù)。 ?若為 R操作數(shù)則只能放在 累加器 中, 對于字節(jié)操作數(shù)應(yīng)放在 AL中,字操作數(shù)放在 AX中。 ?對于 M操作數(shù)應(yīng) 先建立地址指針 : 若為源操作數(shù), DS: SI, 允許 使用段超越前綴。 若為目標操作數(shù), ES:DI, 不允許 使用段超越前綴 3.地址指針的修改 ?串指令執(zhí)行后系統(tǒng)自動修改地址指針 SI、 DI。 ?若為字節(jié)型操作其修改量為 1, ?若為字型操作其修改量為 2, ?若為雙字型操作其修改量為 4。 數(shù)據(jù)串操作 類 指令 4.方向標志 ? DF決定地址指針的增減方向。 ?若 DF= 0,則地址指針增量; 若 DF= 1,則地址指針減量。 ?可以用 CLD和 STD指令復位 和置位 DF。 一、串指令的特點 5.重復前綴 ?串指令前可以加重復前綴 REPE/ REPZ、 REP或REPNE/ REPNZ,使后跟的串指令重復執(zhí)行。 ?重復次數(shù)應(yīng)事
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1