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

正文內(nèi)容

[工學(xué)]新第4章-匯編語言-資料下載頁

2024-12-29 12:09本頁面
  

【正文】 A MOV DS,AX MOV ES,AX LEA SI,BLOCK LEA DI,BUFF1 LEA BX,BUFF2 MOV CX,60 CLD LOP: LODSB TEST AL,80H JNZ FU STOBS JMP AGAIN FU: XCHG BX,DI STOSB XCHG BX,DI INT 21H AGAIN: LOOP LOP CODE ENDS MOV AX,4C00H END START 杭州電子科技大學(xué) 微機原理及應(yīng)用 第 4章典型匯編程序設(shè)計 — 舉例 按數(shù)據(jù)大小排序 實現(xiàn)從一串帶符號字型數(shù)據(jù)中找出最大值 DATA SEGMENT BLOCK DW 762EH,6A8BH,664AH,0B945H,85DH COUNT EQU ($BLOCK)/2 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX LEA SI,BLOCK MOV CX,COUNT MOV AX,[SI] DEC CX AA1: ADD SI,2 CMP AX,[SI] JG AA2 MOV AX,[SI] AA2: LOOP AA1 MOV BX,AX MOV AX,4C00H INT 21H CODE ENDS END START 杭州電子科技大學(xué) 微機原理及應(yīng)用 第 4章典型匯編程序設(shè)計 — 舉例 數(shù)據(jù)排序 冒泡法 — 將數(shù)據(jù)兩兩比較: 冒泡排序的過程:首先比較第一個和第二個數(shù)據(jù) , 將其中較小的數(shù)據(jù)放到第一個位置 , 較大的放到第二個位置;然后比較第二個和第三個數(shù)據(jù) , 仍將較小放到后一個位置 。 依此類推 , 直到比較第 n1和第 n個數(shù)據(jù) 。 這樣 , 就將待排序序列中的最大的一個放到了第 n個數(shù)據(jù) , 這個過程稱為第一趟排序 。 下面對前 N1個數(shù)據(jù)重復(fù)這個過程 ( 不用考慮第 n個數(shù)據(jù) , 因為它已經(jīng)是最大的了 ) , 又將次大的數(shù)據(jù)放到了第 n1個位置 。 一般地 , 第 i趟冒泡排序是對第 1個到第 ni+1個數(shù)據(jù)進行操作 , 選出原序列第 i大的數(shù)據(jù)放到數(shù)組的第 ni+1位置 。 重復(fù)這個過程 , 直到 i=n1為止 。 前一數(shù)較大 , 則不改變位置;否則兩數(shù)交換 , 依次將全部數(shù)據(jù)排序一次 小循環(huán) ( 從小到大 ) 前一數(shù)較小 , 則不改變位置;否則兩數(shù)交換 , 依次將全部數(shù)據(jù)排序一次 大循環(huán) ( 從大到小 ) 杭州電子科技大學(xué) 微機原理及應(yīng)用 對比原數(shù)據(jù)經(jīng)過第一趟排序,實現(xiàn)了什么目的? 第一趟排序,一共進行了多少次比較? 49 27 13 76 97 65 38 49 數(shù)據(jù) 8 7 6 5 4 3 2 1 序號 4938,交換位置 原數(shù)據(jù)和序號 序號 1 2 3 4 5 6 7 8 數(shù)據(jù) 49 38 65 97 76 13 27 49 第一趟排序的步驟: 序號數(shù)據(jù) 38 49序號數(shù)據(jù)序號數(shù)據(jù)序號數(shù)據(jù) 76 97序號數(shù)據(jù) 13 97序號數(shù)據(jù) 27 97序號數(shù)據(jù) 49 97經(jīng)過第一趟排序,把最大的數(shù)沉到最底了! 4965, 保持不變 6597, 保持不變 9776, 交換位置 9713, 交換位置 9727, 交換位置 9749, 交換位置 冒泡法 — 大循環(huán) 杭州電子科技大學(xué) 微機原理及應(yīng)用 經(jīng)過第二趟排序,實現(xiàn)了什么目的? 經(jīng)過第二趟排序,把第二大的數(shù)沉到倒數(shù)第二個位置了 ! 97 49 27 13 76 65 49 38 數(shù)據(jù) 8 7 6 5 4 3 2 1 序號 3849,保持不變 第一趟排序后的數(shù)據(jù)和序號 第二趟排序的步驟: 序號 1 2 3 4 5 6 7 8 數(shù)據(jù) 38 49 65 76 13 27 49 97 4965, 保持不變 6576, 保持不變 7613, 交換位置 7627, 交換位置 7649, 交換位置 序號數(shù)據(jù)序號數(shù)據(jù)序號數(shù)據(jù)序號數(shù)據(jù) 13 76序號數(shù)據(jù) 27 76序號數(shù)據(jù) 49 767697, 保持不變 序號數(shù)據(jù)冒泡法 — 大循環(huán) 杭州電子科技大學(xué) 微機原理及應(yīng)用 觀察原數(shù)據(jù)與第一、二趟排序后的數(shù)據(jù) 序號 1 2 3 4 5 6 7 8 數(shù)據(jù) 38 49 65 76 13 27 49 97 序號 1 2 3 4 5 6 7 8 數(shù)據(jù) 38 49 65 13 27 49 76 97 序號 1 2 3 4 5 6 7 8 數(shù)據(jù) 49 38 65 97 76 13 27 49 問:為了使這一組無序數(shù)組完全按照要求排成 從小到大我們還需不需要再繼續(xù)排序呢? 問:那么我們預(yù)計最多一共要經(jīng)過多少次排序呢? 冒泡法 — 大循環(huán) N個數(shù) ,則要進行 N1 趟比較。 在第一趟比較中要進行 N1 次兩兩比較, 在第 j趟比較中要進行 Nj次兩兩比較。 杭州電子科技大學(xué) 微機原理及應(yīng)用 從大到小排序 編程實現(xiàn) , 一個帶符號字節(jié)型數(shù)據(jù)組中的數(shù)據(jù)按從小到大的順序排序 。 DATA SEGMENT BUFF DB 13,39,96,84,75,58 COUNT EQU $BUFF DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV CX,COUNT1 LOOP1: MOV DX,CX MOV SI,0 LOOP2: MOV AL,BUFF[SI] CMP AL,BUFF[SI+1] JGE COT XCHG AL,BUFF[SI+1] MOV BUFF[SI],AL COT: INC SI LOOP LOOP2 MOV CX,DX LOOP LOOP1 MOV AX,4C00H INT 21H CODE ENDS END START 杭州電子科技大學(xué) 微機原理及應(yīng)用 第 4章: DOS功能調(diào)用與子程序設(shè)計 DOS功能: 命令 子程序:磁盤的讀 /寫 、 控制管理 、 內(nèi)存管理 、 基本輸入 /輸出管理; 所有子程序從 1號開始順序編號 , 這些編號稱為 DOS功能調(diào)用號 。 子程序調(diào)用過程: DOS功能調(diào)用號送 AH寄存器 按要求給定輸入?yún)?shù) ( 有的不需要輸入?yún)?shù) ) 寫入中斷指令 “ INT 21H” 調(diào)用結(jié)束 , 按功能使用其輸出參數(shù) 杭州電子科技大學(xué) 微機原理及應(yīng)用 第 4章:子程序設(shè)計 把功能相對獨立的程序段單獨編寫和調(diào)試 ,作為一個相對獨立的模塊供程序使用 , 就形成 子程序 子程序可以實現(xiàn)源程序的 模塊化 , 可簡化源程序結(jié)構(gòu) , 可以提高編程效率 主程序 ( 調(diào)用程序 ) 需要利用 CALL指令調(diào)用子程序 ( 被調(diào)用程序 ) 子程序需要利用 RET指令返回主程序 杭州電子科技大學(xué) 微機原理及應(yīng)用 第 4章:過程定義和子程序編寫 匯編語言中 , 子程序要用一對過程偽指令PROC和 ENDP聲明 , 格式如下: 過程名 PROC [NEAR|FAR] …… ; 過程體 過程名 ENDP 可選的參數(shù)指定過程的調(diào)用屬性 。 沒有指定過程屬性 , 則采用默認屬性 杭州電子科技大學(xué) 微機原理及應(yīng)用 第 4章:子程序編寫注意事項 ⑴ 子程序要利用過程定義偽指令聲明 ⑵ 子程序最后利用 RET指令返回主程序 , 主程序執(zhí)行 CALL指令調(diào)用子程序 ⑶ 子程序中對堆棧的壓入和彈出操作要成對使用 ,保持堆棧的平衡 ⑷ 子程序開始應(yīng)該保護使用到的寄存器內(nèi)容 , 子程序返回前相應(yīng)進行恢復(fù) ⑸ 子程序應(yīng)安排在代碼段的主程序之外 , 最好放在主程序執(zhí)行終止后的位置 ( 返回 DOS后 、 匯編結(jié)束 END偽指令前 ) , 也可以放在主程序開始執(zhí)行之前的位置 杭州電子科技大學(xué) 微機原理及應(yīng)用 第 4章:子程序編寫注意事項(續(xù)) ⑹ 子程序允許嵌套和遞歸 ⑺ 子程序可以與主程序共用一個數(shù)據(jù)段 , 也可以使用不同的數(shù)據(jù)段 ( 注意修改 DS) , 還可以在子程序最后設(shè)置數(shù)據(jù)區(qū) ( 利用 CS尋址 ) ⑻ 子程序的編寫可以很靈活 , 例如具有多個出口( 多個 RET指令 ) 和入口 , 但一定要保證堆棧操作的正確性 ⑼ 處理好子程序與主程序間的參數(shù)傳遞問題 ⑽ 提供必要的子程序說明信息 杭州電子科技大學(xué) 微機原理及應(yīng)用 第 4章:參數(shù)傳遞 主程序與子程序間一個主要問題是參數(shù)傳遞 入口參數(shù) ( 輸入?yún)?shù) ) :主程序調(diào)用子程序時 , 提供給子程序的參數(shù) 出口參數(shù) ( 輸出參數(shù) ) :子程序執(zhí)行結(jié)束返回給主程序的參數(shù) 參數(shù)的具體內(nèi)容 傳數(shù)值:傳送數(shù)據(jù)本身 傳地址:傳送數(shù)據(jù)的主存地址 常用的參數(shù)傳遞方法 寄存器 共享變量 堆棧 杭州電子科技大學(xué) 微機原理及應(yīng)用 第 4章: 用寄存器傳遞參數(shù) 最簡單和常用的參數(shù)傳遞方法是通過寄存器 , 只要把參數(shù)存于約定的寄存器中就可以了 由于通用寄存器個數(shù)有限 , 這種方法對少量數(shù)據(jù)可以直接傳遞數(shù)值 , 而對大量數(shù)據(jù)只能傳遞地址 采用寄存器傳遞參數(shù) , 注意帶有出口參數(shù)的寄存器不能保護和恢復(fù) , 帶有入口參數(shù)的寄存器可以保護 、 也可以不保護 , 但最好能夠保持一致 dpchar dpstri HTOASC 杭州電子科技大學(xué) 微機原理及應(yīng)用 第 4章: 用共享變量傳遞參數(shù) 子程序和主程序使用同一個變量名存取數(shù)據(jù)就是利用共享變量 ( 全局變量 ) 進行參數(shù)傳遞 如果變量定義和使用不在同一個源程序中 , 需要利用 PUBLIC、 EXTREN聲明 如果主程序還要利用原來的變量值 , 則需要保護和恢復(fù) 利用共享變量傳遞參數(shù) , 子程序的通用性較差 ,但特別適合在多個程序段間 、 尤其在不同的程序模塊間傳遞數(shù)據(jù) 杭州電子科技大學(xué) 微機原理及應(yīng)用 第 4章: 用堆棧傳遞參數(shù) 參數(shù)傳遞還可以通過 堆棧 這個臨時存儲區(qū) 。 主程序?qū)⑷肟趨?shù)壓入堆棧 , 子程序從堆棧中取出參數(shù);子程序?qū)⒊隹趨?shù)壓入堆棧 , 主程序彈出堆棧取得它們 采用堆棧傳遞參數(shù)是程式化的 , 它是編譯程序處理參數(shù)傳遞 、 以及匯編語言與高級語言混合編程時的常規(guī)方法 杭州電子科技大學(xué) 微機原理及應(yīng)用 DOS功能調(diào)用與子程序設(shè)計 單字符輸入并回顯 1號 入口 : AH=01H 出口: AL=輸入字符編碼并屏幕顯示字符 輸出 /顯示單個字符 2號 入口 : AH=02H, DL=字符編碼 出口:顯示字符 多字符輸入 0AH 入口 : AH=0AH, DS:DX指向輸入緩沖區(qū)首址 出口: DS:DX指向輸入字符串緩沖區(qū)首址 , 顯示字符 注意: 緩沖區(qū)第 1個字節(jié)存放預(yù)定字符個數(shù) , 最多 255個 緩沖區(qū)第 2個字節(jié)保留 , 調(diào)用返回時存放實際輸入字符個數(shù) 緩沖區(qū)第 2個字節(jié)開始存放字符 保留一個字節(jié)的回車符 杭州電子科技大學(xué) 微機原理及應(yīng)用 DOS功能調(diào)用與子程序設(shè)計 顯示輸出字符串 9號 入口 : AH=09H, DS:DX指向輸出字符緩沖區(qū)首址 , 該字符串以 ? $”結(jié)尾 。 出口:顯示字符串 單字符輸入輸出 6號 1號和 2號功能的組合 DL=0FFH, 與 1號功能相同 , 從鍵盤輸入單個字符 DL=字符的 ASCII碼 , 與 2號功能相同 , 從鍵盤輸出單個字符 結(jié)束程序 , 返回操作系統(tǒng) 入口 : AH=4CH 出口:屏幕顯示操作系統(tǒng)提示符 n 如果在 DEBUG狀態(tài)下運行則返回 DEBUG, 在 DOS下運行 , 則返回 DOS 杭州電子科技大學(xué) 微機原理及應(yīng)用 DOS功能調(diào)用與子程序設(shè)計 編寫一個子程序 , 實現(xiàn)一個 2位十六進制數(shù)到 ASCII碼的轉(zhuǎn)換 。 子程序: CONHA— 實
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1