【正文】
JNZ DISP_1 。延時(shí)子程序 PUSH CX PUSH DX MOV DX,2500D11: MOV CX,25000 D12: LOOP D12 DEC DX JNZ D11 POP DX POP CX RETDELAY ENDPDELAY1 PROC NEAR 。取點(diǎn)的顏色 MOV DX , LINE 。完成點(diǎn)的顯示 inc cx 。指明寫點(diǎn)調(diào)用 MOV AL , PIX_A 。取顯示點(diǎn)的列坐標(biāo)DISP_4: INT 10H 。筆畫撇的子程序 PUSH AX PUSH CX PUSH DX PUSH SI PUSH DI MOV AH , 0CH 。取點(diǎn)的行坐標(biāo) MOV CX , ROW 。行坐標(biāo)加1 DEC DI JNZ DISP_5 POP DI POP SI POP DX POP CX POP AX RETPIAN ENDPNA PROC near 。用于控制顯示循環(huán) MOV DX , LINE 。列坐標(biāo)加1 inc DX 。經(jīng)過思考和耐心檢查,終于解決了,原來其中一行把宏實(shí)參0寫成了O(讀歐),這一行的錯(cuò)誤導(dǎo)致了其他行的錯(cuò)誤。②創(chuàng)新和得意之處。③課程設(shè)計(jì)中存在的不足,需要進(jìn)一步改進(jìn)的設(shè)想。曾經(jīng)的困惑現(xiàn)在已經(jīng)成了知識(shí),有一種成就感。在課程設(shè)計(jì)中,感覺真正的學(xué)到了東西。簡潔,精確,效率,這就是匯編。終于理解了學(xué)微機(jī)原理為什么要學(xué)匯編了。實(shí)現(xiàn)同樣的功能,用c的話編譯出來也許得30條指令,但用匯編5,6條就解決了。指令系統(tǒng)也更熟悉了,看來學(xué)編程只有兩種方法,看程序,寫程序,先看后寫。對此而言,前幾天的辛苦和思考都是值得的。④課程設(shè)計(jì)的感想和心得體會(huì)。我覺的自己的這個(gè)程序比較起來還是簡潔的,設(shè)計(jì)了兩個(gè)宏和五個(gè)子程序來實(shí)現(xiàn)各種功能,然后在主程序中調(diào)用。然后遇到的問題是畫流程圖,由于以前沒畫過,也不知道用什么軟件,就去網(wǎng)上搜索,于是發(fā)現(xiàn)了windows office套件中的 Visio 。首先遇到的問題是程序的調(diào)試,我把程序?qū)懞貌z查后沒發(fā)現(xiàn)錯(cuò)誤,然后上機(jī)匯編卻發(fā)現(xiàn)5個(gè)警告錯(cuò)誤,看錯(cuò)誤類型號,都是英語,看不懂,幸好課本后部附錄里有翻譯,這個(gè)問題解決了,但我還是不知道錯(cuò)誤的那幾行哪里錯(cuò),看起來很正確。取顯示點(diǎn)的列坐標(biāo)DISP_6: INT 10H 。指明寫點(diǎn)調(diào)用 MOV AL , PIX_A 。完成點(diǎn)的顯示 DEC cx 。取點(diǎn)的顏色 MOV DI , N 。行坐標(biāo)加1(列不變) DEC DI JNZ DISP_4 。用于控制行顯示循環(huán) MOV DX , LINE 。循環(huán)顯示完一行 POP DI