版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課 程 設(shè) 計</b></p><p> 課程名稱 微機課程設(shè)計 </p><p> 題目名稱__ 計算器 </p><p> 學(xué)生學(xué)院____ 自動化__ ______</p><p> 專業(yè)班級____ 12電力(2) _ <
2、;/p><p> 2015 年 1月 7日</p><p><b> 一.目的</b></p><p> 鞏固和加深對《微機原理及應(yīng)用》課程內(nèi)容的認(rèn)識和理解,提高應(yīng)用水平;</p><p> 掌握匯編語言程序的編程方法;</p><p> 熟悉鍵盤控制和七段數(shù)碼管的使用。</p>
3、<p><b> 二.設(shè)計要求</b></p><p> 課程設(shè)計內(nèi)容按下圖接線上機編程:</p><p> 1、編程 將儲存器的數(shù)據(jù)F、D、B、9、7、5共6個數(shù)經(jīng)XLAT查表后,在六位七段數(shù)碼管LED上顯示出來;</p><p> 編程按學(xué)號實現(xiàn)下面鍵盤,在顯示器上顯示對應(yīng)鍵值,要求顯示值能左移;</p>
4、<p> 上兩行 下兩行</p><p> 1~5號 6~10號 </p><p><b> 3、編程實現(xiàn):</b></p><p> a).定義鍵盤按鍵,12個為數(shù)
5、字鍵0~F,4個功能鍵:加號+,除號÷,等號=,CLEAR 清零鍵;</p><p> 可進行四位16進制除法運算。</p><p> 可進行五位10進制加法運算;</p><p><b> 4、電路框圖</b></p><p><b> 5、課程設(shè)計報告</b></p>
6、;<p> 課程設(shè)計完成后,交課程設(shè)計報告一份(內(nèi)容包括:系統(tǒng)設(shè)計說明、系統(tǒng)原理圖、程序設(shè)計流程圖、源程序、注解)。</p><p><b> 目錄</b></p><p> 一、源程序…………………………………………………………………………3</p><p> 1.程序一…………………………………………………………………
7、……3</p><p> 1.1 題目……………………………………………………………………3</p><p> 1.2 源程序…………………………………………………………………4</p><p> 2.程序二………………………………………………………………………5</p><p> 2.1題目………………………………………………………
8、……………5</p><p> 2.2 源程序…………………………………………………………………6</p><p> 3.程序三………………………………………………………………………11</p><p> 3.1題目……………………………………………………………………11</p><p> 3.2 源程序………………………………………
9、………………………13</p><p> 二、心得與體會…………………………………………………………………19</p><p> 三、參考文獻………………………………………………………………………19</p><p><b> 一、源程序</b></p><p><b> 程序一</b>&l
10、t;/p><p> 1.1題目:編程將儲存器的數(shù)據(jù)F、D、B、9、7、5共6個數(shù)經(jīng)XLAT查表后,在六位七段數(shù)碼管LED上顯示出來。</p><p><b> 流程圖:</b></p><p><b> 1.2源程序:</b></p><p> STACK SEGMENT STACK</
11、p><p> DW 64 DUP(?)</p><p> STACK ENDS</p><p> DATA SEGMENT </p><p> T1 DB 0FH, 0DH, 0BH, 09H, 07H, 05H</p><p> T2 DB 0FCH, 60H, 0DAH, 0F2H, 66H, 0B6
12、H, 0BEH, 0E0H ;設(shè)置0~F數(shù)碼管段碼</p><p> DB 0FEH, 0F6H, 0EEH, 3EH, 9CH, 7AH, 9EH, 8EH</p><p><b> DATA ENDS</b></p><p> CODE SEGMENT</p><p> ASSUME CS:CODE, DS
13、:DATA</p><p> START: MOV AX, DATA</p><p> MOV DS, AX</p><p> MOV AL, 82H ;8255A初始化</p><p> MOV DX, 0606H </p><p> OUT DX, AL</p><
14、;p><b> A1: </b></p><p> MOV AH, 0FEH ;移位代碼</p><p> LEA SI, T1</p><p> MOV CX, 0006H</p><p><b> A2: </b></p><p
15、> MOV AL, AH</p><p> MOV DX, 0600H</p><p> OUT DX, AL</p><p> MOV AL, [SI] </p><p> LEA BX, T2 </p><p><b> XLAT </b></p>&l
16、t;p> MOV DX, 0604H</p><p> OUT DX, AL ;查表的段碼送C口顯示</p><p><b> INC SI</b></p><p> ROL AH, 01H</p><p> CALL DALLY</p><p><b&g
17、t; LOOP A2</b></p><p><b> JMP A1</b></p><p> DALLY: ;延時</p><p><b> PUSH AX</b></p><p><b> PUSH CX</b&
18、gt;</p><p> MOV CX, 0002H</p><p><b> A3: </b></p><p> MOV AX,0FFFH</p><p><b> A4: </b></p><p><b> DEC AX</b></p
19、><p><b> JNZ A4</b></p><p><b> LOOP A3</b></p><p><b> POP CX</b></p><p><b> POP AX</b></p><p><b> R
20、ET</b></p><p><b> CODE ENDS</b></p><p><b> END START</b></p><p><b> 程序二</b></p><p> 2.1 題目:編程按學(xué)號實現(xiàn)下面鍵盤,在顯示器上顯示對應(yīng)鍵值,要求顯示值能左
21、移;</p><p> 上兩行 下兩行</p><p> 1~5號 6~10號 </p><p><b> 流程圖:</b></p><p><b> 2.2源程序:&
22、lt;/b></p><p> STACK SEGMENT STACK</p><p> DW 64 DUP (?)</p><p> STACK ENDS</p><p> DATA SEGMENT </p><p> TABLE DB 0FCH, 60H, 0DAH, 0F2H,
23、 66H, 0B6H, 0BEH, 0E0H</p><p> DB 0FEH, 0F6H, 0EEH, 3EH, 9CH, 7AH, 9EH, 8EH</p><p> VAR1 DB 0DFH,0EFH,0F7H,0FBH,0FDH,0FEH</p><p> VAR2 DB 0FCH,0FCH,0FCH,0FCH,0FCH,0FCH</
24、p><p> VAR3 DB 00H,00H,00H,00H,00H,00H,00H,00H</p><p> DATA ENDS </p><p> CODE SEGMENT</p><p> ASSUME CS:CODE, DS:DATA</p><p><b> START:</b&
25、gt;</p><p> MOV AX, DATA</p><p> MOV DS, AX </p><p> MOV AL, 82H ;8255A初始化</p><p> MOV DX, 0606H</p><p> OUT DX, AL</p>&l
26、t;p> MOV BX, 0000H</p><p> STT: ;鍵盤測試</p><p> MOV AL, 00H</p><p> MOV DX, 0600H</p><p> OUT DX, AL</p><p> M
27、OV DX, 0602H</p><p> IN AL, DX</p><p> AND AL, 60H</p><p> CMP AL, 60H</p><p> JNZ KEYKEY</p><p> CALL DISP ;調(diào)用顯示程序</p&
28、gt;<p><b> JMP STT</b></p><p><b> KEYKEY:</b></p><p> CALL TIME ;延時,去抖動</p><p> MOV DX, 0602H </p><p><
29、;b> IN AL, DX</b></p><p> AND AL, 60H</p><p> CMP AL, 60H</p><p><b> JNZ KEY</b></p><p><b> JMP STT</b></p><p> KEY:
30、 ;鍵盤掃描識別</p><p> MOV DX, 0600H</p><p> MOV AL, 0FEH</p><p> OUT DX, AL</p><p> MOV DX, 0602H</p><p> IN AL, DX
31、 </p><p> TEST AL, 40H ;測試PCB6</p><p><b> JNZ KEY_7</b></p><p><b> CALL KEY0</b></p><p><b> JMP STTK</b></p><p>&l
32、t;b> KEY_7:</b></p><p> TEST AL, 20H</p><p><b> JNZ KEY_1</b></p><p><b> CALL KEY7</b></p><p><b> JMP STTK</b></p&g
33、t;<p><b> KEY_1:</b></p><p> MOV DX, 0600H</p><p> MOV AL, 0FDH</p><p> OUT DX, AL</p><p> MOV DX, 0602H</p><p><b> IN AL, D
34、X</b></p><p> TEST AL, 40H</p><p><b> JNZ KEY_6</b></p><p><b> CALL KEY1</b></p><p><b> JMP STTK</b></p><p>&
35、lt;b> KEY_6: </b></p><p> TEST AL, 20H</p><p><b> JNZ KEY_2</b></p><p><b> CALL KEY6</b></p><p><b> JMP STTK</b></
36、p><p><b> KEY_2:</b></p><p> MOV DX, 0600H</p><p> MOV AL, 0FBH</p><p> OUT DX, AL</p><p> MOV DX, 0602H</p><p><b> IN AL
37、, DX</b></p><p> TEST AL, 40H</p><p><b> JNZ KEY_5</b></p><p><b> CALL KEY2</b></p><p><b> JMP STTK</b></p><p&g
38、t;<b> KEY_5:</b></p><p> TEST AL, 20H</p><p><b> JNZ KEY_3</b></p><p><b> CALL KEY5</b></p><p><b> JMP STTK</b><
39、/p><p><b> KEY_3:</b></p><p> MOV DX, 0600H</p><p> MOV AL, 0F7H</p><p> OUT DX, AL</p><p> MOV DX, 0602H</p><p><b> IN A
40、L ,DX</b></p><p> TEST AL, 40H</p><p><b> JNZ KEY_4</b></p><p><b> CALL KEY3</b></p><p><b> JMP STTK</b></p><p&
41、gt;<b> KEY_4:</b></p><p> TEST AL, 20H</p><p><b> JNZ ABC</b></p><p><b> CALL KEY4</b></p><p><b> ABC:</b></p&g
42、t;<p><b> JMP STTK</b></p><p> ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ </p><p> KEY0: ;按鍵0處理子程序</p><p> CALL
43、LP1 ;低4位字節(jié)前移 </p><p> MOV AL, 00H</p><p> MOV [DI+5],AL</p><p> LEA BX, TABLE ;查表取出要顯示數(shù)字的數(shù)碼管段碼</p><p><b> XLAT <
44、/b></p><p> MOV [SI+5],AL</p><p> CALL DISP ;顯示</p><p> RET ; 返回</p><p><b> KEY7:</b></p>
45、;<p><b> CALL LP1</b></p><p> MOV AL, 07H</p><p> MOV [DI+5],AL</p><p> LEA BX, TABLE</p><p><b> XLAT </b></p><p> MOV
46、 [SI+5],AL</p><p><b> CALL DISP</b></p><p><b> RET</b></p><p><b> KEY1:</b></p><p><b> CALL LP1</b></p><p
47、> MOV AL, 01H</p><p> MOV [DI+5],AL</p><p> LEA BX, TABLE</p><p><b> XLAT </b></p><p> MOV [SI+5],AL</p><p><b> CALL DISP</b&
48、gt;</p><p><b> RET</b></p><p><b> KEY6:</b></p><p><b> CALL LP1</b></p><p> MOV AL, 06H</p><p> MOV [DI+5],AL</
49、p><p> LEA BX, TABLE</p><p><b> XLAT </b></p><p> MOV [SI+5],AL</p><p><b> CALL DISP</b></p><p><b> RET </b></p&g
50、t;<p><b> KEY2: </b></p><p><b> CALL LP1</b></p><p> MOV AL, 02H</p><p> MOV [DI+5],AL</p><p> LEA BX, TABLE</p><p><
51、;b> XLAT </b></p><p> MOV [SI+5],AL</p><p><b> CALL DISP</b></p><p><b> RET</b></p><p><b> KEY5:</b></p><p&
52、gt;<b> CALL LP1</b></p><p> MOV AL, 05H</p><p> MOV [DI+5],AL</p><p> LEA BX, TABLE</p><p><b> XLAT </b></p><p> MOV [SI+5],A
53、L</p><p><b> CALL DISP</b></p><p><b> RET</b></p><p><b> KEY3:</b></p><p><b> CALL LP1</b></p><p> MOV
54、 AL, 03H</p><p> MOV [DI+5],AL</p><p> LEA BX, TABLE</p><p><b> XLAT</b></p><p> MOV [SI+5],AL</p><p><b> CALL DISP</b></p&
55、gt;<p><b> RET </b></p><p> KEY4: </p><p><b> CALL LP1</b></p><p> MOV AL, 04H</p><p> MOV [DI+5],AL&
56、lt;/p><p> LEA BX, TABLE</p><p><b> XLAT </b></p><p> MOV [SI+5],AL</p><p><b> CALL DISP</b></p><p><b> RET </b></
57、p><p> ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</p><p> LP1: ;數(shù)據(jù)移位保存子程序(前移四位)</p><p> MOV CX, 0005H</p><p> MOV SI, OFFSET VAR2</p
58、><p> MOV DI, OFFSET VAR3</p><p><b> LP2:</b></p><p> MOV AL, [SI+4]</p><p> MOV [SI+5],AL</p><p> MOV AL, [DI+4]</p><p> MOV [
59、DI+5],AL</p><p><b> DEC SI</b></p><p><b> DEC DI</b></p><p><b> LOOP LP2</b></p><p><b> RET</b></p><p>
60、 ??;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ </p><p> DISP: ;顯示子程序</p><p> MOV SI, OFFSET VAR1</p><p> MOV DI, OFFSET VAR2&
61、lt;/p><p> MOV CX, 0006H</p><p><b> DIR:</b></p><p> MOV AL, [SI]</p><p> MOV DX, 0600H</p><p> OUT DX, AL</p><p> MOV AL, [DI]
62、</p><p> MOV DX, 0604H</p><p> OUT DX, AL</p><p><b> CALL TIME</b></p><p><b> INC SI</b></p><p><b> INC DI</b><
63、/p><p><b> LOOP DIR</b></p><p><b> RET</b></p><p> TIME: ;延時程序</p><p><b> PUSH AX</b></p>
64、<p><b> PUSH CX </b></p><p> MOV CX, 0005H</p><p><b> TIME1: </b></p><p> MOV AX, 00F0H</p><p><b> TIME2:</b></p>
65、<p><b> DEC AX</b></p><p><b> JNZ TIME2</b></p><p> LOOP TIME1</p><p><b> POP CX</b></p><p><b> POP AX</b><
66、/p><p><b> RET</b></p><p> ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</p><p> STTK: ;放鍵測試</p><p><b> CALL DISP</b></p
67、><p> MOV AL, 00H</p><p> MOV DX, 0600H</p><p> OUT DX, AL</p><p> MOV DX, 0602H</p><p><b> IN AL, DX</b></p><p> AND AL, 60H&l
68、t;/p><p> CMP AL, 60H</p><p><b> JNZ STTK</b></p><p><b> JMP STT</b></p><p> CODE ENDS </p><p> END START </p><p>&l
69、t;b> 程序三</b></p><p> 3.1 題目:編程實現(xiàn):</p><p> a). 定義鍵盤按鍵,12個為數(shù)字鍵0~F,4個功能鍵:加號+,除號÷,等號=, CLEAR 清零鍵;</p><p> b). 可進行四位16進制除法運算。</p><p> c). 可進行五位10進
70、制加法運算;</p><p><b> 流程圖:</b></p><p><b> 3.2源程序:</b></p><p> STACK SEGMENT STACK</p><p> DW 64 DUP (?)</p><p> STACK ENDS<
71、;/p><p> DATA SEGMENT </p><p> TABLE DB 0FCH, 60H, 0DAH, 0F2H, 66H, 0B6H, 0BEH, 0E0H</p><p> DB 0FEH, 0F6H, 0EEH, 3EH, 9CH, 7AH, 9EH, 8EH</p><p> VAR1 DB 0DFH,
72、0EFH,0F7H,0FBH,0FDH,0FEH ;數(shù)碼管位管</p><p> VAR2 DB 0FCH,0FCH,0FCH,0FCH,0FCH,0FCH </p><p> VAR3 DB 00H,00H,00H,00H,00H,00H ;當(dāng)前值</p><p> VAR4 DB 00H,0
73、0H,00H,00H,00H,00H ;保存值</p><p><b> DATA ENDS</b></p><p> CODE SEGMENT</p><p> ASSUME CS:CODE, DS:DATA</p><p><b> START:</b><
74、;/p><p> MOV AX, DATA</p><p> MOV DS, AX</p><p> MOV AL, 82H ;8255初始化</p><p> MOV DX, 0606H</p><p> OUT DX, AL</p><p&g
75、t; MOV BX, 0000H ;BX清零</p><p> STT: ;按鍵測試 </p><p> MOV AL, 00H</p><p> MOV DX, 0600H</p><p> OU
76、T DX, AL</p><p> MOV DX, 0602H</p><p> IN AL, DX</p><p> AND AL, 78H</p><p> CMP AL, 78H</p><p> JNZ KEYKEY</p><p> CALL DISP
77、 ;調(diào)用顯示程序</p><p><b> JMP STT</b></p><p><b> KEYKEY:</b></p><p> CALL TIME ;延時,去抖動</p><p> MOV DX,
78、 0602H </p><p><b> IN AL, DX</b></p><p> AND AL, 78H</p><p> CMP AL, 78H</p><p><b> JNZ KEY</b></p><p><b> JMP STT</b
79、></p><p> KEY: ; 鍵盤掃描識別</p><p> MOV DX, 0600H</p><p> MOV AL, 0FEH</p><p> OUT DX, AL</p><p> MOV DX, 0602H</p>
80、<p><b> IN AL, DX</b></p><p> TEST AL, 08H</p><p><b> JNZ KEY_B</b></p><p><b> CALL KEYF</b></p><p><b> JMP STTK<
81、;/b></p><p><b> KEY_B:</b></p><p> TEST AL, 10H</p><p><b> JNZ KEY_7</b></p><p><b> CALL KEYB</b></p><p><b&g
82、t; JMP STTK</b></p><p> KEY_7: </p><p> TEST AL, 20H</p><p> JNZ KEY_JIA</p><p><b> CALL KEY7</b></p><p>
83、<b> JMP STTK</b></p><p> KEY_JIA: ;掃描加號鍵</p><p> TEST AL, 40H</p><p><b> JNZ KEY_E</b></p><p> CALL KEYJIA</
84、p><p><b> JMP STTK</b></p><p> KEY_E: </p><p> MOV DX, 0600H</p><p> MOV AL, 0FDH</p><p> OUT DX, AL</p><p> MOV DX, 060
85、2H</p><p><b> IN AL, DX</b></p><p> TEST AL, 08H</p><p><b> JNZ KEY_A</b></p><p><b> CALL KEYE</b></p><p><b>
86、 JMP STTK</b></p><p> KEY_A: </p><p> TEST AL, 10H</p><p><b> JNZ KEY_6</b></p><p><b> CALL KEYA</b></p><p&
87、gt;<b> JMP STTK</b></p><p> KEY_6: </p><p> TEST AL, 20H</p><p> JNZ KEY_CHU</p><p><b> CALL KEY6</b></p><p><b>
88、 JMP STTK</b></p><p> KEY_CHU: ;掃描除號鍵 </p><p> TEST AL, 40H</p><p><b> JNZ KEY_D</b></p><p> CALL KEYCHU</p&
89、gt;<p><b> JMP STTK</b></p><p> KEY_D: </p><p> MOV DX, 0600H</p><p> MOV AL, 0FBH</p><p> OUT DX, AL</p><p> MOV DX, 0602H
90、</p><p><b> IN AL, DX</b></p><p> TEST AL, 08H</p><p><b> JNZ KEY_9</b></p><p><b> CALL KEYD</b></p><p><b>
91、JMP STTK</b></p><p><b> KEY_9:</b></p><p> TEST AL, 10H</p><p><b> JNZ KEY_5</b></p><p><b> CALL KEY9</b></p><p
92、><b> JMP STTK</b></p><p><b> KEY_5:</b></p><p> TEST AL, 20H</p><p> JNZ KEY_DENG</p><p><b> CALL KEY5</b></p><p&
93、gt;<b> JMP STTK</b></p><p> KEY_DENG: ;掃描等號鍵 </p><p> TEST AL, 40H</p><p> JNZ KEY_CLEAR</p><p> CALL KEYDENG<
94、/p><p><b> JMP STTK</b></p><p> KEY_CLEAR: ;掃描清零鍵</p><p> MOV DX, 0600H</p><p> MOV AL, 0F7H</p><p> OUT DX, AL&l
95、t;/p><p> MOV DX, 0602H</p><p><b> IN AL, DX</b></p><p> TEST AL, 08H</p><p><b> JNZ KEY_8</b></p><p> CALL CLEAR</p><
96、p><b> JMP STTK</b></p><p> KEY_8: </p><p> TEST AL, 10H</p><p><b> JNZ KEY_4</b></p><p><b> CALL KEY8</b></p>
97、<p><b> JMP STTK</b></p><p><b> KEY_4:</b></p><p> TEST AL, 20H</p><p><b> JNZ KEY_3</b></p><p><b> CALL KEY4</b&
98、gt;</p><p><b> JMP STTK</b></p><p> KEY_3: </p><p> TEST AL, 40H</p><p><b> JNZ ABC</b></p><p><b> CALL
99、KEY3</b></p><p> ABC: </p><p><b> JMP STTK</b></p><p> ?。粇~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ </p><p> KEYF:
100、 ;按鍵F處理子程序 </p><p> CMP BH, 00H</p><p> JZ KEYF_1 ;未按過符號鍵, 不清零</p><p> CALL CLEAR ;按過符號鍵, 清零</p><p> KEYF_1:
101、 </p><p> CALL LP1 ;調(diào)用保存子程序</p><p> MOV AL, 8EH</p><p> MOV [SI+5], AL</p><p> MOV AL, 0FH</p><p> MOV [DI+5], AL</p><p&
102、gt; CALL DISP ;顯示</p><p> RET ;返回 </p><p> KEYB: </p><p> CMP BH, 00H</p><p><b> JZ KEYB_1</b
103、></p><p> CALL CLEAR</p><p> KEYB_1: </p><p><b> CALL LP1</b></p><p> MOV AL, 3EH</p><p> MOV [SI+5], AL</p><p> M
104、OV AL, 0BH</p><p> MOV [DI+5], AL</p><p><b> CALL DISP</b></p><p> RET </p><p> KEY7: </p><p> CMP BH, 00H</p><p&
105、gt;<b> JZ KEY7_1</b></p><p> CALL CLEAR</p><p> KEY7_1: </p><p><b> CALL LP1</b></p><p> MOV AL, 0E0H</p><p> MOV [SI+
106、5], AL</p><p> MOV AL, 07H</p><p> MOV [DI+5], AL</p><p><b> CALL DISP</b></p><p> RET </p><p> KEYE: </p><p>
107、 CMP BH, 00H</p><p><b> JZ KEYE_1</b></p><p> CALL CLEAR</p><p> KEYE_1: </p><p><b> CALL LP1</b></p><p> MOV AL, 9EH&l
108、t;/p><p> MOV [SI+5], AL</p><p> MOV AL, 0EH</p><p> MOV [DI+5], AL</p><p><b> CALL DISP</b></p><p> RET </p><p> KEYA:
109、 </p><p> CMP BH, 00H</p><p><b> JZ KEYA_1</b></p><p> CALL CLEAR</p><p> KEYA_1: </p><p><b> CALL LP1</b></p&
110、gt;<p> MOV AL, 0EEH</p><p> MOV [SI+5], AL</p><p> MOV AL, 0AH</p><p> MOV [DI+5], AL</p><p><b> CALL DISP</b></p><p> RET
111、 </p><p> KEY6: </p><p> CMP BH, 00H</p><p><b> JZ KEY6_1</b></p><p> CALL CLEAR</p><p> KEY6_1: </p><p><b&
112、gt; CALL LP1</b></p><p> MOV AL, 0BEH</p><p> MOV [SI+5], AL</p><p> MOV AL, 06H</p><p> MOV [DI+5], AL</p><p><b> CALL DISP</b><
113、;/p><p><b> RET</b></p><p> KEYD: </p><p> CMP BH, 00H</p><p><b> JZ KEYD_1</b></p><p> CALL CLEAR</p><p> K
114、EYD_1: </p><p><b> CALL LP1</b></p><p> MOV AL, 7AH</p><p> MOV [SI+5], AL</p><p> MOV AL, 0DH</p><p> MOV [DI+5], AL</p>&l
115、t;p><b> CALL DISP</b></p><p><b> RET</b></p><p> KEY9: </p><p> CMP BH, 00H</p><p><b> JZ KEY9_1</b></p><p
116、> CALL CLEAR</p><p> KEY9_1: </p><p><b> CALL LP1</b></p><p> MOV AL, 0F6H</p><p> MOV [SI+5], AL</p><p> MOV AL, 09H</p>
117、<p> MOV [DI+5], AL</p><p><b> CALL DISP</b></p><p><b> RET</b></p><p> KEY5: </p><p> CMP BH, 00H</p><p><b&
118、gt; JZ KEY5_1</b></p><p> CALL CLEAR</p><p> KEY5_1: </p><p><b> CALL LP1</b></p><p> MOV AL, 0B6H</p><p> MOV [SI+5], AL<
119、;/p><p> MOV AL, 05H</p><p> MOV [DI+5], AL</p><p><b> CALL DISP</b></p><p><b> RET</b></p><p> KEY8: </p><p>
120、; CMP BH, 00H</p><p><b> JZ KEY8_1</b></p><p> CALL CLEAR</p><p> KEY8_1: </p><p><b> CALL LP1</b></p><p> MOV AL, 0FE
121、H</p><p> MOV [SI+5], AL</p><p> MOV AL, 08H</p><p> MOV [DI+5], AL</p><p><b> CALL DISP</b></p><p><b> RET</b></p><
122、;p> KEY4: </p><p> CMP BH, 00H</p><p><b> JZ KEY4_1</b></p><p> CALL CLEAR</p><p> KEY4_1: </p><p><b> CALL LP1<
123、;/b></p><p> MOV AL, 66H</p><p> MOV [SI+5], AL</p><p> MOV AL, 04H</p><p> MOV [DI+5], AL</p><p><b> CALL DISP</b></p><p>
124、;<b> RET</b></p><p> KEY3: </p><p> CMP BH, 00H</p><p><b> JZ KEY3_1</b></p><p> CALL CLEAR</p><p> KEY3_1: <
125、;/p><p><b> CALL LP1</b></p><p> MOV AL, 0F2H</p><p> MOV [SI+5], AL</p><p> MOV AL, 03H</p><p> MOV [DI+5], AL</p><p><b>
126、 CALL DISP</b></p><p><b> RET</b></p><p> KEYJIA: ;加號處理子程序</p><p> CMP BH, 00H</p><p> JNZ KEYJIA_1</p><
127、p><b> CALL LP3</b></p><p><b> KEYJIA_1:</b></p><p> MOV BX, 0101H ;加號標(biāo)志</p><p><b> RET</b></p><p> KEYCHU:
128、 ;除號處理子程序</p><p> CMP BH, 00H</p><p> JNZ KEYCHU_1</p><p><b> CALL LP3</b></p><p> KEYCHU_1: </p><p
129、> MOV BX, 0102H ;除號標(biāo)志</p><p><b> RET</b></p><p> KEYDENG: ;等號處理子程序</p><p> MOV BH, 01H</p><p> CMP BL, 01H&l
130、t;/p><p> JZ K1 ;加法判斷處理</p><p> CMP BL, 02H</p><p> JZ K2 ;除法判斷處理</p><p> STTE: </p><p><b> RET</
131、b></p><p> K1: ;調(diào)用加法處理子程序</p><p><b> CALL ADD1</b></p><p><b> JMP STTE</b></p><p> K2:
132、;調(diào)用除法處理子程序</p><p><b> CALL DIV1</b></p><p><b> JMP STTE</b></p><p> CLEAR: ;清零子程序</p><p> LEA SI, VAR2</p><
133、p> LEA DI, VAR3</p><p> MOV CX, 0006H</p><p> CLEAR_1: ; 當(dāng)前值清零</p><p> MOV AL, 0FCH</p><p> MOV [SI], AL</p><p> MOV AL, 00H&l
134、t;/p><p> MOV [DI], AL</p><p><b> INC SI</b></p><p><b> INC DI</b></p><p> LOOP CLEAR_1</p><p> MOV BH, 00H</p><p>&
135、lt;b> RET</b></p><p> ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</p><p> ADD1: </p><p> MOV SI, OFFSET VAR3</p><p> MOV DI, OFFSET VAR4</p>
136、<p><b> CLC</b></p><p> MOV CX, 0006H ;這里調(diào)整幾位加法</p><p> ADD_1: </p><p> MOV AL, [DI]</p><p> ADC AL, [SI]</p><p><b>
137、; AAA</b></p><p> MOV [DI], AL</p><p><b> INC SI</b></p><p><b> INC DI</b></p><p> LOOP ADD_1</p><p> CALL CHANGE</p
138、><p><b> CALL DISP</b></p><p><b> RET</b></p><p> ?。粇~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ </p><p> DIV1:
139、 ;除法子程序</p><p> PUSH BX ;BX入堆棧</p><p> MOV SI, OFFSET VAR3</p><p> MOV DI, OFFSET VAR4 </p><p> XOR DX, DX</p><p> XOR AX,
140、 AX</p><p> CLC </p><p> MOV CL, 04H ;當(dāng)前值處理, 變?yōu)?6進制數(shù)</p><p> MOV BX, [SI+2]</p><p> SAL BH, CL</p><p> ADD BH, BL</p><
141、;p> MOV BL, [SI+1] </p><p> SHL BL, CL</p><p> ADD BL, [SI]</p><p><b> CLC</b></p><p> MOV AX, [DI+2]</p><p> SHL AH, CL</p>&
142、lt;p> ADD AH, AL</p><p> MOV AL, [DI+1]</p><p> SHL AL, CL</p><p> ADD AL, [DI]</p><p><b> CLC </b></p><p> DIV BX
143、 ;AX除BX</p><p> MOV BX, AX </p><p> AND AL, 0FH ;AX的值 經(jīng)處理變?yōu)楫?dāng)前值</p><p> MOV [DI], AL</p><p> AND BL, 0F0H</p><p> SHR BL, CL&l
144、t;/p><p> MOV [DI+1], BL</p><p> AND AH, 0FH</p><p> MOV [DI+2], AH</p><p> AND BH, 0F0H</p><p> SHR BH, CL</p><p> MOV [DI+3], BH</p>
145、;<p> CALL CHANGE</p><p> POP BX ;BX出堆棧</p><p> CALL DISP </p><p><b> RET</b></p><p> ??;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
146、~~</p><p> LP1: ;數(shù)據(jù)移位保存程序 </p><p> MOV SI, OFFSET VAR2</p><p> MOV DI, OFFSET VAR3</p><p> MOV CX, 0005H</p><p> L
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 微機課程設(shè)計--計算器
- 微機課程設(shè)計--簡易計算器
- 微機原理簡易計算器課程設(shè)計
- 微機原理課程設(shè)計--簡易計算器設(shè)計
- 課程設(shè)計-計算器
- 計算器java課程設(shè)計--簡單計算器
- 計算器課程設(shè)計---計算器仿真程序設(shè)計
- java課程設(shè)計—計算器
- java課程設(shè)計計算器
- java計算器課程設(shè)計
- 計算器課程設(shè)計報告
- 簡易計算器課程設(shè)計
- 軟件課程設(shè)計計算器
- java課程設(shè)計--計算器
- java課程設(shè)計計算器
- 簡易計算器課程設(shè)計
- 簡易計算器課程設(shè)計
- java課程設(shè)計---計算器
- 簡單計算器課程設(shè)計
- 課程設(shè)計計算器模擬
評論
0/150
提交評論