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

正文內(nèi)容

基本結(jié)構(gòu)程序設(shè)計方法-文庫吧資料

2025-01-20 04:05本頁面
  

【正文】 數(shù)傳遞方式451.信息的保護與恢復(fù)例如:若子程序 PROG中改變了寄存器 AX, BX, CX, DX的值,則可采用如下方法保護和恢復(fù)現(xiàn)場。 44過程名是過程入口地址的符號表示。子程序的定義 子程序的定義是由過程定義偽指令 PROC和 ENDP來完成的。 43在匯編語言中,子程序又稱 過程 。子程序的概念在程序設(shè)計中,我們會發(fā)現(xiàn)一些多次 無規(guī)律重復(fù)的程序段 或 語句序列 。子程序設(shè)計 子程序的概念 子程序的定義 子程序設(shè)計方法 子程序應(yīng)用舉例 子程序的嵌套與遞歸調(diào)用42 413637程序如下:DATA SEGMENT BUF DW 3, 4, 6, 7, 9, 2, 0, 8, 9, 10, 20 N=($ BUF) /2DATA ENDSSTACK SEGNMENT STACK DB 200 DUP( 0)STACK ENDSCODE SEGMENT ASSUME CS: CODE, DS: DATA, SS:STACK 38START: MOV AX, DATAMOV DS, AXMOV CX, NDEC CX;設(shè)計數(shù)器 CX內(nèi)循環(huán)39LOOP1: MOV DX, CX;設(shè)計數(shù)器 DX外循環(huán) MOV BX, 0LOOP2: MOV AX, BUF[BX]CMP AX, BUF[BX+2]JGE L。如下面的 4個數(shù)即是采用冒泡排序比較的例子。我們采用 冒泡排序 算法從第一個數(shù)開始依次對相鄰兩個數(shù)進行比較,如次序?qū)?,則不交換兩數(shù)位置;如次序不對則使這兩個數(shù)交換位置。3132程序如下:STACK SEGMENT STACK DB 200 DUP( 0)STACK EDNSDATA SEGMENTBUF DW 0011110010101011BCOUNTDB ?DATA ENDSCODE SEGMENT ASSUME DS: DATA, CS: CODE, SS:STACK 33START: MOV AX, DATAMOV DS, AXMOV AX, BUFMOV CL, 0;計數(shù)器為 0LOPA: AND AX, AX。 其流程圖如圖 。 要測出 BUF字單元所含 1的個數(shù),首先將 BUF中的數(shù)送給寄存器 AX,然后將 AX寄存器邏輯左移一次,如果 CF=1,則表明 AX中的最高位為 1,則計數(shù)器 CL計數(shù) 1次,如果 CF=0,表明 AX最高位為0,這樣依次將最高位移入 CF中去測試。 (程序略 )其流程圖如圖 。n data segmentn art1 db 12,23,34,45,56,67,78,89,90,18n contl equ $ ary1n sum1 dw?n ary2 db 13h,24h,57h ,68h,9ah,0bch,0cdh,0deh,80h,80hn cont2 equ $ ary2n sum2 dw?n data endsn code segmentn assume cs:code,cs:data26n start: mov ax,datan mov ds,axn lea si ary1 ;入口參數(shù),數(shù)據(jù)塊 1首址n mov cx,cont1 ;入口參數(shù),數(shù)據(jù)塊 1長度n call sum ;調(diào)用求和子程序n lea si,ary 2 ;入口參數(shù),數(shù)據(jù)塊 2首址n mov cx,cont2 ;入口參數(shù),數(shù)據(jù)塊 2長度n call sumn mov ah,4chn int 21h 27n ( 3)用堆棧傳遞:適合于參數(shù)較多且子程序有嵌套、遞歸調(diào)用的情況。在許多情況下,希望子程序更具有通用性,更靈活,這時就希望子程序除了有使用說明外,還能夠接受調(diào)用程序傳來的入口參數(shù),在子程序執(zhí)行完畢后把出口參數(shù)傳遞給調(diào)用程序。子程序清單包括:n ( 1)子程序的名稱,功能說明;n ( 2)子程序中用到的寄存器和存儲單元;n ( 3)子程序的入口參數(shù),出口參數(shù);n ( 4)子程序中調(diào)用其他子程序的名稱。過程定義有屬性 NEAR或 FAR,若調(diào)用子程序的程序在同一代碼段中,則用NEAR屬性,若不在同一段中,使用 FAR屬性。采用子程序結(jié)構(gòu)編程,使程序結(jié)構(gòu)模塊化,清晰明了,容易修改。 start: mov ax,datan mov ds,axn mov ax,stackn mov ss,axn mov sp,topn mov bx,offset bufn mov cx,cout1n 21n lpo1: mov dx,cxn lpo2: mov al,[bx]n cmp al,[bx+1]n jle nextn xchg al,[bx+1]n mov[bx],aln mext: inc bxn loop lop2n mov cx,dxn loop lop1n mov ah,4chn int 21hn code endsn end start22四、子程序結(jié)構(gòu) 若一段指令語句在一個程序中多次使用,或在多個程序中用到,則通常把這段指令語句當(dāng)作一個獨立的模塊處理,這段模塊稱為子程序或 “過程 ”。第一遍就完成了排序,這樣共有兩重循環(huán) 19n data segmentn buf db 15h ,37h,86hn db 0a7h,0c8h,90h,7eh,50hn db 80h ,23hn cout equ $ bufn data endsn stack segment stack’stack’n sap db 100 dup(?)n top equ length s
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1