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

正文內容

[工學]第五章匯編語言程序設計-資料下載頁

2024-10-13 15:49本頁面
  

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