版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 學生課程設計(論文)</p><p> 題 目: 動畫“心”程序 </p><p> 學生姓名: 學 號: </p><p> 所在院(系): 計算機學院 </p><p> 專 業(yè):
2、 計算機科學與技術 </p><p> 班 級: 10級計本一班 </p><p> 指 導 教 師: 職稱: 講師 </p><p> 2012年 1 月5日</p><p> 本科學生課程設計任務書</p><p><b
3、> 摘要</b></p><p> 根據(jù)匯編設計任務:闡述動畫心匯編程序的設計基本思想與方案,在一套PC機子上實現(xiàn)動畫心的程序,繪制程序相應的設計流程圖,運用8086CPU提供的指令、偽指令、宏指令及DOS,BIOS功能調用編寫程序源代碼,同時在重要的部分要給出相應的說明注釋。利用計算機提供的相關軟件調試工具對所編寫會匯編程序進行調試運行,記錄下整個編寫設計調試分析的過程與運行結果。<
4、/p><p> 關鍵詞:匯編語言、動畫心、方案、程序原代碼、調試。</p><p><b> Abstract</b></p><p> According to compile the design task: animated heart assembler described the basic idea of ??the design
5、 and program a PC in the heart of the machine to achieve the animation process, the corresponding flow chart drawing program, the use of 8086CPU provide instructions, directives, macros, and DOS , BIOS function calls to
6、program source code, while an important part to give the corresponding explanatory comment. The use of computers and related software debugging tools will be written to run debu</p><p> Keywords: assembly l
7、anguage, animated heart, programs, program source code, debugging.</p><p><b> 目錄</b></p><p><b> 摘要4</b></p><p> Abstract5</p><p> 1、設計任務及要
8、求8</p><p> 2、程序設計基本思想9</p><p> 2、1本程序設計基本思路9</p><p> 2、2匯編程序設計過程9</p><p> 3、設計方案及程序流程圖11</p><p><b> 3.1方案11</b></p><p>
9、<b> 3.2擴展11</b></p><p> 3.3動畫心程序流程圖11</p><p> 4、程序源代碼與運行結果13</p><p> 4.1程序源代碼13</p><p> 4.2程序運行結果18</p><p> 4.3調試記錄與分析19</p>
10、<p><b> 5、總結22</b></p><p><b> 6、參考文獻23</b></p><p><b> 7、附錄24</b></p><p><b> 1、設計任務及要求</b></p><p> 本次課程設計要求
11、是編寫一個完整的程序以實現(xiàn)一個小動畫。該動畫要求先顯示一些提示信息,然后按任意鍵進入,只見一個方框向中間由大變小,并留下痕跡,然后出現(xiàn)一個心,按空格重復出現(xiàn)心,按其他鍵將重復,按Q鍵退出程序。一個顏色方框從四周向中間由大變小,中心位置出現(xiàn)一顆紅“心”。</p><p> 設計要求即為:1)按任意鍵進入圖形顯示;</p><p> 2)按空格鍵重復出現(xiàn)“心”;</p>&l
12、t;p> 3)按回車鍵將重復整個圖形;</p><p> 4)按Q鍵退出程序。</p><p> 2、程序設計基本思想</p><p> 2、1本程序設計基本思路</p><p> 本程序主要是利用BIOS功能調用的10H中斷類型實現(xiàn)的。利用其12號功能,設置像素點的顏色、坐標和個數(shù),從而畫出圖形需要的線段,如畫方框、畫斜線、
13、畫水平垂直線,以及采用行、列坐標連續(xù)寫像素的方法填充圖形等。畫完圖形之后延時,清屏。同時,利用dos功能調用的08號功能,從鍵盤輸入字符。如果是任意鍵,則進入圖形顯示;如果是回車鍵,則重新顯示這個圖形;如果是空格鍵,則改變“心”的大小;如果是“q”鍵,則退出。</p><p> 2、2匯編程序設計過程</p><p> 本次匯編語言程序設計要求綜合以前所學知識,根據(jù)設計具體要求分析問題
14、,將問題分解成一個一個的步驟,每步用匯編語言中的指令性語句,按先后順序表達,設計一個不僅要滿足要求,能正常運行,實現(xiàn)指定功能的程序;還應滿足結構化、簡明、易讀、易調試、易維護、執(zhí)行速度快、占用存儲空間盡量少的好程序。</p><p> 設計總過程流程圖如下圖1所示:</p><p> 3、設計方案及程序流程圖</p><p><b> 3.1方案&l
15、t;/b></p><p> 由基本設計思路擬訂出原方案。先分別編寫畫方框、畫對角線、畫水平垂直線,畫斜線,畫心型;以及清屏、清除心型、延時和顯示文本信息的子程序。然后,通過編寫主程序調用這些子程序來實現(xiàn)設計的要求。</p><p><b> 3.2擴展</b></p><p> 通過改變BIOS功能調用的10H中斷類型的11號功能
16、(BL)的賦值來改變圖形與線條以及背景的顏色。</p><p> 將原設計任務要求的方框由大變小改成方框由小變大。同時,也可改變方框變化劃過的軌跡變化,使其不在是從大框一直到小框,而是從小框到大框;使改變后的方框變化看上去是移動的不斷從小到大變化。</p><p> 為了使運行的動畫人眼看上去是連續(xù)移動的,我們可以根據(jù)人眼的反應時間來設置延時程序。通過計算得出延時程序所需的循環(huán)的次數(shù),
17、以達到以上目的。計算式為:(人眼的反應時間:響應時間如果超過40毫秒,人眼就會出現(xiàn)運動圖像的遲滯現(xiàn)象。)</p><p> 以上擴展方案會在程序源代碼中具體說明。</p><p> 3.3動畫心程序流程圖</p><p> 由設計方案畫出動畫心程序流程圖如圖2所示:</p><p><b> 流程圖簡單說明:</b&g
18、t;</p><p> 4、程序源代碼與運行結果</p><p><b> 4.1程序源代碼</b></p><p> 根據(jù)程序設計基本思路與方案,由于小組的分工合作,在此主要負責編寫主程序源代碼。</p><p><b> 主程序:</b></p><p> da
19、ta segment</p><p> buff1 db ' Welcome you to run this program!'</p><p> db ' '</p><p> db ' *****
20、Please press any key *****$'</p><p> buff2 db ' My heart beats with yours!'</p><p> db ' ***** Please press q to quit *****$'</p><p
21、><b> data ends</b></p><p> stack segment stack ;定義堆棧段</p><p> stack ends</p><p> code segment</p><p> main proc far</p><p> ass
22、ume cs:code,ds:data</p><p><b> start:</b></p><p><b> push ds</b></p><p><b> sub ax,ax</b></p><p><b> push ax</b><
23、/p><p> mov ax,data</p><p><b> mov ds,ax</b></p><p> mov ah,00 ;設置顯示方式為320*200彩色圖形方式</p><p><b> mov al,04</b></p><p><b>
24、 int 10h</b></p><p> mov ah,0bh ;利用BIOS調用的10H中斷類型11號功能設定背景色</p><p><b> mov bh,00</b></p><p> mov bl,1 ;通過(bl)的賦值0-15設定顏色,此為藍色</p><p><b>
25、 int 10h</b></p><p> mov ah,0bh ;設置彩色組</p><p><b> mov bh,1</b></p><p> mov bl,2 </p><p><b> int 10h</b></p><p> m
26、ov dx,offset buff1 ;顯示提示信息,即buff1的字符串內容 </p><p><b> mov ah,09</b></p><p><b> int 21h</b></p><p> mov ah,08 ;從鍵盤輸入1個字符,但不送顯示器顯示</p>&l
27、t;p><b> int 21h</b></p><p> call clear ;調用清屏子程序 </p><p> sss: call text ;顯示文本信息 </p><p> mov di,2
28、 ;開始畫大方框</p><p> mov al,1 </p><p> mov cx,70 ;顯示點所在列號</p><p> mov dx,20 ;顯示點所在行號</p><p> mov bx,160 ;確定方框大小</
29、p><p> call box ;調用畫方框子程序</p><p> mov cx,71 ;畫方框移動軌跡,使方框變化看上去是移動的</p><p> mov dx,21 </p><p> mov bx,158</p><p> again: mov al,1
30、 ;由大到小畫軌跡方框</p><p><b> mov di,0</b></p><p><b> call box</b></p><p> call delay</p><p><b> mov al,0</b></p><
31、p><b> mov di,0</b></p><p><b> call box</b></p><p> inc cx ;每次軌跡圖的行號和列號是自加1,軌跡圖是由大變小</p><p><b> inc dx</b></p><p> sub bx
32、,2 ;設定每次軌跡圖大小減小的程度</p><p> cmp cx,94 ;當軌跡方框大小與下一個方框相等時,退出畫軌跡</p><p><b> jnz again</b></p><p> mov di,0 ;畫第二個方框,具體畫法與畫大方框相同</p><p>&
33、lt;b> mov cx,95</b></p><p><b> mov dx,45</b></p><p><b> mov al,1</b></p><p> mov bx,110 ;第二個方框較第一個方框較小</p><p><b> cal
34、l box</b></p><p><b> mov cx,96</b></p><p><b> mov dx,46</b></p><p> mov bx,108</p><p> again_00: mov al,1</p><p><b>
35、; mov di,0</b></p><p><b> call box</b></p><p> call delay</p><p> call delay</p><p><b> mov al,0</b></p><p><b> m
36、ov di,0</b></p><p><b> call box</b></p><p><b> inc cx</b></p><p><b> inc dx</b></p><p><b> sub bx,2</b></p&
37、gt;<p> cmp cx,114</p><p> jnz again_00</p><p> mov cx,115 ;畫第三個方框 </p><p><b> mov dx,65</b></p><p><b> m
38、ov al,1</b></p><p> mov bx,70 ;第三個方框較前兩個小</p><p><b> call box</b></p><p> mov cx,116</p><p><b> mov dx,66</b></p>
39、;<p><b> mov bx,68</b></p><p><b> again_01:</b></p><p><b> mov al,1</b></p><p><b> mov di,0</b></p><p><b&
40、gt; call box</b></p><p> call delay</p><p> call delay</p><p><b> mov al,0</b></p><p><b> mov di,0</b></p><p><b>
41、 call box</b></p><p><b> inc cx</b></p><p><b> inc dx</b></p><p><b> sub bx,2</b></p><p> cmp cx,129</p><p>
42、 jnz again_01</p><p> mov di,2 ;畫最小的方框,此時不需要畫軌跡圖</p><p> mov al,1 </p><p> mov cx,130</p><p><b> mov dx,80</b>
43、</p><p><b> mov bx,40</b></p><p><b> call box</b></p><p> mov di,2 ;畫對角線</p><p> mov al,3 </p>
44、<p><b> mov si,0</b></p><p> mov cx,71 ;確定點所在列號</p><p> mov dx,21 ;確定點所在行號</p><p> mov bx,59 ;設置對角線長度</p><
45、;p> call xie_line ;調用畫對角線子程序</p><p> mov cx,171</p><p> mov dx,121</p><p><b> mov bx,59</b></p><p> call xie_line</p><p>&
46、lt;b> mov si,1</b></p><p><b> mov cx,71</b></p><p> mov dx,179</p><p><b> mov bx,59</b></p><p> call xie_line</p><p>
47、 mov cx,171</p><p><b> mov dx,79</b></p><p><b> mov bx,59</b></p><p> call xie_line</p><p> mov cx,150 ;畫十字線,確定點所在列號</p>
48、;<p> mov dx,20 ;確定點所在行號</p><p><b> mov si,0</b></p><p> mov bx,60 ;確定十字線長度</p><p> call draw_line ;調用畫線子程序</p>
49、;<p> mov cx,150</p><p> mov dx,120</p><p><b> mov bx,60</b></p><p> call draw_line</p><p><b> mov cx,70</b></p><p> m
50、ov dx,100</p><p><b> mov si,1</b></p><p><b> mov bx,60</b></p><p> call draw_line</p><p> mov cx,170</p><p> mov dx,100</p&
51、gt;<p><b> mov bx,60</b></p><p> call draw_line</p><p> mov cx,149 </p><p> mov dx,120</p><p><b> mov al,2</b>
52、</p><p><b> mov bx,60</b></p><p><b> mov si,0</b></p><p> call draw_line</p><p> mov si,1 ;畫斜線</p><p>
53、<b> mov cx,70</b></p><p><b> mov dx,60</b></p><p><b> mov bx,60</b></p><p> call mid_line ;調用畫斜線子程序</p><p>
54、 mov cx,170 ;確定顯示點所在列號</p><p> mov dx,110 ;確定顯示點所在行號</p><p> mov bx,60 ;設置斜線長度</p><p> call mid_line</p&g
55、t;<p><b> mov si,2</b></p><p> mov cx,110</p><p><b> mov dx,20</b></p><p><b> mov bx,30</b></p><p> call mid_line</p&
56、gt;<p> mov cx,160</p><p> mov dx,120</p><p><b> mov bx,30</b></p><p> call mid_line</p><p><b> mov si,3</b></p><p><
57、;b> mov cx,70</b></p><p> mov dx,140</p><p><b> mov bx,60</b></p><p> call mid_line</p><p> mov cx,170</p><p><b> mov dx,9
58、0</b></p><p><b> mov bx,60</b></p><p> call mid_line</p><p><b> mov si,4</b></p><p> mov cx,110</p><p> mov dx,180</p
59、><p><b> mov bx,30</b></p><p> call mid_line</p><p> mov cx,160</p><p><b> mov dx,80</b></p><p><b> mov bx,30</b><
60、/p><p> call mid_line</p><p> mov cx,149</p><p> mov dx,120</p><p><b> mov al,2</b></p><p><b> mov bx,60</b></p><p>
61、<b> mov si,0</b></p><p> call draw_line</p><p> heart_: ;畫心 </p><p> call cls_box ;清除最小方框內的內容/清除心</p><p> call he
62、art ;調用畫心子程序</p><p> mov ah,08 ;從鍵盤輸入一個字符,但不送顯示器顯示</p><p><b> int 21h</b></p><p> cmp al,'q' ;(al)=’q’時,執(zhí)行ok的內容,即退出<
63、;/p><p><b> jz ok</b></p><p> cmp al,20h ;(al)=空格時,轉去執(zhí)行heart_的內容,即清除心并重新畫心</p><p><b> jz heart_</b></p><p> call clear ;(al)=其他
64、鍵,則調用清屏子程序清屏</p><p> jmp sss ;清屏后轉去執(zhí)行sss的內容,即動畫重復</p><p> ok: ;退出分支程序</p><p><b> ret</b></p><p> main endp
65、 ;主程序結束</p><p><b> code ends</b></p><p><b> 4.2程序運行結果</b></p><p> 結論:原程序:動畫“心”畫圖程序運行結果如下列圖所示:</p><p> 圖3 運行結果圖——顯示提示信息</p><p&g
66、t; 圖4運行結果圖——步驟一</p><p> 圖5運行結果圖——步驟二</p><p> 圖6 運行結果圖——完整動畫心圖</p><p> 4.3調試記錄與分析</p><p><b> 原程序調試過程:</b></p><p> 根據(jù)設計原理先分別編寫出畫方框、畫對角線、畫水平
67、垂直線,畫斜線,畫心型;以及清屏、清除心型、延時和顯示文本信息的子程序;然后通過主程序調用每個子程序編寫成可實現(xiàn)設計要求的完整程序。</p><p> 先將程序轉換成目標文件,系統(tǒng)沒發(fā)現(xiàn)語法錯誤。轉換成目標文件屏幕截圖如下圖11所示:</p><p> 圖11轉換成目標文件截圖</p><p> 將目標文件生連接生成可執(zhí)行文件后,命令提示符顯示“ There
68、was 1 error detected.”系統(tǒng)發(fā)現(xiàn)存在一個錯誤,并提示“Warning:No STACK segment.”</p><p> 沒有定義堆棧段,程序可以不定義堆棧段,該錯誤可以忽略。生成可執(zhí)行文件的屏幕截圖如下圖12所示:</p><p> 圖12 生成可執(zhí)行文件截圖</p><p> 但為了不存在錯誤,我們在程序中定義一段堆棧段</p
69、><p> stack segment stack</p><p> stack ends</p><p> 定義堆棧段后錯誤消失了,如下圖13所示:</p><p> 圖13 加入堆棧段后生成可執(zhí)行文件截圖</p><p><b> 5、總結</b></p><p&g
70、t; 為期一周的匯編語言課程設計實驗課,通過自己輸入?yún)R編語言的代碼上機實驗調試,翻書查閱相關資料(包括教材),也學同學相互討論、交流、商議等。整個匯編語言課程設計使得我對匯編語言這門課程有了進一步的認識,提高了自己的閱讀代碼能力,雖然本次的課程設計的代碼是比較現(xiàn)呈的,但設計本事是綜合度較高,沒有涉及硬件,實施起來還是有很大的難度。在課后與平時的學習中,我們學習與接觸的匯編知識很少很少,更不用去說是去用匯編語言來寫程序實踐。而我自己所選
71、擇的課程項目基本上要用到微機原理的所有知識。在實踐的過程中,還是遇到了不少的問題難題,但是在老師、書籍和同學們的幫助下,解決了這些問題中的大部分,最終才能基本正常的運行處我想要的結果。通過此次對“動畫心”程序編程,我對匯編語言及微機原理有了更明確的更深的認識,但是也讓我在做課程設計的同時重溫并鞏固了匯編預言的基礎知識,真正的做到了學以致用??傊舜握n程設計實驗的收獲不小,但是其安排不太合理,影響了其他科的學習。</p>
72、<p><b> 6、參考文獻</b></p><p> [1] 吳向軍、羅源明、劉廣旋,《匯編語言程序設計》,高等教育出版社,2009.11 第二版</p><p> [2] 李珍香、劉紅梅、趙潤海,《匯編語言課程設計案例精編》.北京:中國水利水電出版社,2004.3</p><p> [3] 于春凡、朱耀庭,《宏匯編語言程
73、序設計》.天津:南開大學出版社,1996.6第一版</p><p> [4] 馬瑞芳,《匯編語言程序設計》.西安:西北工業(yè)大學出版社,2002.3第一版</p><p> [5] 吳向軍、羅源明、劉廣旋,《匯編語言程序設計》,高等教育出版社,2009.11 第二版</p><p> [6]《匯編語言程序設計》,吳向軍等,高等教育出版社,2002</p&
74、gt;<p> [7]《IBM-PC匯編語言及程序設計》(第2版), 沈美明等,清華大學出版社,2001</p><p> [8]《IBM-PC匯編語言及程序設計實驗教程》,沈美明等,清華大學出版社 ,2001</p><p> [9]《匯編語言程序設計》, 錢曉捷等,電子工業(yè)出版社,2000</p><p> [10]《匯編語言程序設計》,
75、張志明等,重慶大學出版社,1997</p><p><b> 7、附錄</b></p><p><b> 完整程序源代碼:</b></p><p> data segment</p><p> buff1 db ' Welcome you to run this </p&g
76、t;<p> code segment</p><p> main proc far</p><p> assume cs:code,ds:data</p><p><b> start:</b></p><p><b> push ds</b></p><
77、;p><b> sub ax,ax</b></p><p><b> push ax</b></p><p> mov ax,data</p><p><b> mov ds,ax</b></p><p> mov ah,00 &l
78、t;/p><p> programe!'</p><p> db ' '</p><p> db ' *****Please press any key*****$'</p><
79、;p> buff2 db ' My heart beats with yours!'</p><p> db ' ***** Please q to quit *****$'</p><p><b> data ends</b></p><p>
80、 ;設置顯示方式為320*200彩色圖形方式</p><p><b> mov al,04</b></p><p><b> int 10h</b></p><p> mov ah,0bh </p><p><b> ;設置彩色組</b>&
81、lt;/p><p><b> mov bh,00</b></p><p><b> mov bl,1</b></p><p><b> int 10h</b></p><p> mov ah,0bh</p><p><b> mov bh
82、,1</b></p><p><b> mov bl,2</b></p><p><b> int 10h</b></p><p> mov dx,offset buff1 </p><p><b> ;顯示提示信息</b></
83、p><p><b> mov ah,09</b></p><p><b> int 21h</b></p><p><b> mov ah,08</b></p><p><b> int 21h</b></p><p> ca
84、ll clear </p><p><b> ??;清屏</b></p><p><b> sss:</b></p><p> call text </p><p><b> ;顯示文本</b&
85、gt;</p><p><b> mov di,2</b></p><p> mov al,1 </p><p><b> ?。划嫶蠓娇?lt;/b></p><p><b> mov cx,70</b></p><
86、p><b> mov dx,20</b></p><p> mov bx,160</p><p><b> call box</b></p><p> mov cx,71 </p><p><b> mov dx,21</b></p><p&
87、gt; mov bx,158</p><p><b> again:</b></p><p><b> mov al,1</b></p><p><b> mov di,0</b></p><p><b> call box</b></p&
88、gt;<p> call delay</p><p><b> mov al,0</b></p><p><b> mov di,0</b></p><p><b> call box</b></p><p><b> inc cx</b
89、></p><p><b> inc dx</b></p><p><b> sub bx,2</b></p><p><b> cmp cx,94</b></p><p><b> jnz again</b></p><
90、p> mov di,0 </p><p><b> ;畫第二個方框</b></p><p><b> mov cx,95</b></p><p><b> mov dx,45</b></p><p><b> mov al,1</b>&
91、lt;/p><p> mov bx,110</p><p><b> call box</b></p><p><b> mov cx,96</b></p><p><b> mov dx,46</b></p><p> mov bx,108<
92、;/p><p><b> again_00:</b></p><p><b> mov al,1</b></p><p><b> mov di,0</b></p><p><b> call box</b></p><p>
93、 call delay</p><p> call delay</p><p><b> mov al,0</b></p><p><b> mov di,0</b></p><p><b> call box</b></p><p><b
94、> inc cx</b></p><p><b> inc dx</b></p><p><b> sub bx,2</b></p><p> cmp cx,114</p><p> jnz again_00</p><p> mov cx,11
95、5 </p><p><b> ?。划嫷谌齻€方框</b></p><p><b> mov dx,65</b></p><p><b> mov al,1</b></p><p><b> mov bx,70<
96、/b></p><p><b> call box</b></p><p> mov cx,116</p><p><b> mov dx,66</b></p><p><b> mov bx,68</b></p><p><b>
97、; again_01:</b></p><p><b> mov al,1</b></p><p><b> mov di,0</b></p><p><b> call box</b></p><p> call delay</p><
98、;p> call delay</p><p><b> mov al,0</b></p><p><b> mov di,0</b></p><p><b> call box</b></p><p><b> inc cx</b><
99、/p><p><b> inc dx</b></p><p><b> sub bx,2</b></p><p> cmp cx,129</p><p> jnz again_01</p><p><b> mov di,2</b></p&g
100、t;<p> mov al,1 </p><p><b> ??;畫小方框</b></p><p> mov cx,130</p><p><b> mov dx,80</b></p><p><b> mov bx,40</b></
101、p><p><b> call box</b></p><p><b> mov di,2</b></p><p> mov al,3 </p><p><b> ?。划媽蔷€</b></p><p&g
102、t;<b> mov si,0</b></p><p><b> mov cx,71</b></p><p><b> mov dx,21</b></p><p><b> mov bx,59</b></p><p> call xie_line
103、</p><p> mov cx,171</p><p> mov dx,121</p><p><b> mov bx,59</b></p><p> call xie_line</p><p><b> mov si,1</b></p><p
104、><b> mov cx,71</b></p><p> mov dx,179</p><p><b> mov bx,59</b></p><p> call xie_line</p><p> mov cx,171</p><p><b> m
105、ov dx,79</b></p><p><b> mov bx,59</b></p><p> call xie_line</p><p> mov cx,150 </p><p><b> ?。划嬍志€</b></p&
106、gt;<p><b> mov dx,20</b></p><p><b> mov si,0</b></p><p><b> mov bx,60</b></p><p> call draw_line</p><p> mov cx,150</
107、p><p> mov dx,120</p><p><b> mov bx,60</b></p><p> call draw_line</p><p><b> mov cx,70</b></p><p> mov dx,100</p><p>
108、;<b> mov si,1</b></p><p><b> mov bx,60</b></p><p> call draw_line</p><p> mov cx,170</p><p> mov dx,100</p><p><b> mov
109、bx,60</b></p><p> call draw_line</p><p> mov si,1 </p><p><b> ?。划嬓本€</b></p><p><b> mov cx,70</b></p&g
110、t;<p><b> mov dx,60</b></p><p> mov bx,60 </p><p> call mid_line </p><p> mov cx,170</p><p> mov dx,110</p><p><b> mov
111、bx,60</b></p><p> call mid_line</p><p><b> mov si,2</b></p><p> mov cx,110</p><p><b> mov dx,20</b></p><p><b> mov
112、 bx,30</b></p><p> call mid_line</p><p> mov cx,160</p><p> mov dx,120</p><p><b> mov bx,30</b></p><p> call mid_line</p><
113、;p><b> mov si,3</b></p><p><b> mov cx,70</b></p><p> mov dx,140</p><p><b> mov bx,60</b></p><p> call mid_line</p>&l
114、t;p> mov cx,170</p><p><b> mov dx,90</b></p><p><b> mov bx,60</b></p><p> call mid_line</p><p><b> mov si,4</b></p>&
115、lt;p> mov cx,110</p><p> mov dx,180</p><p><b> mov bx,30</b></p><p> call mid_line</p><p> mov cx,160</p><p><b> mov dx,80</b
116、></p><p><b> mov bx,30</b></p><p> call mid_line</p><p> mov cx,149 </p><p><b> ??;bold</b></p><p
117、> mov dx,120</p><p><b> mov al,2</b></p><p><b> mov bx,60</b></p><p><b> mov si,0</b></p><p> call draw_line</p><
118、p> mov cx,151</p><p> mov dx,120</p><p><b> mov al,2</b></p><p><b> mov bx,60</b></p><p><b> mov si,0</b></p><p&g
119、t; call draw_line</p><p> heart_: </p><p><b> ;畫心</b></p><p> call cls_box</p><p> call heart</p><p><b&
120、gt; mov ah,08</b></p><p><b> int 21h</b></p><p> cmp al,'q' </p><p> ?。?al)=’q’ 退出</p><p><b> jz ok</b>
121、;</p><p> cmp al,20h </p><p> ;(al)=空格 重復出現(xiàn)心</p><p><b> jz heart_</b></p><p> call clear</p><p><b> jmp sss&
122、lt;/b></p><p><b> ok:</b></p><p><b> ret</b></p><p> main endp </p><p><b> ?。恢鞒绦蚪Y束</b></p><
123、p> draw_Line proc near </p><p><b> ;畫線子程序</b></p><p><b> push bx</b></p><p><b> cmp si,0</b></p><p> jz V_lin
124、e1</p><p><b> add bx,cx</b></p><p><b> H_line:</b></p><p> mov ah,0ch </p><p><b> ?。粚懴袼?lt;/b></p><
125、p><b> int 10h</b></p><p><b> cmp di,0</b></p><p><b> jz aa0</b></p><p><b> cmp di,1</b></p><p><b> jz aa1&
126、lt;/b></p><p> call delay</p><p><b> aa1:</b></p><p> call delay</p><p><b> aa0:</b></p><p><b> inc cx</b></
127、p><p><b> cmp cx,bx</b></p><p> jne H_line</p><p> jmp exit_line</p><p><b> V_line1:</b></p><p><b> add bx,dx</b><
128、/p><p><b> V_line:</b></p><p> mov ah,0ch</p><p><b> cmp di,0</b></p><p><b> jz bb0</b></p><p><b> cmp di,1<
129、/b></p><p><b> jz bb1</b></p><p> call delay</p><p><b> bb1:</b></p><p> call delay</p><p><b> bb0:</b></p&g
130、t;<p><b> int 10h</b></p><p><b> inc dx</b></p><p><b> cmp dx,bx</b></p><p> jne V_line</p><p> exit_line:</p>&l
131、t;p><b> pop bx</b></p><p><b> ret</b></p><p> draw_Line endp </p><p> xie_line proc near </p><p>&l
132、t;b> ?。划媽蔷€子程序</b></p><p><b> add bx,cx</b></p><p><b> cmp si,1</b></p><p> jz xieline_1</p><p> xieline_0:</p><p> m
133、ov ah,0ch</p><p><b> int 10h</b></p><p><b> inc dx</b></p><p><b> inc cx</b></p><p><b> cmp cx,bx</b></p><
134、;p> jne xieline_0</p><p> jmp exit_xie</p><p> xieline_1:</p><p> mov ah,0ch</p><p><b> int 10h</b></p><p><b> dec dx</b>&
135、lt;/p><p><b> inc cx</b></p><p><b> cmp cx,bx</b></p><p> jne xieline_1</p><p><b> exit_xie:</b></p><p><b> ret
136、</b></p><p> xie_line endp</p><p> Mid_line proc near ;畫斜線子程序</p><p><b> add bx,cx</b></p><p><b> cmp si,2</b></p><p>
137、 jz midline_2</p><p><b> cmp si,3</b></p><p> jz midline_3</p><p><b> cmp si,4</b></p><p> jz midline_4</p><p> midline_1: &l
138、t;/p><p> mov ah,0ch</p><p><b> int 10h</b></p><p><b> inc dx</b></p><p><b> add cx,2</b></p><p><b> cmp cx,bx&
139、lt;/b></p><p> jne midline_1</p><p> jmp exit_lines</p><p> midline_2:</p><p> mov ah,0ch</p><p><b> int 10h</b></p><p>&l
140、t;b> add dx,2</b></p><p><b> inc cx</b></p><p><b> cmp cx,bx</b></p><p> jne midline_2</p><p> jmp exit_lines</p><p>
141、 midline_3:</p><p> mov ah,0ch</p><p><b> int 10h</b></p><p><b> dec dx</b></p><p><b> add cx,2</b></p><p><b&g
142、t; cmp cx,bx</b></p><p> jne midline_3</p><p> jmp exit_lines</p><p> midline_4:</p><p> mov ah,0ch</p><p><b> int 10h</b></p>
143、;<p><b> sub dx,2</b></p><p><b> inc cx</b></p><p><b> cmp cx,bx</b></p><p> jne midline_4</p><p> exit_lines:</p>
144、<p><b> ret</b></p><p> mid_line endp</p><p> box proc near </p><p><b> ;畫方框子程序</b></p><p><b> push cx</
145、b></p><p><b> push dx</b></p><p><b> push cx</b></p><p><b> push dx</b></p><p><b> push cx</b></p><p&g
146、t;<b> push dx</b></p><p><b> push cx</b></p><p><b> push dx</b></p><p><b> mov si,1</b></p><p> call draw_line
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 微機原理課程設計---動畫心匯編程序設計
- 小鳥動畫程序課程設計
- 匯編語言動畫設計課程設計
- 微機原理課程設計報告--小鳥動畫程序
- 匯編語言程序設計-課程設計
- 匯編語言程序設計課程設計
- c語言課程設計---c語言小車動畫程序
- 匯編語言課程設計 音樂點播程序
- 匯編語言課程設計--代碼轉換程序
- 匯編課程設計--音樂演奏程序設計
- 匯編課程設計---顯示系統(tǒng)日期時間程序設計
- 《匯編語言》課程設計報告--判斷閏年程序
- 匯編課程設計---顯示系統(tǒng)日期時間程序設計1
- 匯編課程設計---顯示系統(tǒng)日期時間程序設計1
- 《匯編語言》課程設計---用匯編語言進行音樂動畫功能的實現(xiàn)
- 課程設計--unix程序設計課程設計
- 鍵盤鋼琴匯編語言程序設計—微機原理課程設計
- 鍵盤鋼琴匯編語言程序設計—微機原理課程設計
- 鍵盤鋼琴匯編語言程序設計—微機原理課程設計
- tracer程序課程設計
評論
0/150
提交評論