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

正文內(nèi)容

[工學(xué)]第五章匯編語(yǔ)言程序設(shè)計(jì)-資料下載頁(yè)

2025-10-04 15:49本頁(yè)面
  

【正文】 X AX+BX→AX DATA SEGMENT SUM DW ? CN DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX, DATA MOV DS, AX 。初始化 MOV AX, 0 。0送 AX MOV BX, 0 。0送 BX LP: INC BX 。BX加 1 ADD AX, BX 。求累加和 CMP AX, 1000 。比較 JBE LP ?!?000轉(zhuǎn) MOV SUM, AX MOV CN, BX 。送結(jié)果 MOV AH, 4CH INT 21H 。返回 DOS CODE ENDS END START 。匯編結(jié)束 例 : 在 ADDR開(kāi)始的單元中存放著一個(gè)字 ,將字中 1的個(gè)數(shù)存入 COUNT單元中。 算法 : 要測(cè)出 1的個(gè)數(shù)就應(yīng)逐位比較 ,可根據(jù)最高有效位是否為 1來(lái)計(jì)數(shù) ,然后用移位的方法把各位數(shù)逐次移到最高位去 。 可以用測(cè)試字是否為 0來(lái)作為結(jié)束條件 , 這樣可縮短程序的執(zhí)行時(shí)間 , 對(duì)不同的字循環(huán)次數(shù)不同 , 因此采用當(dāng)型循環(huán)結(jié)構(gòu) 。 CX=0 字 =0? 字為負(fù) ? CX← CX+1 COUNT←CX 字邏輯左移 1位 N Y N 開(kāi)始 Y N 結(jié)束 DATA SEGMENT ADDR DW 76A3H COUNT DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE , DS:DATA START: MOV AX , DATA MOV DS , AX MOV CX , 0 MOV AX , ADDR REPEAT:TEST AX , 0FFFFH JZ EXIT JNS SHIFT INC CX SHIFT: SHL AX , 1 JMP REPEAT EXIT: MOV COUNT , CX MOV AH , 4CH INC 21H CODE ENDS ENDS START 例:軟件延時(shí)。利用每一條指令的執(zhí)行時(shí)間 (用 n個(gè) T表示 )來(lái) 構(gòu)成規(guī)定時(shí)間的延時(shí)。本例通過(guò)適當(dāng)設(shè)置 BL的內(nèi)容,來(lái)實(shí)現(xiàn) 1s的延時(shí)。 分析:采用雙重循環(huán)實(shí)現(xiàn)延時(shí),內(nèi)循環(huán)構(gòu)成基本延時(shí)單元 10ms,外循環(huán)完成 100*10ms的操作。 SOFTDLY PROC MOV BL, 100 。延時(shí) 100*10ms=1s,4T DELAY: MOV CX, 2801 。4T WAIT: LOOP WAIT 。延時(shí) 10ms,內(nèi)循環(huán), (17/5)T DEC BL 。2T JNZ DELAY 。外循環(huán),延時(shí) 1s, 16/4T RET SOFTDLY ENDP 主頻為 , T= 1/≈210ns,則內(nèi)、外循環(huán)的 延時(shí)時(shí)間: T內(nèi) =[17(n- 1)+5+4]*T≈10ms, n=2801 T外 =BL* T內(nèi) +BL*18T=100*(T內(nèi) +18T)≈1s 結(jié)論: ? 對(duì)于循環(huán)次數(shù)是未知的情況,通常采用當(dāng)型循環(huán)結(jié)構(gòu),根據(jù)具體情況來(lái)確定循環(huán)控制結(jié)束條件。 ? 對(duì)于循環(huán)次數(shù)是已知的情況,一般采用直到型循環(huán)結(jié)構(gòu),用計(jì)數(shù)法來(lái)控制循環(huán);但有些情況為縮短程序的執(zhí)行時(shí)間,也可選擇適當(dāng)?shù)难h(huán)控制條件,采用當(dāng)型循環(huán)結(jié)構(gòu)。 循環(huán)程序結(jié)構(gòu)解決了同一程序中某個(gè)程序段需要按規(guī)律連續(xù)重復(fù)執(zhí)行問(wèn)題。在實(shí)用中,還常常遇到功能完全相同的程序段,或不在同一程序模塊,或雖在同一程序模塊且需要重復(fù)執(zhí)行,但不是連續(xù)重復(fù)執(zhí)行。對(duì)于這種非連續(xù)多次重復(fù)的功能程序段,為避免編制程序的重復(fù)勞動(dòng),節(jié)省存儲(chǔ)空間,往往把程序段獨(dú)立出來(lái),附加少量額外語(yǔ)句,將其編制成公用子程序,供程序其他地方需要時(shí)調(diào)用。這種程序設(shè)計(jì)方法稱之為子程序設(shè)計(jì)。 子程序一般由以下部分組成: ① 保存子程序運(yùn)行時(shí)將被破壞的寄存器的內(nèi)容- 保存現(xiàn)場(chǎng) 。 ② 依 入口參數(shù) 從指定位置取要加工處理的信息 。 ③ 對(duì)信息進(jìn)行 處理 。 ④ 依 出口參數(shù) 向指定位置送經(jīng)加工處理后的結(jié)果信息 。 ⑤ 返回 調(diào)用程序 。 四、 子程序設(shè)計(jì) 注意: 使用 RET時(shí),有一種帶有參數(shù)的返回指令 RET OP ;( SP+OP) IP 為丟棄已用過(guò)的傳遞參數(shù),是 16位尋址方式, OP為參數(shù)個(gè)數(shù)的 2倍。 現(xiàn)場(chǎng)(寄存器內(nèi)容)的保護(hù)和恢復(fù) ⑴ 對(duì)發(fā)生沖突的寄存器內(nèi)容要進(jìn)行保護(hù)和恢復(fù); ⑵ 進(jìn)行主程序和過(guò)程間傳遞參數(shù)的寄存器內(nèi)容不進(jìn)行保護(hù)和恢復(fù)。 主程序和子程序間的參數(shù)傳遞 入口參數(shù):過(guò)程所需的初始數(shù)據(jù); 出口參數(shù):回送給主程序的結(jié)果; 參數(shù)傳遞:入口參數(shù)的傳遞和出口參數(shù)的送出,可以通過(guò)寄存器、存儲(chǔ)單元和堆棧區(qū)域進(jìn)行傳遞。 CODE SEGMENT DELAY100 PROC MOV BL,100 ; DELAY: MOV CX , 2801 WAIT: LOOP WAIT DEC BL JNZ DELAY RET DELAY100 ENDP CALL DELAY100 CODE ENDS END START 例 1:編寫一軟件延時(shí)子程序 ,延時(shí)時(shí)間為 1s。 (無(wú)參數(shù)傳遞 ) 作業(yè) P170 3, P171 8 補(bǔ)充: 在當(dāng)前數(shù)據(jù)段偏移地址為 DATAB開(kāi)始的順序 80個(gè)單元中,存放著某班 80名同學(xué)某門考試的成績(jī)。 要求: 1)編寫程序統(tǒng)計(jì)大于等于 90分、 80~ 89分、 70~ 79分、 60~ 69分、小于 60分的人數(shù)各為多少,并將結(jié)果放在同一數(shù)據(jù)段以BTRX開(kāi)始的順序單元中。 2)編寫程序求該班這門課程的平均成績(jī),并放在同一數(shù)據(jù)段的LEVT單元。 從 TAB單元開(kāi)始連續(xù)存放了 100個(gè) 8為有符號(hào)數(shù),試編寫程序找出其中最大的一個(gè)數(shù),并將其存入 MAX單元中。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1