【正文】
POP DX MOV AL,DH AND AX,00FFH 。AH此處未變 INT 21H RETXSXH ENDPCODE ENDS 。此外在調(diào)用程序的過程中,對(duì)CALL指令的不熟悉,導(dǎo)致錯(cuò)用誤用。在冒泡法的程序中表現(xiàn)得尤為明顯。8。另外在編寫程序中,以后要養(yǎng)成在寫完每一句在后邊加注釋的習(xí)慣,這樣子,便會(huì)加強(qiáng)程序的可讀性,不管是自己還是別人。但最后還是在不斷地DEBUG下,把冒泡的程序理解深入并編寫調(diào)試成功。源程序結(jié)束流程圖:開始顯示yuanshishujujilushi的字符串設(shè)置循環(huán)初值 依次取出變量顯示改變變量偏移量,改變CX調(diào)用子程序顯示暫存當(dāng)前字變量與下一變量比較確定是否交換循環(huán)進(jìn)行變量比較字符串paixuhoudeshujujilushi輸出最大最小值取出顯示去掉最大最小值求平均值并輸出CX=0?NYU 子程序取最高位進(jìn)行除法顯示最高位余數(shù)置零顯示次高位顯示最低位結(jié)束調(diào)用子程序?qū)⑵骄低ㄟ^左移轉(zhuǎn)換為二進(jìn)制數(shù)輸出結(jié)束三、 運(yùn)行結(jié)果yuan shi shu ju ji lu shi : 300,250,280,240,260,pai xu hou de shu ju ji lu shi: 240,250,260,280,300,zui xiao zhi shi: 240,zui da zhi shi: 300ping jun zhi shi: 263ping jun shu de er jin zhi dai ma shi: 0000000100000111編譯:鏈接:運(yùn)行結(jié)果:四、 調(diào)試分析和體會(huì)用DO命令查看排序前后,內(nèi)存數(shù)據(jù)的變化在此次編寫程序的過程中,遇到問題主要是因?yàn)閷?duì)冒泡法的不熟悉,在編寫程序的過程中進(jìn)度較慢,參照著書上的冒泡法,但是在之后遇到的問題便是在編譯出錯(cuò)很多時(shí),需要慢慢地借助DEBUG工具以及自己的檢查來找出錯(cuò)誤,這個(gè)過程比較艱難。顯示次高位 POP DX MOV DL,DH ADD DL,30H MOV AH,02H INT 21H 。高余低商,故將商給DX,取最高位,商只有一位 PUSH DX 。算法結(jié)束,回歸系統(tǒng) MOV AH,4CH INT 21H。循環(huán)左移,依次取最低位 MOV DL,BL 。將平均值轉(zhuǎn)換為二進(jìn)制顯出 MOV DX,OFFSET EQE MOV AH,9 INT 21H 。此例僅3為,若有更高位,繼續(xù)上述處理 PUSH DX 。將余數(shù)清0,保留商,再次取余 IDIV BL 。將平均值寫入寄存器,進(jìn)行處理