999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2013-09-04 00:47:50白云飛
機(jī)械工程與自動(dòng)化 2013年5期
關(guān)鍵詞:程序語言

白云飛

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

0 引言

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

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

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

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

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

接口就是加法操作所得到的要傳遞給后續(xù)分解用的數(shù)據(jù)。把千位值、百位值、十位值和個(gè)位值組合為BCD數(shù)時(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 ;組合個(gè)位數(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)是:主程序+子程序。主程序由兩個(gè)循環(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.

猜你喜歡
程序語言
語言是刀
文苑(2020年4期)2020-05-30 12:35:30
試論我國未決羈押程序的立法完善
讓語言描寫搖曳多姿
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
多向度交往對語言磨蝕的補(bǔ)正之道
英國與歐盟正式啟動(dòng)“離婚”程序程序
累積動(dòng)態(tài)分析下的同聲傳譯語言壓縮
創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
我有我語言
主站蜘蛛池模板: 国产爽歪歪免费视频在线观看 | 国模粉嫩小泬视频在线观看 | 激情无码字幕综合| 久久久久无码精品| 午夜精品影院| 久久久国产精品无码专区| 国产精品lululu在线观看 | 中文字幕无线码一区| 欧美精品影院| 日韩精品亚洲一区中文字幕| 亚洲精品免费网站| 国产一级裸网站| 99这里只有精品6| 无码高潮喷水专区久久| 九九久久精品国产av片囯产区| 成年看免费观看视频拍拍| 国产亚洲美日韩AV中文字幕无码成人 | 特级欧美视频aaaaaa| 精品91自产拍在线| 色悠久久久久久久综合网伊人| 无码乱人伦一区二区亚洲一| 午夜国产小视频| 国产一区在线视频观看| 黄色网在线免费观看| 精品国产女同疯狂摩擦2| 91免费国产高清观看| 免费A级毛片无码无遮挡| 4虎影视国产在线观看精品| 国产精品不卡片视频免费观看| 欧美日韩在线成人| 欧美激情网址| 五月婷婷综合在线视频| 538国产在线| 欧美伊人色综合久久天天| 中文字幕免费在线视频| 国产精品成人久久| 狠狠色婷婷丁香综合久久韩国| 精品视频一区二区观看| 无码一区18禁| 欧美一级黄片一区2区| 国产精品第5页| 亚洲成a人片在线观看88| 2020极品精品国产 | 日韩一区精品视频一区二区| 久久视精品| 国产精品色婷婷在线观看| 国产福利大秀91| 日韩精品少妇无码受不了| 欧洲亚洲欧美国产日本高清| 黄色国产在线| 久久精品免费国产大片| 国产成人乱无码视频| 色婷婷丁香| 在线观看亚洲精品福利片| 在线精品视频成人网| 久久中文无码精品| 久久国产精品无码hdav| 日日拍夜夜操| 久久综合五月| 综合人妻久久一区二区精品| 亚洲精品成人福利在线电影| 国产日韩久久久久无码精品| 国产小视频a在线观看| 成人在线观看不卡| 久久综合色天堂av| 一级一级一片免费| 爱爱影院18禁免费| 午夜a视频| 久久青草视频| 午夜精品久久久久久久无码软件 | 精品国产香蕉在线播出| 91精品国产一区自在线拍| 亚洲69视频| 国产无码高清视频不卡| 一本大道无码高清| 欧美一级黄片一区2区| 国产精选小视频在线观看| 日韩无码视频专区| 四虎精品免费久久| 亚洲小视频网站| 国产免费高清无需播放器| 日本一本在线视频|