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

正文內(nèi)容

《程序設(shè)計(jì)方法》ppt課件(文件)

2025-05-20 06:45 上一頁面

下一頁面
 

【正文】 M8 ;轉(zhuǎn)換二進(jìn)制數(shù)送 DX MOV CX, 8 ;置位數(shù) 8 LEA DI, ASCBUF ;字符串首址 → DI CALL BTASC ;調(diào)用子程序 BTASC MOV BYTE PTR [DI], 0DH MOV BYTE PTR [DI+1], 0AH MOV BYTE PTR [DI+2], ‘ $’ LEA DX, ASCBUF MOV AH, 9 INT 21H MOV DX, NUM16 MOV CX, 16 ;置位數(shù) 16 LEA DI, ASCBUF CALL BTASC MOV BYTE PTR [DI], 0DH MOV BYTE PTR [DI+1], 0AH MOV BYTE PTR [DI+2], ‘ $ ’ ; LEA DX, ASCBUF 顯示轉(zhuǎn)換后的字符串 MOV AH, 9 INT 21H MOV AH, 4CH INT 21H BTASC PROC PUSH AX ;保存 AX MOV AL, 0 CMP CX, 8 ;比較 8位數(shù) JNE L1 ;直接轉(zhuǎn)換 16位數(shù) MOV DH, DL ; 8位數(shù)轉(zhuǎn)換送 DH L1: ROL DX,, 1 ; DX最高位移入 CF RCL AL, 1 ; CF移入 AL最低位 ADD AL, 30H MOV [DI], AL INC DI LOOP L1 POP AX RET BTASC ENDP CODE ENDS END START 返回本節(jié) 子程序的嵌套與遞歸調(diào)用 1. 子程序的嵌套 子程序不但可以被主程序調(diào)用 , 而且也可以被其他子程序調(diào)用 。子程序說明信息一般由如下幾個(gè)部分組成: ( 1)子程序名 ( 2)功能描述 ( 3)入口和出口參數(shù) ( 4)其他說明 子程序說明信息至少應(yīng)該包含前三部分內(nèi)容。我們把由主程序傳給子程序的參數(shù)稱為子程序的 入口參數(shù) 。 ( 3)如果子程序中被修改的寄存器,在主程序中并沒有使用或不再使用,該寄存器可以不保護(hù)。 有關(guān)說明: ( 1)保護(hù)寄存器內(nèi)容最方便的方法是使用堆棧。為此,必須在子程序修改寄存器內(nèi)容之前對寄存器進(jìn)行保護(hù),稱為寄存器保護(hù) 。如果不指定,則默認(rèn)為近類型。 過程名是過程 入口地址的符號表示 。 ( 4)段間帶立即數(shù)返回 格式: RET 表達(dá)式 功能: IP← ( SP+1, SP) SP←SP+2 CS← ( SP+1, SP) SP←SP+2 SP←SP+D16 該指令除了因?yàn)槭嵌伍g返回而需要同時(shí)彈出 CS和 IP寄存器的內(nèi)容外,其他特性與段內(nèi)帶立即數(shù)返回格式相同。執(zhí)行 RET指令后,可把由CALL指令壓入堆棧的返回地址取回寄存器IP,以保證子程序正確返回。 2. 子程序返回指令 RET 子程序執(zhí)行完后,必須用 RET返回主程序并繼續(xù)執(zhí)行。 ( 3)段間直接調(diào)用 格式: CALL DST 功能: SP←SP 2 ( SP+1, SP) ← CS SP ←SP 2 ( SP+1, SP) ← IP IP ← 偏移地址 CS ← 段地址 由于是段間調(diào)用,因此,必須同時(shí)修改指令指針寄存器 IP和段寄存器 CS。 格式: CALL DST 功能: SP←SP 2 ( SP+1, SP) ← IP IP ←IP+D16 執(zhí)行操作:該指令首先移動(dòng)棧頂指針,并把子程序的返回地址(即調(diào)用程序中 CALL指令的下一條指令的地址,也就是當(dāng)前 IP寄存器內(nèi)容)壓入堆棧,供子程序返回主程序時(shí)使用。 1。 。 。 子程序在匯編語言中又稱為過程( Procedure) , 其執(zhí)行過程如圖所示 。 子程序和主程序 在程序設(shè)計(jì)中如果反復(fù)用到某個(gè)具有獨(dú)特功能的程序片段 , 例如輸入輸出處理程序 、 代碼轉(zhuǎn)換程序等 , 在程序設(shè)計(jì)時(shí) , 通常把這些功能相對獨(dú)立的部分編寫成一個(gè)獨(dú)立的程序段 , 稱為 子程序 ( Subroutine) 。 為了方便說明二重循環(huán) , 這里采用 “ 簡單選擇 ” 法進(jìn)行排序 。 在多重循環(huán)程序設(shè)計(jì)中 , 要注意內(nèi)層循環(huán)和外層循環(huán)之間的參數(shù)協(xié)調(diào) 。 要測出 BUF字單元所含 1的個(gè)數(shù) , 首先將 BUF中的數(shù)送給寄存器 AX, 然后將 AX寄存器邏輯左移一次 , 如果 CF=1, 則表明 AX中的最高位為 1, 則計(jì)數(shù)器 CL計(jì)數(shù) 1次 , 如果 CF=0,表明 AX最高位為 0, 這樣依次將最高位移入 CF中去測試 。 源程序如下: DATA SEGMENT BUF DB 10, 12, 3, 6, 7, 8, 10 LENGTH EQU $BUF NUM DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA BX,BUF 。 返回本節(jié) 循環(huán)程序設(shè)計(jì) 循環(huán)程序的結(jié)構(gòu) 單重循環(huán)程序設(shè)計(jì) 多重循環(huán)程序設(shè)計(jì) 返回本章首頁 循環(huán)程序的結(jié)構(gòu) 1. 初始化部分 2. 循環(huán)體部分 3. 循環(huán)控制部分 循環(huán)程序的常見結(jié)構(gòu)形式如圖 ( a)、( b)所示。程序流程圖如圖 圖 [例 ]程序流程圖 程序如下: STACK SEGMENT STACK DB 200 DUP( 0) STACK ENDS DATA SEGMENT X DW 00ABH Y DW –5 Z DW 200 MAX DW ? DATA ENDS CODE SEGMENT ASSUME DS: DATA, SS: STACK, CS: CODE START: MOV AX, DATA
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1