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

正文內(nèi)容

第三節(jié)80868088匯編語言-預(yù)覽頁

2025-08-25 12:53 上一頁面

下一頁面
 

【正文】 SEG ENDS C_SEG SEGMENT PARA 39。CODE39。 應(yīng)用程序與源程序文件: 應(yīng)用程序可有多個源程序文件; 每個源程序文件只能為一個模塊 (在 NAME/TITLE~END間 ); 所有模塊中只能有一個主模塊 (END后地址標(biāo)號不缺省 ); 每個模塊中可有多個段; 每個段的類型通過與段寄存器對應(yīng)或段組合類型定性。 示例 1: ARRAY DW 1,2,$+4,3,$+5 示例 2: BUFFER DB 1,2,3,4,5 COUNT EQU $BUFFER ; COUNT的值為 BUFFER的長度 01 00 02 00 7C 00 03 00 81 00 ARRAY 0074H 0078H 007CH 31 ( 2)定位偽指令 格式: ORG 表達(dá)式 操作: 將表達(dá)式的值送入?yún)R編地址計數(shù)器 (即命令匯編程序從表達(dá)式值位置生成目標(biāo)代碼 ) 說明: 若需相對 $移動,則表達(dá)式 =$+偏移量。 DATA SEGMENT ARRAY DB 1,10,11,7,9 LEN EQU $ARRAY CNT DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX,DATA MOV DS,AX LEA SI,ARRAY MOV CX,LEN MOV DL,0 LP: MOV AL,[SI] CMP AL,0 JGE JSU INC DL JSU: INC SI LOOP LP MOV CNT,DL MOV AH,4CH INT 21H CODE ENDS END START 36 使用中斷功能調(diào)用返回 DOS 格式: INT 20H 功能: 程序結(jié)束并返回 DOS 使用過程中 RET返回 DOS 格式: MAIN PROC FAR PUSH DS MOV AX, 0 PUSH AX …… RET MAIN ENDP …… END MAIN 功能: 主程序設(shè)計為 FAR過程,通過調(diào)用 INT 20H返回 DOS(利用程序前綴 +RET指令實(shí)現(xiàn) )。 功能實(shí)現(xiàn): 手工將程序前綴中 INT 20H的地址壓棧,即壓入 DS和 0000H(見上頁 ),執(zhí)行 RET時即可返回 DOS。 轉(zhuǎn) 23頁 回下頁 40 COM文件源程序結(jié)構(gòu)示例: CODE SEGMENT ASSUME CS:CODE, DS:CODE,ES:CODE,SS:CODE START: JMP COD_S BUF DB 64 DUP( ?) ;數(shù)據(jù)區(qū) CNT DW 2 STA DB 64 DUP (?) ;堆棧區(qū) COD_S: MOV AX,CS ;給 DS、 ES、 SP賦初值 MOV DS,AX MOV ES,AX MOV SS,AX LEA SP,COD_S …… ; 主程序體 MOV AH,4CH INT 21H CODE ENDS END START ;標(biāo)號必須為 CS段第一條語句 轉(zhuǎn)上頁 41 第四節(jié) 結(jié)構(gòu)化程序設(shè)計 結(jié)構(gòu)化程序結(jié)構(gòu): 順序、分支 (多路分支 )、循環(huán) 回 44頁 回 52頁 條件 語句串 F T 多路條件 語句串 1 語句串 n … 條件 F T 語句串 1 語句串 2 條件 初始化 循環(huán)體 改信息 T F 條件 初始化 循環(huán)體 改信息 T F 繼續(xù)循環(huán)條件 退出循環(huán)條件 42 一、順序結(jié)構(gòu)程序設(shè)計 目的: 練習(xí)編寫完整程序、熟練掌握指令和偽指令 例 1: 將壓縮 BCD碼轉(zhuǎn)換成 ASCII BCD_BUF DB 96H ASC_BUF DB 2 DUP(?) …… MOV AL, BCD_BUF MOV CL, 4 MOV BL, AL SHR AL, CL ;右移 4位,將高 4位填 0 ADD AL, 30H MOV ASC_BUF, AL AND BL, 0FH ADD BL, 30H MOV ASC_BUF+1, BL …… 43 例 2: 用直接查表法完成將鍵盤輸入的一位十進(jìn)數(shù)(0~9)轉(zhuǎn)換成對應(yīng)的平方值并存放在 SQRBUF單元中。 方法 1— 用寄存器間接尋址方法 CMP AL, 0 JE DONE LEA BX, TABLE L: SHR AL, 1 JNC NOT_YET ; CF=0跳轉(zhuǎn) JMP WORD PTR[BX] NOT_YET: ADD BX, TYPE TABLE ; Type Table=2 JMP L DONE: …… 思考: 會不會產(chǎn)生死循環(huán)? 若會產(chǎn)生死循環(huán),如何解除? 回下頁 48 方法 2— 用變址尋址方法 CMP AL, 0 JE DONE MOV SI, 0 L: SHR AL, 1 JNC NOT_YET JMP TABLE[SI] ;缺省屬性為 WORD PTR NOT_YET: ADD SI, TYPE TABLE JMP L DONE: …… 思考: 若實(shí)現(xiàn)段間分支,需哪些改動 /要求? 若 SHR改為 SHL,程序有哪些改動? 轉(zhuǎn)上頁 轉(zhuǎn)轉(zhuǎn)移地址尋址 49 三、循環(huán)結(jié)構(gòu)程序設(shè)計 循環(huán)控制方式: 計數(shù)法 (減量 /增量 )、條件控制法 循環(huán)類型: 運(yùn)行循環(huán)體、判斷與控制的先后次序 轉(zhuǎn) 41頁 常規(guī)應(yīng)用方法: 已知循環(huán)次數(shù) — 增量法: CMP+Jx指令 減量法: ① LOOP指令 (結(jié)束計數(shù)為 0) ② CMP+Jx指令 (結(jié)束計數(shù)不為 0) 未知循環(huán)次數(shù) — 條件控制法: CMP/TEST+Jx[+JMP]指令 50 單重循環(huán)程序設(shè)計 減量計數(shù)法例 1: 將以 S1為起始地址的 26個字母依次傳送到以 S2為起始地址的連續(xù)單元中。 …… LEA BX, STRN MOV DI, 0 MOV AL, ?$? LP: CMP AL, [BX+DI] JZ DONE INC DI JMP LP DONE: MOV LENG, DI 說明: 為防止程序死循環(huán),可將串長 ≤ 100作為循環(huán)結(jié)束的附加條件。 算法 : 在數(shù)組 R中查找 K,采用二分法 (折半法 )查找 ⑴ 下標(biāo) LOW←1, HIGH←N 。 MOV CX, N1 ;采用相鄰兩數(shù)比較、小數(shù)沉底方法 LOOP1: MOV DI, CX ; DI暫存外層循環(huán)計數(shù)值 MOV BX, 0 ;每輪比較從首元素開始 LOOP2: MOV AX, A[BX] CMP AX, A[BX+2] ;比較 a(i)與 a(i+1) JGE COTINUE XCHG AX, A[BX+2] ;交換 MOV A[BX], AX COTINUE: ADD BX, 2 LOOP LOOP2 MOV CX, DI LOOP LOOP1 注意: 內(nèi)、外循環(huán)變量和寄存器的保護(hù)與恢復(fù)。 例: SUBPRO PROC NEAR …… ;過程體 RET SUBPRO ENDP 61 過程調(diào)用 過程定義偽指令 過程調(diào)用指令 段內(nèi)調(diào)用 直接 F1 PROC NEAR CALL F1 或 CALL NEAR PTR F1 間接 CALL WORD PTR BX 或 CALL WORD PTR [BX] 段間調(diào)用 直接 F1 PROC FAR CALL FAR PTR F1 間接 CALL DWORD PTR [BX] 說明: ① CALL/RET指令自動完成 IP或 /和 CS的保護(hù)與恢復(fù); ②過程同時有段內(nèi)和段間調(diào)用時,按段間定義和調(diào)用; ③過程定義與調(diào)用不在同一模塊時,需用 PUBLIC和 EXTRN偽指令說明。 ⑵利用內(nèi)存緩沖區(qū)傳遞 — 有 直接存儲單元傳遞和地址表傳遞兩種方法,前者用名字區(qū)分參數(shù),后者用下標(biāo)區(qū)分參數(shù); 適合于參數(shù)個數(shù)較多的情況。 D_SEG SEGMENT ARRAY DB 100 DUP(?) COUNT DW 100 ;數(shù)組元素個數(shù) SUM DW ? D_SEG ENDS …… PROADD PROC PUSH AX ;保存現(xiàn)場 PUSH CX PUSH SI XOR AX, AX LEA SI, ARRAY ;直接使用存儲單元中數(shù)據(jù) MOV CX, COUNT NEXT: ADD AL, [SI] POP SI ADC AH, 0 POP CX INC SI POP AX LOOP NEXT RET MOV SUM, AX PROADD ENDP 70 地址表傳遞參數(shù)示例: 求數(shù)組元素之和。 …… N DB 4 RESULT DW ? …… MOV AL, N CALL FACT ADD1: MOV RESULT, DX …… n≤1 n進(jìn)棧 T F n←n 1 遞歸調(diào)用 彈出 n F←F*n 遞歸返回 F←1 75 ;入口參數(shù) AL=N ;出口參數(shù) N!=DX FACT PROC CMP
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1