版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 題 目: 四則運(yùn)算</p><p> 班 級(jí): </p><p> 姓 名: </p><p> 學(xué) 號(hào): </p><p><b> 指導(dǎo)老師: </b></p><p> 日 期: 年 月
2、 日 </p><p><b> 目錄</b></p><p> 設(shè)計(jì)目的…………………………………………………… 1</p><p> 概要設(shè)計(jì).........................................2</p><p> 2.1 系統(tǒng)總體分析……………………………………………2&
3、lt;/p><p> 2.2 主模塊框圖及說(shuō)明……………………………………… 3</p><p> 3、詳細(xì)設(shè)計(jì)……………………………………………………… 4</p><p> 3.1 主模塊及子模塊概述…………………………………… 4</p><p> 3.2 各模塊詳細(xì)設(shè)計(jì)………………………………………… 4</p>
4、<p> 4、程序調(diào)試……………………………………………………… 9</p><p> 4.1 運(yùn)行界面分析………………………………………………9</p><p> 4.2 調(diào)試過(guò)程與分析……………………………………………11</p><p> 5、心得體會(huì)……………………………………………………… 12</p><p>
5、 5.1 設(shè)計(jì)體會(huì)……………………………………………………12</p><p> 5.2 系統(tǒng)改進(jìn)……………………………………………………12</p><p> 附錄…………………………………………………………………14</p><p> 參考文獻(xiàn)……………………………………………………………40</p><p><b>
6、設(shè)計(jì)目的</b></p><p> 進(jìn)行程序設(shè)計(jì)方法和技能的基本訓(xùn)練,鞏固在課堂上學(xué)到的有關(guān)程序設(shè)計(jì)的基本知識(shí)和基本方法,通過(guò)實(shí)際動(dòng)手能力的培養(yǎng),進(jìn)一步熟悉匯編語(yǔ)言的結(jié)構(gòu)和使用方法,達(dá)到能獨(dú)立閱讀、編制和調(diào)試一定規(guī)模的匯編語(yǔ)言程序的水平,對(duì)自身的學(xué)習(xí)從理論到實(shí)踐的應(yīng)用,加深對(duì)匯編語(yǔ)言的認(rèn)識(shí)。</p><p><b> 概要設(shè)計(jì)</b></p>
7、;<p> 2.1 系統(tǒng)總體分析</p><p> 1. 可以任意輸入十進(jìn)制數(shù)進(jìn)行運(yùn)算。</p><p> 2. 進(jìn)行的運(yùn)算是加、減、乘和除的獨(dú)立運(yùn)算。</p><p> 3.運(yùn)算時(shí),當(dāng)輸入十進(jìn)制數(shù)時(shí),首先默認(rèn)的是加法運(yùn)算,通過(guò)回車(chē)得到加法運(yùn)算結(jié)果。若要進(jìn)行同樣數(shù)的減法,乘法和除法的運(yùn)算可用鼠標(biāo)點(diǎn)擊sub,mul和div進(jìn)行運(yùn)算。若不想則通過(guò)
8、reload重新輸入。</p><p> 4. 程序可以重復(fù)進(jìn)行運(yùn)算,這就要求每次運(yùn)算后置零數(shù)據(jù)存儲(chǔ)區(qū),通過(guò)reload清零。</p><p> 5. 由于運(yùn)算的結(jié)果位數(shù)不確定,要設(shè)計(jì)一個(gè)能顯示結(jié)果的輸出程序,通過(guò)窗口實(shí)現(xiàn)。</p><p> 2.2 主模塊框圖及說(shuō)明</p><p><b> 詳細(xì)設(shè)計(jì)</b>&
9、lt;/p><p> 3.1 主模塊及子模塊概述</p><p> 主模塊主要是四則運(yùn)算部分,就是進(jìn)行運(yùn)算的模塊,包括加減乘除為實(shí)現(xiàn)運(yùn)算而進(jìn)行的模塊,程序的中心部分。其他子模塊包括用鼠標(biāo)選擇的何種運(yùn)算的模塊,通過(guò)鼠標(biāo)選擇加法運(yùn)算或者其他的運(yùn)算等等。以及窗口模塊,主要是進(jìn)行數(shù)據(jù)的顯示。還有就是菜單模塊,就是鼠標(biāo)選擇運(yùn)算的模塊,通過(guò)選擇加減或者乘除來(lái)實(shí)現(xiàn)運(yùn)算。以及鼠標(biāo)引入模塊,實(shí)現(xiàn)鼠標(biāo)的選擇操
10、作。輸出模塊和清零數(shù)據(jù)重新運(yùn)算模塊。</p><p> 3.2 各模塊詳細(xì)設(shè)計(jì)</p><p> 3.2.1主要是數(shù)據(jù)的初始化</p><p> data segment </p><p> Notice db ‘(Notice: 0<=Number<=32767)’,’$’</p><p> S
11、tring1 db ‘Number1:’,’$’</p><p> String2 db ‘Number2:’,’$’</p><p> String3 db ‘Finally:’,’$’</p><p> Menu1 db ‘Add’,’$’</p><p> Menu2 db ‘Sub’,’$’</p><p&
12、gt; Menu3 db ‘Mul’,’$’</p><p> Menu4 db ‘Div’,’$’</p><p> Menu5 db ‘Reload’,’$’</p><p> ErrorString db ‘Error’,0ah,0dh,’$’ </p><p> Number1 dw 0
13、 </p><p> Number2 dw 0 </p><p><b> data ends</b></p><p> stack segment</p><p> dw 512 dup(0)</p><p> stack ends</p><p>
14、 code segment </p><p><b> ;《主函數(shù)》</b></p><p> 3.2.2鼠標(biāo)的初始化部分</p><p> Main proc far </p><p><b> start:</b></p><p> mov ax, dat
15、a</p><p> mov ds, ax</p><p> mov es, ax</p><p> call ShowMainWindow </p><p> call MouseInit</p><p> cmp ax,0ffffh</p><p> je succes
16、s</p><p> mov dx,offset ErrorString</p><p><b> mov ah,9</b></p><p><b> int 21h</b></p><p> jmp exitSystem</p><p> success:;鼠標(biāo)初
17、始化成功后進(jìn)行數(shù)據(jù)的正常運(yùn)行。</p><p> 3.2.3窗口的初始化</p><p> ShowMainWindow proc near</p><p><b> push ax</b></p><p><b> push bx</b></p><p><b
18、> push cx</b></p><p><b> push dx</b></p><p> mov ax,01h;初始化窗口模式</p><p> int 10h </p><p> mov bh,8fh</p><p><b> xor cx,cx
19、</b></p><p> mov dx,1827h</p><p> call DrawRect</p><p> mov bh,0fh</p><p> mov cx,202h</p><p> mov dx,0a27h</p><p> call DrawRect&
20、lt;/p><p><b> int 10h</b></p><p><b> mov ah,9</b></p><p> mov dx,offset String1</p><p><b> int 21h</b></p><p><b>
21、; mov ah,2</b></p><p> mov dx,0602h</p><p><b> int 10h</b></p><p> mov bh,01h</p><p> mov cx,0d03h</p><p> mov dx,1009h</p>
22、<p> r2:call DrawRect</p><p><b> add cl,9</b></p><p><b> add dl,9</b></p><p><b> dec ax</b></p><p><b> jnz r2</b&
23、gt;</p><p> mov cx,1303h</p><p> mov dx,1524h</p><p> call DrawRect</p><p><b> mov ax,4</b></p><p> mov bh,0f1h</p><p> mov
24、cx,0c02h</p><p> mov dx,0f08h</p><p> rr1:call DrawRect</p><p><b> add cl,9</b></p><p><b> add dl,9</b></p><p><b> dec a
25、x</b></p><p><b> jnz rr1</b></p><p> mov cx,1202h</p><p> mov dx,1423h</p><p> call DrawRect</p><p><b> mov ah,2</b><
26、/p><p><b> mov bh,0</b></p><p><b> int 21h</b></p><p><b> pop dx</b></p><p><b> pop cx</b></p><p><b>
27、; pop bx</b></p><p><b> pop ax</b></p><p><b> ret</b></p><p> ShowMainWindow endp</p><p><b> 3.2.4運(yùn)算模塊</b></p><
28、;p> AddInterger proc near </p><p><b> push si</b></p><p><b> push bx</b></p><p> lea si,Number1</p><p> mov ax,[si]</p><p
29、> lea si,Number2</p><p> mov bx,[si]</p><p><b> add ax,bx</b></p><p> pop bx </p><p><b> pop si</b></p><p><b> r
30、et</b></p><p> AddInterger endp</p><p> ;《SubInterger》</p><p><b> ;參數(shù):無(wú)</b></p><p> ;返回:end->ax</p><p> SubInterger proc near<
31、/p><p><b> push si</b></p><p><b> push bx</b></p><p> lea si,Number1</p><p> mov ax,[si]</p><p> lea si,Number2</p><p&
32、gt; mov bx,[si]</p><p><b> sub ax,bx</b></p><p> pop bx </p><p><b> pop si</b></p><p><b> ret</b></p><p> Sub
33、Interger endp</p><p> ;《MulInterger》</p><p><b> ;參數(shù):無(wú)</b></p><p> ;返回:end->ax</p><p> MulInterger proc near</p><p><b> push si<
34、;/b></p><p><b> push bx</b></p><p> lea si,Number1</p><p> mov ax,[si]</p><p> lea si,Number2</p><p> mov bx,[si]</p><p>&
35、lt;b> mul bx</b></p><p> pop bx </p><p><b> pop si</b></p><p><b> ret</b></p><p> MulInterger endp</p><p> ;《Div
36、Interger》</p><p><b> ;參數(shù):無(wú)</b></p><p> ;返回:end->ax</p><p> DivInterger proc near</p><p><b> push dx</b></p><p><b> pu
37、sh si</b></p><p><b> push bx</b></p><p> lea si,Number1</p><p> mov ax,[si]</p><p> lea si,Number2</p><p> mov bx,[si]</p>&l
38、t;p><b> xor dx,dx</b></p><p><b> div bx</b></p><p> pop bx </p><p><b> pop si</b></p><p><b> pop dx</b></
39、p><p><b> ret</b></p><p> DivInterger endp</p><p> ;《GetInterger》</p><p><b> ;參數(shù):[bx]</b></p><p> ;返回:interger->[bx] </p>
40、;<p> ;注意:0<=interger<=32767</p><p> GetInterger proc near </p><p><b> push cx </b></p><p><b> push dx</b></p><p> push bx
41、 </p><p><b> xor ax,ax</b></p><p> xor bx,bx </p><p> xor cx,cx </p><p> xor dx,dx </p><p> reget:mov ah,8</p><p>
42、; int 21h </p><p> cmp al,’0’</p><p> jb sign </p><p> cmp al,’9’</p><p> ja reget </p><p><b> cmp cl,5</b></p><p>&
43、lt;b> je reget</b></p><p> jmp getInt</p><p> sign:cmp al,0dh</p><p><b> je enter</b></p><p><b> cmp al,8h</b></p><p>
44、; je backspace </p><p><b> jmp reget</b></p><p> getInt:mov dl,al</p><p><b> mov ah,2</b></p><p><b> int 21h </b></p>
45、<p> and ax,0fh </p><p> xchg ax,bx </p><p><b> push bx</b></p><p><b> mov bx,10</b></p><p><b> mul bx</b></p>
46、<p><b> pop bx </b></p><p> xchg ax,bx</p><p> add bx,ax </p><p><b> inc cx</b></p><p><b> jmp reget</b></p><
47、;p> backspace:cmp cl,0</p><p><b> je reget</b></p><p> xchg ax,bx </p><p><b> push bx</b></p><p><b> mov bx,10</b></p&g
48、t;<p><b> div bx</b></p><p><b> pop bx</b></p><p> xchg ax,bx </p><p><b> dec cx</b></p><p> mov ah,2 </p>&l
49、t;p> mov dl,08h</p><p><b> int 21h</b></p><p> mov dl,20h</p><p> int 21h </p><p> mov dl,08h</p><p> int 21h </p><p>
50、; xor dx,dx </p><p><b> jmp reget</b></p><p> enter:mov ax,bx</p><p><b> pop bx</b></p><p> mov [bx],ax</p><p><b> po
51、p dx</b></p><p><b> pop cx</b></p><p><b> ret </b></p><p> GetInterger endp </p><p> ;《CleanFinally》</p><p><b>
52、;參數(shù):無(wú)</b></p><p> ;返回:光標(biāo)位置Finally輸出框</p><p> CleanFinally proc near</p><p><b> push ax</b></p><p><b> push bx</b></p><p>
53、<b> push cx</b></p><p><b> push dx</b></p><p><b> mov ah,2</b></p><p><b> mov bh,0</b></p><p> mov dx,080ah</p&g
54、t;<p><b> int 10h</b></p><p><b> mov cx,6</b></p><p> mov dl,’ ‘</p><p> clean:int 21h</p><p> loop clean</p><p> mov
55、dx,080ah</p><p><b> int 10h</b></p><p><b> pop dx</b></p><p><b> pop cx</b></p><p><b> pop bx</b></p><p&g
56、t;<b> pop ax</b></p><p><b> ret</b></p><p> CleanFinally endp</p><p> code ends </p><p><b> end start</b><
57、/p><p><b> 程序調(diào)試</b></p><p> 4.1 運(yùn)行界面分析</p><p><b> 加法運(yùn)算:</b></p><p><b> 減法運(yùn)算:</b></p><p><b> 乘法運(yùn)算:</b><
58、/p><p><b> 除法運(yùn)算:</b></p><p> 4.2 調(diào)試過(guò)程與分析</p><p> 進(jìn)行運(yùn)算首先是進(jìn)行加法運(yùn)算,運(yùn)算玩呈現(xiàn)的是加法運(yùn)算的結(jié)果。可進(jìn)行相應(yīng)值的其他運(yùn)算,并得到相應(yīng)的結(jié)果。若計(jì)算其他值則需重新輸入,要先通過(guò)reload清零后再輸入??奢斎攵辔恢颠\(yùn)算。</p><p><b>
59、 心得體會(huì)</b></p><p><b> 5.1 設(shè)計(jì)體會(huì)</b></p><p> 我們這學(xué)期初步地學(xué)習(xí)了匯編語(yǔ)言程序設(shè)計(jì),一開(kāi)始覺(jué)得該門(mén)課程相對(duì)于C語(yǔ)言比較難,匯編語(yǔ)言是利用一個(gè)又一個(gè)寄存器來(lái)實(shí)現(xiàn)。而寫(xiě)代碼的時(shí)候,經(jīng)常會(huì)因?yàn)橐恍┓?hào),或者字長(zhǎng)的失誤,完全是無(wú)心之失而導(dǎo)致程序無(wú)法執(zhí)行。</p><p> 本次課程設(shè)計(jì)對(duì)我
60、們的成長(zhǎng)有很大的幫助。是對(duì)我們對(duì)匯編語(yǔ)言的掌握與運(yùn)用能力的一次檢驗(yàn)。這次的課程設(shè)計(jì)老師給我們降低了難度,只要能進(jìn)行加減乘除四則運(yùn)算就行了。了解課題內(nèi)容后,我們進(jìn)行了分工合作,先查閱了相關(guān)資料,然后開(kāi)始源代碼的編寫(xiě),最后是調(diào)試結(jié)果,直到符合課題要求。</p><p> 這次課程設(shè)計(jì)中遇到了不少麻煩,這也是由于之前理論課上學(xué)得不夠扎實(shí)所導(dǎo)致的,所以我們進(jìn)行了更深入的討論,并積極地向老師和同學(xué)請(qǐng)教,最終順利地完成了任
61、務(wù)。</p><p><b> 5.2 系統(tǒng)改進(jìn)</b></p><p> 存在的改進(jìn)地方是不能同時(shí)進(jìn)行多種運(yùn)算,就是進(jìn)行加減乘除同時(shí)運(yùn)行的運(yùn)算。不能進(jìn)行小數(shù)運(yùn)算,加減乘除都不能進(jìn)行小數(shù)的運(yùn)算。同樣也是不能進(jìn)行負(fù)數(shù)的運(yùn)算,無(wú)法輸入負(fù)數(shù)。界面上還不夠完整,在不同的系統(tǒng)中可能需要進(jìn)行改進(jìn)。另外各種數(shù)的計(jì)算的范圍太小,不能做到面面俱到。</p><p
62、><b> 附錄</b></p><p> data segment </p><p> Notice db '(Notice: 0<=Number<=32767)','$'</p><p> String1 db 'Number1:','$'</p
63、><p> String2 db 'Number2:','$'</p><p> String3 db 'Finally:','$'</p><p> Menu1 db 'Add','$'</p><p> Menu2 db 'Sub&
64、#39;,'$'</p><p> Menu3 db 'Mul','$'</p><p> Menu4 db 'Div','$'</p><p> Menu5 db 'Reload','$'</p><p> ErrorSt
65、ring db 'Error',0ah,0dh,'$' </p><p> Number1 dw 0 </p><p> Number2 dw 0 </p><p><b> data ends</b></p><p> stack seg
66、ment</p><p> dw 512 dup(0)</p><p> stack ends</p><p> code segment </p><p><b> ;《主函數(shù)》</b></p><p> Main proc far </p><p>
67、;<b> start:</b></p><p> mov ax, data</p><p> mov ds, ax</p><p> mov es, ax</p><p> call ShowMainWindow </p><p> call MouseInit</p
68、><p> cmp ax,0ffffh</p><p> je success</p><p> mov dx,offset ErrorString</p><p><b> mov ah,9</b></p><p><b> int 21h</b></p>
69、<p> jmp exitSystem</p><p> success:;鼠標(biāo)初始化成功,程序正常執(zhí)行</p><p> mov ah,2;獲取Number1和Number2的數(shù)值</p><p><b> mov bh,0</b></p><p> mov dx,040ah</p>
70、<p><b> int 10h</b></p><p> mov bx,offset Number1</p><p> call GetInterger</p><p><b> mov ah,2</b></p><p><b> mov bh,0</b&g
71、t;</p><p> mov dx,060ah</p><p><b> int 10h</b></p><p> mov bx,offset Number2</p><p> call GetInterger</p><p> call AddInterger</p>
72、<p><b> push ax</b></p><p><b> mov ah,2</b></p><p><b> mov bh,0</b></p><p> mov dx,080ah</p><p><b> int 10h</b>
73、;</p><p><b> pop ax</b></p><p> call OutInterger</p><p> call MenuChoose</p><p> exitSystem:</p><p> mov ax, 4c00h </p><p>&l
74、t;b> int 21h </b></p><p> Main endp </p><p> ;《ShowMainWindow》</p><p><b> ;參數(shù):無(wú)</b></p><p><b> ;返回:無(wú)</b></p><p>
75、ShowMainWindow proc near</p><p><b> push ax</b></p><p><b> push bx</b></p><p><b> push cx</b></p><p><b> push dx</b>
76、</p><p> mov ax,01h;初始化窗口模式</p><p> int 10h </p><p> mov bh,8fh</p><p><b> xor cx,cx</b></p><p> mov dx,1827h</p><p> call
77、 DrawRect</p><p> mov bh,0fh</p><p> mov cx,202h</p><p> mov dx,0a27h</p><p> call DrawRect</p><p> mov bh,0f0h</p><p> mov cx,101h</
78、p><p> mov dx,0926h</p><p> call DrawRect</p><p><b> mov ah,2</b></p><p><b> mov bh,0</b></p><p> mov dx,0202h</p><p&g
79、t;<b> int 10h</b></p><p> mov dx,offset Notice</p><p><b> mov ah,9</b></p><p><b> int 21h</b></p><p><b> mov ah,2</b&g
80、t;</p><p><b> mov bh,0</b></p><p> mov dx,0402h</p><p><b> int 10h</b></p><p><b> mov ah,9</b></p><p> mov dx,offs
81、et String1</p><p><b> int 21h</b></p><p><b> mov ah,2</b></p><p> mov dx,0602h</p><p><b> int 10h</b></p><p><b&
82、gt; mov ah,9</b></p><p> mov dx,offset String2</p><p><b> int 21h</b></p><p><b> mov ah,2</b></p><p> mov dx,0802h</p><p&g
83、t;<b> int 10h</b></p><p><b> mov ah,9</b></p><p> mov dx,offset String3</p><p><b> int 21h</b></p><p><b> mov ax,3</b&
84、gt;</p><p> mov bh,01fh</p><p> mov cx,040ah</p><p> mov dx,0425h</p><p> r1:call DrawRect</p><p><b> add ch,2</b></p><p><
85、;b> add dh,2</b></p><p><b> dec ax</b></p><p><b> jnz r1</b></p><p><b> mov ax,4</b></p><p> mov bh,01h</p><
86、;p> mov cx,0d03h</p><p> mov dx,1009h</p><p> r2:call DrawRect</p><p><b> add cl,9</b></p><p><b> add dl,9</b></p><p><b
87、> dec ax</b></p><p><b> jnz r2</b></p><p> mov cx,1303h</p><p> mov dx,1524h</p><p> call DrawRect</p><p><b> mov ax,4<
88、/b></p><p> mov bh,0f1h</p><p> mov cx,0c02h</p><p> mov dx,0f08h</p><p> rr1:call DrawRect</p><p><b> add cl,9</b></p><p>
89、;<b> add dl,9</b></p><p><b> dec ax</b></p><p><b> jnz rr1</b></p><p> mov cx,1202h</p><p> mov dx,1423h</p><p>
90、call DrawRect</p><p><b> mov ah,2</b></p><p><b> mov bh,0</b></p><p> mov dx,0e04h</p><p><b> int 10h</b></p><p>&l
91、t;b> mov ah,9</b></p><p> mov dx,offset Menu1</p><p><b> int 21h</b></p><p><b> mov ah,2</b></p><p> mov dx,0e0dh</p><p
92、><b> int 10h</b></p><p><b> mov ah,9</b></p><p> mov dx,offset Menu2</p><p><b> int 21h</b></p><p><b> mov ah,2</b&
93、gt;</p><p> mov dx,0e16h</p><p><b> int 10h</b></p><p><b> mov ah,9</b></p><p> mov dx,offset Menu3</p><p><b> int 21h&l
94、t;/b></p><p><b> mov ah,2</b></p><p> mov dx,0e1fh</p><p><b> int 10h</b></p><p><b> mov ah,9</b></p><p> mov d
95、x,offset Menu4</p><p><b> int 21h</b></p><p><b> mov ah,2</b></p><p> mov dx,1310h</p><p><b> int 10h</b></p><p>&l
96、t;b> mov ah,9</b></p><p> mov dx,offset Menu5</p><p><b> int 21h</b></p><p><b> pop dx</b></p><p><b> pop cx</b></p
97、><p><b> pop bx</b></p><p><b> pop ax</b></p><p><b> ret</b></p><p> ShowMainWindow endp</p><p> ;《DrawRect》</p>
98、;<p> ;參數(shù):bh=color,cx,dx</p><p><b> ;返回:無(wú)</b></p><p> DrawRect proc near</p><p><b> push ax</b></p><p> mov ah,0bh</p><p&
99、gt;<b> mov bl,0</b></p><p><b> int 10h</b></p><p> mov ax,0700h</p><p><b> int 10h</b></p><p><b> pop ax</b></p&
100、gt;<p><b> ret</b></p><p> DrawRect endp</p><p> ;《MenuChoose》</p><p><b> ;參數(shù):si</b></p><p><b> ;返回:si</b></p>&l
101、t;p> MenuChoose proc near</p><p> regetMouseState1:call GetMouse</p><p> cmp bx,01h</p><p> jne regetMouseState1</p><p><b> cmp dx,12</b></p>
102、<p><b> jae n1</b></p><p> mov bx,0;點(diǎn)中按鈕外圍,設(shè)置bx=0</p><p><b> push bx</b></p><p> jmp regetMouseState2</p><p> n1:cmp dx,15</p>
103、<p><b> jbe n2</b></p><p><b> cmp dx,18</b></p><p><b> jae m1</b></p><p> mov bx,0;點(diǎn)中按鈕外圍,設(shè)置bx=0</p><p><b> push bx
104、</b></p><p> jmp regetMouseState2</p><p> m1:cmp dx,20</p><p><b> jbe m2</b></p><p> mov bx,0;點(diǎn)中按鈕外圍,設(shè)置bx=0</p><p><b> push bx
105、</b></p><p> jmp regetMouseState2</p><p> m2:mov ax,cx</p><p><b> cmp cx,2h</b></p><p><b> jae m3</b></p><p> mov bx,0;點(diǎn)
106、中按鈕外圍,設(shè)置bx=0</p><p><b> push bx</b></p><p> jmp regetMouseState2</p><p> m3:cmp cx,23h</p><p><b> jbe m4</b></p><p> mov bx,0;
107、點(diǎn)中按鈕外圍,設(shè)置bx=0</p><p><b> push bx</b></p><p> jmp regetMouseState2</p><p> m4:mov bx,5;點(diǎn)中按鈕1,設(shè)置bx=5</p><p><b> push bx</b></p><p&g
108、t; mov bh,8fh</p><p> mov cx,1202h</p><p> mov dx,1423h</p><p> call DrawRect</p><p> mov bh,0f0h</p><p> mov cx,1303h</p><p> mov dx,1
109、524h</p><p> call DrawRect</p><p><b> mov ah,2</b></p><p><b> mov bh,0</b></p><p> mov dx,1411h</p><p><b> int 10h</b
110、></p><p><b> mov ah,9</b></p><p> mov dx,offset Menu5</p><p><b> int 21h</b></p><p> jmp regetMouseState2</p><p> mov bx,0;
111、點(diǎn)中按鈕外圍,設(shè)置bx=0</p><p><b> push bx</b></p><p> jmp regetMouseState2</p><p> n2:mov ax,cx</p><p><b> mov cl,9</b></p><p><b>
112、 div cl</b></p><p><b> cmp ah,2</b></p><p><b> jae n3</b></p><p> mov bx,0;點(diǎn)中按鈕外圍,設(shè)置bx=0</p><p><b> push bx</b></p>
113、<p> jmp regetMouseState2</p><p> n3:cmp ah,8</p><p><b> jbe n4</b></p><p> mov bx,0;點(diǎn)中按鈕外圍,設(shè)置bx=0</p><p><b> push bx</b></p>
114、<p> jmp regetMouseState2</p><p> n4:cmp al,0;功能1</p><p> je button1</p><p><b> cmp al,1</b></p><p> je button2</p><p><b> cm
115、p al,2</b></p><p> je button3</p><p><b> cmp al,3</b></p><p> je button4</p><p> mov bx,0;點(diǎn)中按鈕外圍,設(shè)置bx=0</p><p><b> push bx<
116、/b></p><p> jmp regetMouseState2</p><p> button1:mov bx,1;點(diǎn)中按鈕1,設(shè)置bx=1</p><p><b> push bx</b></p><p> mov bh,8fh</p><p> mov cx,0c02h&l
117、t;/p><p> mov dx,0f08h</p><p> call DrawRect</p><p> mov bh,0f1h</p><p><b> inc ch</b></p><p><b> inc cl</b></p><p>
118、<b> inc dh</b></p><p><b> inc dl</b></p><p> call DrawRect</p><p><b> mov ah,2</b></p><p><b> mov bh,0</b></p>
119、;<p> mov dx,0f05h</p><p><b> int 10h</b></p><p><b> mov ah,9</b></p><p> mov dx,offset Menu1</p><p><b> int 21h</b><
120、/p><p> jmp regetMouseState2</p><p> button2:mov bx,2;點(diǎn)中按鈕2,設(shè)置bx=2</p><p><b> push bx</b></p><p> mov bh,8fh</p><p> mov cx,0c0bh</p>
121、<p> mov dx,0f11h</p><p> call DrawRect</p><p> mov bh,0f1h</p><p><b> inc ch</b></p><p><b> inc cl</b></p><p><b>
122、 inc dh</b></p><p><b> inc dl</b></p><p> call DrawRect</p><p><b> mov ah,2</b></p><p><b> mov bh,0</b></p><p&g
123、t; mov dx,0f0eh</p><p><b> int 10h</b></p><p><b> mov ah,9</b></p><p> mov dx,offset Menu2</p><p><b> int 21h</b></p>&l
124、t;p> jmp regetMouseState2</p><p> button3:mov bx,3;點(diǎn)中按鈕3,設(shè)置bx=3</p><p><b> push bx</b></p><p> mov bh,8fh</p><p> mov cx,0c14h</p><p>
125、 mov dx,0f1ah</p><p> call DrawRect</p><p> mov bh,0f1h</p><p><b> inc ch</b></p><p><b> inc cl</b></p><p><b> inc dh<
126、;/b></p><p><b> inc dl</b></p><p> call DrawRect</p><p><b> mov ah,2</b></p><p><b> mov bh,0</b></p><p> mov dx
127、,0f17h</p><p><b> int 10h</b></p><p><b> mov ah,9</b></p><p> mov dx,offset Menu3</p><p><b> int 21h</b></p><p> j
128、mp regetMouseState2</p><p> button4:mov bx,4;點(diǎn)中按鈕4,設(shè)置bx=4</p><p><b> push bx</b></p><p> mov bh,8fh</p><p> mov cx,0c1dh</p><p> mov dx,0f
129、23h</p><p> call DrawRect</p><p> mov bh,0f1h</p><p><b> inc ch</b></p><p><b> inc cl</b></p><p><b> inc dh</b><
130、;/p><p><b> inc dl</b></p><p> call DrawRect</p><p><b> mov ah,2</b></p><p><b> mov bh,0</b></p><p> mov dx,0f20h<
131、/p><p><b> int 10h</b></p><p><b> mov ah,9</b></p><p> mov dx,offset Menu4</p><p><b> int 21h</b></p><p> jmp regetMo
132、useState2</p><p> regetMouseState2:call GetMouse</p><p><b> cmp bx,0</b></p><p> jne regetMouseState2</p><p><b> pop bx</b></p><p
133、><b> cmp bx,1</b></p><p><b> je btn1</b></p><p><b> cmp bx,2</b></p><p><b> je btn2</b></p><p><b> cmp bx,
134、3</b></p><p><b> je btn3</b></p><p><b> cmp bx,4</b></p><p><b> je btn4</b></p><p><b> cmp bx,5</b></p>
135、<p><b> je btn5</b></p><p> jmp regetMouseState1</p><p> btn1:mov bh,01h;點(diǎn)中按鈕1并放開(kāi)左鍵</p><p> mov cx,0d03h</p><p> mov dx,1009h</p><p>
136、; call DrawRect</p><p> mov bh,0f1h</p><p><b> dec ch</b></p><p><b> dec cl</b></p><p><b> dec dh</b></p><p><b
137、> dec dl</b></p><p> call DrawRect</p><p><b> mov ah,2</b></p><p><b> mov bh,0</b></p><p> mov dx,0e04h</p><p><b&
138、gt; int 10h</b></p><p><b> mov ah,9</b></p><p> mov dx,offset Menu1</p><p><b> int 21h</b></p><p> call AddInterger</p><p&
139、gt; call CleanFinally</p><p> call OutInterger</p><p> jmp regetMouseState1</p><p> btn2:mov bh,01h;點(diǎn)中按鈕2并放開(kāi)左鍵</p><p> mov cx,0d0ch</p><p> mov dx,10
140、12h</p><p> call DrawRect</p><p> mov bh,0f1h</p><p><b> dec ch</b></p><p><b> dec cl</b></p><p><b> dec dh</b><
141、;/p><p><b> dec dl</b></p><p> call DrawRect</p><p><b> mov ah,2</b></p><p><b> mov bh,0</b></p><p> mov dx,0e0dh<
142、/p><p><b> int 10h</b></p><p><b> mov ah,9</b></p><p> mov dx,offset Menu2</p><p><b> int 21h</b></p><p> call SubInt
143、erger</p><p> call CleanFinally</p><p> call OutInterger</p><p> jmp regetMouseState1</p><p> btn3:mov bh,01h;點(diǎn)中按鈕3并放開(kāi)左鍵</p><p> mov cx,0d15h</p>
144、;<p> mov dx,101bh</p><p> call DrawRect</p><p> mov bh,0f1h</p><p><b> dec ch</b></p><p><b> dec cl</b></p><p><b&g
145、t; dec dh</b></p><p><b> dec dl</b></p><p> call DrawRect</p><p><b> mov ah,2</b></p><p><b> mov bh,0</b></p><
146、p> mov dx,0e16h</p><p><b> int 10h</b></p><p><b> mov ah,9</b></p><p> mov dx,offset Menu3</p><p><b> int 21h</b></p>
147、<p> call MulInterger</p><p> call CleanFinally</p><p> call OutInterger</p><p> jmp regetMouseState1</p><p> btn4:mov bh,01h;點(diǎn)中按鈕4并放開(kāi)左鍵</p><p>
148、 mov cx,0d1eh</p><p> mov dx,1024h</p><p> call DrawRect</p><p> mov bh,0f1h</p><p><b> dec ch</b></p><p><b> dec cl</b></
149、p><p><b> dec dh</b></p><p><b> dec dl</b></p><p> call DrawRect</p><p><b> mov ah,2</b></p><p><b> mov bh,0<
150、;/b></p><p> mov dx,0e1fh</p><p><b> int 10h</b></p><p><b> mov ah,9</b></p><p> mov dx,offset Menu4</p><p><b> int 2
151、1h</b></p><p> call DivInterger</p><p> call CleanFinally</p><p> call OutInterger</p><p> jmp regetMouseState1</p><p> btn5:;點(diǎn)中按鈕5并放開(kāi)左鍵</p&g
152、t;<p> mov bh,01h</p><p> mov cx,1303h</p><p> mov dx,1524h</p><p> call DrawRect</p><p> mov bh,0f1h</p><p> mov cx,1202h</p><p>
153、; mov dx,1423h</p><p> call DrawRect</p><p><b> mov ah,2</b></p><p><b> mov bh,0</b></p><p> mov dx,1310h</p><p><b> in
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 微機(jī)原理與接口技術(shù)課程設(shè)計(jì)
- 微機(jī)原理與接口技術(shù)課程設(shè)計(jì)
- 微機(jī)原理與接口技術(shù)課程設(shè)計(jì).
- 微機(jī)原理與接口技術(shù)課程設(shè)計(jì)
- 微機(jī)原理與接口技術(shù)課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì) 長(zhǎng)整數(shù)四則運(yùn)算
- 微機(jī)接口技術(shù)課程設(shè)計(jì)
- 微機(jī)接口技術(shù)課程設(shè)計(jì)
- 微機(jī)原理與接口技術(shù)課程設(shè)計(jì)--流水燈
- 課程設(shè)計(jì) 長(zhǎng)整數(shù)四則運(yùn)算
- 微機(jī)原理與接口技術(shù)課程設(shè)計(jì)-交通燈
- 紅外通信-微機(jī)原理與接口技術(shù)課程設(shè)計(jì)報(bào)告
- 微機(jī)原理與接口技術(shù)課程設(shè)計(jì) --存儲(chǔ)器
- 微機(jī)原理與接口技術(shù)課程設(shè)計(jì)報(bào)告書(shū)
- 《微機(jī)原理與接口技術(shù)》課程設(shè)計(jì)
- 大整數(shù)的四則運(yùn)算課程設(shè)計(jì)
- 微機(jī)接口技術(shù)課程設(shè)計(jì)報(bào)告
- 微機(jī)原理與接口技術(shù)課程設(shè)計(jì)-----交通燈設(shè)計(jì)
- 電子表設(shè)計(jì)(微機(jī)原理與接口技術(shù)課程設(shè)計(jì))
- 微機(jī)原理與接口技術(shù)課程設(shè)計(jì)報(bào)告——電子琴
評(píng)論
0/150
提交評(píng)論