亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        分解組合法在程序設(shè)計(jì)中的應(yīng)用

        2013-09-04 00:47:50白云飛
        機(jī)械工程與自動化 2013年5期
        關(guān)鍵詞:組合法匯編語言個位

        白云飛

        (運(yùn)城學(xué)院 機(jī)電系,山西 運(yùn)城 044000)

        0 引言

        用高級語言編寫程序時,機(jī)器屏蔽了程序的細(xì)節(jié),即機(jī)器級的實(shí)現(xiàn),并且,用高級語言編寫的程序可以在很多不同的機(jī)器上編譯和執(zhí)行。匯編語言在行為上接近于機(jī)器代碼,形式上接近于高級語言,掌握匯編語言的程序設(shè)計(jì),能明確高級語言程序運(yùn)行的效率,從而優(yōu)化高級語言程序,并且能獲得更為安全的運(yùn)行環(huán)境,提高程序執(zhí)行的可靠性[1]。

        模塊化程序設(shè)計(jì)方法是按照各部分程序所實(shí)現(xiàn)的不同功能把程序劃分成多個模塊,各模塊在明確各自的功能和相互間的連接約定后,就可以分別編制和調(diào)試程序,最后再把它們連接起來,形成一個大程序[2]。這種設(shè)計(jì)方法實(shí)質(zhì)上就是一種分解組合法,編程時使用分解組合法,可以采用循環(huán)結(jié)構(gòu)、子程序結(jié)構(gòu),能改善程序的可讀性,減少程序的存儲空間,提高程序執(zhí)行的效率。

        1 分解組合法的具體應(yīng)用

        本文以一個實(shí)際的匯編語言源程序的編制來說明分解組合法的應(yīng)用。任務(wù)是把存放在存儲器中的任意一個四位十進(jìn)制數(shù)轉(zhuǎn)化為壓縮BCD碼形式存放。

        四位十進(jìn)制數(shù)在存儲器中無論是以二進(jìn)制形式存放,還是以BCD碼形式存放,它們所表示的數(shù)的大小是一樣的。用分解組合法,先把二進(jìn)制形式的十進(jìn)制數(shù)分解為千位值、百位值、十位值和個位值,然后再組合為BCD碼形式。以提取千位值來說明其算法:將該十進(jìn)制數(shù)的二進(jìn)制形式記為[X]2,設(shè)置一個計(jì)數(shù)器,讓[X]2重復(fù)執(zhí)行減1 000操作,并測試CF的取值[3];[X]2每執(zhí)行一次減1 000操作,然后測試CF=0時,計(jì)數(shù)器加1,這樣,執(zhí)行同樣的操作步驟,直到CF=1停止計(jì)數(shù),這時計(jì)數(shù)器的值就是千位值。

        把千位值提取出來后,再執(zhí)行一次加1 000操作,就得到了百位數(shù)。用同樣的方法,可以提取出百位值、十位值和個位值。

        接口就是加法操作所得到的要傳遞給后續(xù)分解用的數(shù)據(jù)。把千位值、百位值、十位值和個位值組合為BCD數(shù)時,可采用進(jìn)行多次移位的方法來實(shí)現(xiàn)。

        根據(jù)以上分析,編寫完整的匯編語言源程序如下:

        DATA SEGMENT

        BINNUM DW 9999

        DATA1DW 1000,100,10

        THOUB DW 3DUP (0)

        BCD DW 0

        DATA ENDS

        CODE SEGMENT

        ASSUME CS:CODE,DS:DATA

        START:MOV AX,DATA

        MOV DS,AX

        MOV BX,BINNUM

        LEA DI,DATA1

        LEA SI,THOUB

        MOV CX,3

        L1:MOV AX,[DI]

        CALL SUBB;調(diào)用提取子程序

        MOV [SI],DX ;送存儲單元保存

        INC SI

        INC SI

        INC DI

        INC DI

        LOOP L1;通過循環(huán)實(shí)現(xiàn)逐位提取并保存

        MOV DX,3

        MOV SI,OFFSET THOUB

        L2:MOV AX,[SI]

        OR BCD,AX

        MOV CL,4

        SHL BCD,CL

        INC SI

        INC SI

        DEC DX

        JNZ L2;左移三次,每次移四位組合三次

        OR BCD,BX ;組合個位數(shù)字

        MOV AH,4CH

        INT 21H

        SUBB PROC NEAR ;子程序采用循環(huán)結(jié)構(gòu)

        MOV DX,0;給計(jì)數(shù)器DX清零

        L3:SUB BX,AX

        JC L4

        INC DX

        JMP L3

        L4:ADD BX,AX

        RET

        SUBB ENDP

        CODE ENDS

        END START

        該匯編語言源程序的總體結(jié)構(gòu)是:主程序+子程序。主程序由兩個循環(huán)體構(gòu)成,子程序也是循環(huán)結(jié)構(gòu),符合模塊化程序設(shè)計(jì)的要求。程序結(jié)構(gòu)緊湊,層次清晰。

        在計(jì)算機(jī)上用匯編程序MASM和鏈接程序LINK運(yùn)行該匯編源程序,得到的實(shí)驗(yàn)結(jié)果如圖1所示。

        實(shí)驗(yàn)結(jié)果表明該匯編源程序能實(shí)現(xiàn)任務(wù)要求。

        2 結(jié)論

        以上匯編程序的編制表明使用分解組合法可以降低問題的難度,容易找到解決問題的方法和途徑。在具體提取過程中,CPU執(zhí)行的是減法和加法指令,在組合過程中,CPU執(zhí)行的是移位和邏輯或指令,使用的電路簡單、效率高、可靠性好。

        圖1 實(shí)驗(yàn)結(jié)果

        [1] Randal E Bryant,David R O’Hallaron.深入理解計(jì)算機(jī)系統(tǒng)[M].龔奕利,雷迎春,譯.北京:機(jī)械工業(yè)出版社,2010.

        [2] 沈美明,溫冬嬋.IBM-PC匯編語言程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2006.

        [3] 姚燕南,薛鈞義.微型計(jì)算機(jī)原理及接口技術(shù)[M].北京:高等教育出版社,2004.

        猜你喜歡
        組合法匯編語言個位
        奇妙的組合法
        數(shù)列前n項(xiàng)和的一種求法
        高等學(xué)校計(jì)算機(jī)專業(yè)課程教學(xué)改革實(shí)踐——以匯編語言與接口技術(shù)課程為例
        匯編語言與C語言的混合程序設(shè)計(jì)技術(shù)研究
        電子制作(2019年10期)2019-06-17 11:45:16
        個位與十位的故事
        個位與十位的故事
        個位與十位的故事
        “拼”出來的精彩
        ——記敘文選材組材創(chuàng)新方法之三
        青少年日記(2018年3期)2018-11-30 06:43:21
        提高《匯編語言程序設(shè)計(jì)》教學(xué)效率的思考與實(shí)踐
        學(xué)習(xí)100以內(nèi)的數(shù)三要點(diǎn)
        国产精品激情| 天堂网日韩av在线播放一区| 亚洲精品国产二区在线观看| ZZIJZZIJ亚洲日本少妇| 国产av专区一区二区三区| 亚洲AV无码成人精品区H| 国产性感丝袜美女av| 九色精品国产亚洲av麻豆一| 粉色蜜桃视频完整版免费观看在线 | 亚洲视频毛片| 色综合久久久久久久久五月| 久久久窝窝午夜精品| 国产呦系列呦交| 国产av乳头久久一区| 久久精品国产亚洲av成人网 | 一本色道久久88加勒比一| 中文字幕亚洲乱码熟女1区| 性色av一二三天美传媒| 精品视频一区二区三区在线观看| 射精专区一区二区朝鲜| 中国少妇内射xxxx狠干| 国产精品 视频一区 二区三区| 麻豆91免费视频| 欧美a视频在线观看| 国产亚洲精品国产福利在线观看| 免费女同毛片在线不卡| 国产一区二区在三区在线观看| 中文字幕本久久精品一区| 人妻诱惑中文字幕在线视频| 久久久中文久久久无码| 一本色道无码道dvd在线观看| 午夜亚洲www湿好大| 国产成人综合久久精品推荐免费| 中文字幕一区二区三区6| 亚洲国产精品日韩av专区| 久久影院午夜理论片无码| 全球av集中精品导航福利| 亚洲久热无码av中文字幕| 国产精品女视频一区二区| 2020国产精品久久久久| 资源在线观看视频一区二区|