版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 微機(jī)原理與匯編語(yǔ)言</b></p><p><b> 課程設(shè)計(jì)任務(wù)書</b></p><p> 2009/2010 學(xué)年第 二 學(xué)期</p><p> 下達(dá)任務(wù)書日期: 2010 年 6 月 12 日</p><p> 微機(jī)原理與匯編語(yǔ)言課程設(shè)計(jì)任務(wù)書&l
2、t;/p><p><b> 中北大學(xué)</b></p><p><b> 微機(jī)原理與匯編語(yǔ)言</b></p><p> 課 程 設(shè) 計(jì) 說 明 書</p><p> 2010 年 6月24日</p><p><b> 1. 引言</b></p
3、><p> 通過微機(jī)原理與匯編語(yǔ)言課程設(shè)計(jì),使學(xué)生根據(jù)所學(xué)的微機(jī)原理與匯編語(yǔ)言知識(shí),進(jìn)一步學(xué)習(xí)掌握匯編語(yǔ)言程序設(shè)計(jì)知識(shí),充分理解計(jì)算機(jī)內(nèi)部的管理、接口內(nèi)容以及系統(tǒng)功能調(diào)用。能針對(duì)一個(gè)簡(jiǎn)單的控制或匯編語(yǔ)言程序設(shè)計(jì)項(xiàng)目,做出分析,設(shè)計(jì)其硬件、軟件,達(dá)到預(yù)期的控制目的。</p><p><b> 2.需求分析</b></p><p> “時(shí)鐘功能處
4、理程序”是運(yùn)行于Windows 系統(tǒng)下的應(yīng)用軟件,主要用于實(shí)現(xiàn)時(shí)鐘顯示 時(shí)鐘調(diào)整以及倒計(jì)時(shí)功能。</p><p> 此程序?yàn)橛脩籼峁┝艘粋€(gè)簡(jiǎn)單的人機(jī)對(duì)話界面。在屏幕上顯示系統(tǒng)當(dāng)前的時(shí)間以及操作方法,它可以接受用戶對(duì)系統(tǒng)系統(tǒng)時(shí)間 顏色 聲音的常規(guī)性修改,并在確認(rèn)修改后實(shí)現(xiàn)定時(shí)鬧鐘,畫面顏色更改等功能。</p><p><b> 3.總體設(shè)計(jì)</b></p>
5、;<p> 下面從程序的整體流程、各個(gè)功能模塊以及數(shù)據(jù)結(jié)構(gòu)幾個(gè)方面進(jìn)行總體設(shè)計(jì)。</p><p> 本程序的設(shè)計(jì)基本是參照《微型計(jì)算機(jī)原理與接口技術(shù)》教程里“匯編語(yǔ)言程序設(shè)計(jì)”一章中的DOS功能調(diào)用,中斷程序的代碼,然后設(shè)計(jì)出本程序各子程序的代碼。</p><p> 關(guān)于時(shí)鐘信息的更新,由于試了好久都無(wú)法常駐內(nèi)存,所以這里只好用最原始的辦法——延時(shí)與循環(huán)。延時(shí)的子程序是
6、參照其他教程中發(fā)聲程序的延時(shí)程序,利用in al,61h獲得與cpu頻率無(wú)關(guān)的延時(shí)。</p><p><b> 4. 詳細(xì)設(shè)計(jì)</b></p><p> 文件讀寫主要是在鍵盤上輸入信息,在界面上實(shí)現(xiàn)定時(shí)器對(duì)聲音,顏色,倒計(jì)時(shí)的控制。</p><p> Press a to change the time 12-24 ! 按a鍵可實(shí)現(xiàn)時(shí)間1
7、2制到24制的轉(zhuǎn)換</p><p> Press c to edit the alarm time ! 按c鍵可實(shí)現(xiàn)對(duì)鬧鐘的設(shè)定。</p><p> Press Q ~ t to change color !按W=T可實(shí)現(xiàn)界面顏色的更改。</p><p> Press b to reset!按b鍵可以重置時(shí)間。</p><p> Pr
8、ess x to edit the final countdown!按x鍵可實(shí)現(xiàn)倒計(jì)時(shí)功能。</p><p> Press ESC to exit ESC鍵為推出此界面。</p><p><b> 程序流程圖</b></p><p><b> 5. 軟件測(cè)試</b></p><p><b
9、> 圖1 總界面</b></p><p> 圖2 字母a12制到24制小時(shí)轉(zhuǎn)換</p><p> 圖3 字母T實(shí)現(xiàn)界面顏色的轉(zhuǎn)換</p><p><b> 6. 程序清單</b></p><p> guangbiao MACRO num1,num2 ;;帶參數(shù)的宏</p>
10、<p> mov bh,0h ;;本宏用于置光標(biāo)的位置</p><p> mov ah,2h</p><p> mov dh,num1</p><p> mov dl,num2</p><p> int 10h</p><p><b&g
11、t; endm</b></p><p> dispcolor macro color</p><p><b> push ax</b></p><p><b> push bx</b></p><p><b> push dx</b></p>
12、<p><b> push cx</b></p><p> mov ah,02h ;;設(shè)置調(diào)色板和邊框</p><p><b> mov dh,0</b></p><p><b> mov dl,0</b></p><p><b> mo
13、v bh,0</b></p><p><b> int 10h</b></p><p> mov ah,9 ;;讀取調(diào)色板和邊框 在當(dāng)前光標(biāo)處按指定屬性顯示字符 </p><p> mov bl,color</p><p> mov cx,2000</p><p>
14、 mov al,' '</p><p><b> int 10h</b></p><p> guangbiao 0,0</p><p> call showmenu</p><p><b> pop cx</b></p><p><b>
15、 pop dx</b></p><p><b> pop bx</b></p><p><b> pop ax</b></p><p><b> endm</b></p><p> .model small</p><p><b
16、> .stack</b></p><p><b> .data</b></p><p><b> .code</b></p><p><b> .startup</b></p><p> jmp install</p><p>
17、;<b> ;大海音樂(默認(rèn))</b></p><p> freq dw 196,220</p><p> dw 262,262,262,262,262,220,196</p><p> dw 262,262,262,262,294,262,220,262 </p><p> dw 294,294
18、,294,294,294,262,220 </p><p> dw 294,294,294,294,330,294,330,392 </p><p> dw 440,440,392,440,392,330 </p><p> dw 294,294,330,294,262,220,196,220 </p><p> dw
19、 262,262,262,262,262,220 </p><p> dw 262,196,220 </p><p> dw 440,440,392,440,524,440 </p><p> dw 392,330,294,262,220,196,220 </p><p> dw 262,262,262,262,294
20、,262 </p><p> dw 262,330,392 </p><p> dw 440,440,440,440,524,440 </p><p> dw 392,392,392,440,392,330,294 </p><p> dw 262,262,262,262,294 </p><p
21、> dw 330,330,294 </p><p> dw 262,262,262,262,524,440 </p><p> dw 392,392,392,440,392,330,392 </p><p> dw 440,524,524,440,392 </p><p> dw 392,330,392 &
22、lt;/p><p> dw 440,440,440,440,524,440 </p><p> dw 392,392,392,440,392,330,294 </p><p> dw 262,262,262,262,392 </p><p> dw 330,330,294 </p><p> dw
23、 262,262,262,262,294,330 </p><p> dw 392,392,330,392,330,392 </p><p><b> dw 440 </b></p><p> dw 9,9,196,660,294,294,262 </p><p> dw 262,-1 </
24、p><p> ;音樂頻率表 </p><p> time dw 400,400 </p><p> dw 400,200,400,400,800,400,400 </p><p> dw 400,200,400,200,200,800,400,400 </p><p> dw 400,
25、200,400,400,800,400,400 </p><p> dw 400,200,400,200,200,800,400,400 </p><p> dw 400,800,400,800,400,400 </p><p> dw 400,200,200,400,400,800,400,400 </p><p>
26、 dw 400,200,400,400,800,800 </p><p> dw 1600,800,800 </p><p> dw 400,800,400,800,400,400 </p><p> dw 400,400,400,400,800,400,400 </p><p> dw 400,800,400,800
27、,400,200 </p><p> dw 2400,400,400 </p><p> dw 400,800,400,800,400,400 </p><p> dw 400,800,200,200,800,400,400 </p><p> dw 400,800,400,800,800 </p>
28、<p> dw 2400,400,400 </p><p> dw 400,800,400,800,400,400 </p><p> dw 400,800,200,200,800,400,400 </p><p> dw 800,400,800,400,200 </p><p> dw 2400,400,
29、400 </p><p> dw 400,800,400,800,400,400 </p><p> dw 400,800,200,200,800,400,400 </p><p> dw 400,800,400,800,800 </p><p> dw 2400,400,400 </p><p
30、> dw 400,800,400,800,400,400 </p><p> dw 400,800,400,800,400,400 </p><p> dw 3200 </p><p> dw 800,400,400,400,400,400,400 </p><p> dw 4000 </p>
31、<p><b> ;延時(shí)表 </b></p><p> freq0 dw 262,294,330,262 </p><p> dw 330,349,392 </p><p> dw 392,440,392,349,330,262</p><p> dw
32、 294,196,262</p><p> time0 dw 1600,800,800,1600 </p><p> dw 400,400,400,400,800,800 </p><p> dw 800,800,1600</p><p><b> ;兩只老虎音樂&
33、lt;/b></p><p> menudb ' ***************ELECTRONIC CLOCK*************** ',0ah,0dh </p><p> db ' 1.Press a to change the time 12-24 ! ',0ah,0dh </p><p> db '
34、; ',0ah,0dh </p><p> db ' 2.Press c to edit the alarm time ! (press s to stop)',0ah,0dh </p><p> db ' ',0ah,0dh</p><p> db ' 3.Press x to edit the final c
35、ountdown !(press s to stop) ',0ah,0dh </p><p> db ' ',0ah,0dh</p><p> db ' 4.Press Q ~ t to change color !',0ah,0dh </p><p> db ' ',0ah,0dh </p>
36、<p> db ' 5.Press b to reset',0ah,0dh</p><p> db ' ',0ah,0dh </p><p> db ' 6.Press ESC to exit',0ah,0dh,'$' </p><p> tc db 'Ple
37、ase input the alarmtime (hh:mm:ss):','$'</p><p> tc_buff db 40 </p><p><b> db ? </b></p><p> db 40 dup (?)</p><p> temp_hdb ?</p>
38、<p> temp_mdb ?</p><p> temp_sdb ?</p><p> tx db 'Please input the final countdown time(00-99):','$'</p><p> tx_buff db 40 </p><p>
39、;<b> db ? </b></p><p> db 40 dup (?)</p><p> txtemp db ?</p><p> msg db 'Current time is: ' </p><p> time_h db ?,?</p><p>&
40、lt;b> db ':'</b></p><p> time_m db ?,? </p><p><b> db ':'</b></p><p> time_sdb ?,?,0,0</p><p> hoursdb ?</p><p&g
41、t; secondsdb 0</p><p> flag1db 0</p><p> flag2db 0</p><p> flag3db 0</p><p> oldint1c dd ?</p><p> newint1c proc</p><p><b>
42、 push ax</b></p><p><b> push bx</b></p><p><b> push cx</b></p><p><b> push dx</b></p><p><b> push si</b></p
43、><p><b> push di</b></p><p><b> push es</b></p><p> cmp flag1,01h</p><p><b> jnz acd</b></p><p> call showtxtemp</
44、p><p> acd: mov ax,0200h ;獲取系統(tǒng)時(shí)間,ch→hours cl→minutes DH→seconds,均為BCD碼格式</p><p><b> int 1ah</b></p><p> mov hours,ch;把小時(shí)送到hours中,以防變換12和24進(jìn)制后出現(xiàn)異常</p><p&
45、gt; cmp flag2,01h</p><p> jnz notchg</p><p> cmp ch,12h</p><p><b> jc notchg</b></p><p><b> mov al,ch</b></p><p><b> pu
46、shf</b></p><p> sub al,12h</p><p><b> das</b></p><p><b> popf</b></p><p><b> mov ch,al</b></p><p> notchg:c
47、mp flag1,01h;判斷是否開始倒計(jì)時(shí)</p><p><b> jnz notdo</b></p><p> cmp dh,seconds</p><p><b> jz notdo</b></p><p> mov seconds,dh</p><p>
48、 cmp txtemp,0h</p><p><b> jz notdo</b></p><p> mov al,txtemp</p><p><b> pushf</b></p><p> sub al,01h</p><p><b> das <
49、/b></p><p> mov txtemp,al</p><p><b> popf</b></p><p> notdo: mov al,ch</p><p> lea si,time_h</p><p><b> call bcd</b></p
50、><p><b> mov al,cl</b></p><p> lea si,time_m</p><p><b> call bcd</b></p><p><b> mov al,dh</b></p><p> lea si,time_s&l
51、t;/p><p><b> call bcd</b></p><p> mov ax,0b800h ;顯存地址 采用直接寫顯存的方法輸出字符</p><p> mov es,ax ;es:di 指向顯存地址</p><p> mov di,160*12+108d</p><p&g
52、t; lea si,msg</p><p> disp: mov al,cs:[si]</p><p><b> inc si</b></p><p><b> or al,al</b></p><p> jz disp0 ;cs=ds</p><p&g
53、t;<b> cld</b></p><p><b> stosb</b></p><p> inc di ;將cs:si指向的一個(gè)字節(jié)傳送到es:di</p><p><b> jmp disp</b></p><p> disp0: pop es&
54、lt;/p><p><b> pop di</b></p><p><b> pop si</b></p><p><b> pop dx</b></p><p><b> pop cx</b></p><p><b>
55、; pop bx</b></p><p><b> pop ax</b></p><p> jmp cs:oldint1c ;新1CH中斷的事情做完后調(diào)用原來(lái)的1CH中斷</p><p> iret;中斷返回</p><p> bcd: mov ah,al</p><
56、;p><b> shr ah,1</b></p><p><b> shr ah,1</b></p><p><b> shr ah,1</b></p><p><b> shr ah,1</b></p><p> and al,0fh&l
57、t;/p><p> add ax,'00'</p><p> xchg ah,al</p><p> mov cs:[si],ax</p><p><b> ret</b></p><p> newint1c endp;中斷結(jié)束</p><p>
58、showtxtemp proc</p><p><b> push ax</b></p><p><b> push es</b></p><p><b> push di</b></p><p><b> push si</b></p>
59、;<p> mov ax,0b800h </p><p> mov es,ax ;es:di 指向顯存地址</p><p> mov di,160*10+130d</p><p> mov al,txtemp</p><p><b> mov ah,al</b></p>
60、<p><b> shr ah,1</b></p><p><b> shr ah,1</b></p><p><b> shr ah,1</b></p><p><b> shr ah,1</b></p><p> and al,
61、0fh</p><p> add ax,'00'</p><p><b> push ax</b></p><p><b> mov al,ah</b></p><p><b> stosb</b></p><p><b&g
62、t; inc di</b></p><p><b> pop ax</b></p><p><b> stosb</b></p><p><b> pop si</b></p><p><b> pop di</b></p&g
63、t;<p><b> pop es</b></p><p><b> pop ax</b></p><p><b> ret</b></p><p> showtxtemp endp</p><p> edittime_c proc</p>
64、;<p><b> push ax</b></p><p><b> push bx</b></p><p><b> push cx</b></p><p><b> push dx</b></p><p><b> p
65、ushf</b></p><p> mov ah,0ch;清除鍵盤 緩沖區(qū)</p><p> int 21h </p><p> guangbiao 14,0</p><p> mov dx,offset tc ;顯示設(shè)置鬧鈴時(shí)間的格式提示</p><p> mov ah,0
66、9h</p><p><b> int 21h</b></p><p> mov dx,offset tc_buff</p><p> mov ah,0ah</p><p><b> int 21h</b></p><p> guangbiao 15,0</p
67、><p><b> add dx,0h</b></p><p> lea bx,tc_buff</p><p><b> inc bx</b></p><p><b> inc bx</b></p><p> mov dh,[bx]</p&g
68、t;<p> sub dh,30h ;將輸入數(shù)值0~9的ASCⅡ碼轉(zhuǎn)化成0~9的數(shù)字</p><p><b> inc bx</b></p><p> mov dl,[bx]</p><p> sub dl,30h</p><p> mov cl,10h</p><p
69、><b> mov al,dh</b></p><p><b> mul cl</b></p><p><b> add al,dl</b></p><p><b> mov ch,al</b></p><p> mov temp_h,al
70、;小時(shí)存放于temp_h變量中 </p><p><b> inc bx</b></p><p><b> inc bx</b></p><p> mov dh,[bx]</p><p> sub dh,30h</p>
71、<p><b> inc bx</b></p><p> mov dl,[bx]</p><p> sub dl,30h</p><p> mov cl,10h</p><p><b> mov al,dh</b></p><p><b>
72、mul cl</b></p><p><b> add al,dl</b></p><p><b> mov ch,al</b></p><p> mov temp_m,al ;分鐘存放于temp_m變量中</p><p><b> inc bx</b>
73、</p><p><b> inc bx</b></p><p> mov dh,[bx]</p><p> sub dh,30h</p><p><b> inc bx</b></p><p> mov dl,[bx]</p><p>
74、sub dl,30h</p><p> mov cl,10h</p><p><b> mov al,dh</b></p><p><b> mul cl</b></p><p><b> add al,dl</b></p><p><b&
75、gt; mov ch,al</b></p><p> mov temp_s,al ;秒鐘存放于temp_s變量中</p><p><b> popf</b></p><p><b> pop dx</b></p><p><b> pop cx</b>&
76、lt;/p><p><b> pop bx</b></p><p><b> pop ax</b></p><p><b> jmp comp</b></p><p><b> ret</b></p><p> edittim
77、e_c endp</p><p> edittime_x proc</p><p><b> push ax</b></p><p><b> push bx</b></p><p><b> push cx</b></p><p><b
78、> push dx</b></p><p><b> pushf</b></p><p> mov ah,0ch;清除鍵盤 緩沖區(qū)</p><p> int 21h </p><p> guangbiao 15,0</p><p> mov dx,off
79、set tx ;顯示設(shè)置倒計(jì)時(shí)鬧鈴時(shí)間</p><p> mov ah,09h</p><p><b> int 21h</b></p><p> mov dx,offset tx_buff</p><p> mov ah,0ah</p><p><b> int 21h
80、</b></p><p> guangbiao 16,0</p><p><b> add dx,0h</b></p><p> lea bx,tx_buff</p><p><b> inc bx</b></p><p><b> inc b
81、x</b></p><p> mov dh,[bx]</p><p> sub dh,30h ;將輸入數(shù)值0~9的ASCⅡ碼轉(zhuǎn)化成0~9的數(shù)字</p><p><b> inc bx</b></p><p> mov dl,[bx]</p><p> sub dl,
82、30h</p><p> mov cl,10h</p><p><b> mov al,dh</b></p><p><b> mul cl</b></p><p><b> add al,dl</b></p><p><b> mo
83、v ch,al</b></p><p> mov txtemp,al;小時(shí)存放于txtemp變量中</p><p> mov flag1,01h;設(shè)置標(biāo)志位,以判斷是否要求倒計(jì)時(shí)</p><p><b> popf</b></p><p><b> pop dx</b><
84、;/p><p><b> pop cx</b></p><p><b> pop bx</b></p><p><b> pop ax</b></p><p><b> ret</b></p><p> edittime_x
85、endp</p><p> changecolor proc</p><p><b> push ax</b></p><p> in al,60h ;60h:鍵盤輸入數(shù)據(jù)緩沖區(qū)</p><p> cmp al,10h</p><p><b> jne i1&
86、lt;/b></p><p> dispcolor 41h ;Q顯示41h(紅底藍(lán)字)</p><p> i1: cmp al,11h</p><p><b> jne i2</b></p><p> dispcolor 20h ;W顯示20h(綠底黑字)</p>
87、<p> i2: cmp al,12h</p><p><b> jne i3</b></p><p> dispcolor 02h ;E顯示02h(黑底綠字)</p><p> i3: cmp al,13h</p><p><b> jne i
88、4</b></p><p> dispcolor 40h ;R顯示40h(紅底黑字)</p><p> i4: cmp al,14h</p><p><b> jne i5</b></p><p> dispcolor 0f0h ;T顯示0f0h(白底黑字)</p&g
89、t;<p> i5: pop ax</p><p><b> ret</b></p><p> changecolor endp</p><p> showmenu proc</p><p><b> push ax</b></p>&l
90、t;p><b> push dx</b></p><p> mov ah,09h</p><p> mov dx,offset menu</p><p><b> int 21h</b></p><p><b> pop dx</b></p>&l
91、t;p><b> pop ax</b></p><p><b> ret</b></p><p> showmenu endp</p><p> yinyue proc ;音樂子程序</p><p><b> push cs</b></p>
92、<p><b> pop ds</b></p><p> cmp flag3,01h</p><p><b> jnz l0</b></p><p> mov si,offset freq0</p><p> mov di,offset time0</p><
93、p><b> jmp l1</b></p><p> l0: mov si,offset freq</p><p> mov di,offset time</p><p> l1: mov cx,[si]</p><p><b> cmp cx,-1</b><
94、/p><p><b> jz return</b></p><p> mov bx,[di]</p><p> call gensound</p><p><b> add si,2</b></p><p><b> add di,2</b><
95、;/p><p><b> in al,60h</b></p><p> cmp al,1fh</p><p><b> jz return</b></p><p><b> jmp l1</b></p><p> return: mov flag1
96、,0h</p><p> mov flag3,0h</p><p> jmp f0 ;鬧鈴音樂結(jié)束返回主界面</p><p> yinyue endp </p><p> gensound proc near</p><p><b> push dx</b><
97、;/p><p> mov al,0b6h ;計(jì)數(shù)器選擇:計(jì)數(shù)器2;數(shù)據(jù)讀/寫格式:16 位計(jì)數(shù)先讀寫高字節(jié),后讀寫低字節(jié)</p><p> ;工作方式:工作方式3;數(shù)制選擇:二進(jìn)制</p><p> out 43h,al ;43H可編程中斷計(jì)時(shí)器,控制字寄存器(模式設(shè)置端口,寫入方式控制字)</p><p> mov dx,08h&l
98、t;/p><p> mov ax,3208h ;設(shè)置輸出頻率537096Hz(DX:AX)</p><p> div cx ;控制實(shí)際輸出頻率ax=537096Hz/cx</p><p> out 42h,al ;先寫入低 8位</p><p><b> mov al,ah</b></p>
99、<p> out 42h,al ;后寫入高 8位(參數(shù)據(jù)讀/寫格式及計(jì)數(shù)器選擇)</p><p> in al,61h ;取得設(shè)備控制寄存器開關(guān)量</p><p> mov ah,al ;暫存以下次恢復(fù)</p><p> or al,3 ;D0~D1=11接通揚(yáng)聲器</p><p> out 61h,a
100、l ;設(shè)置設(shè)備控制寄存器開關(guān)量</p><p> l2: push dx</p><p><b> push ax</b></p><p><b> mov dx,8h</b></p><p> mov ax,0f05h</p><p> s
101、1: sub ax,1</p><p> sbb dx,0 </p><p><b> jnz s1</b></p><p><b> pop ax</b></p><p><b> pop dx</b></p><
102、;p><b> dec bx</b></p><p><b> jnz l2</b></p><p><b> mov al,ah</b></p><p> out 61h,al</p><p><b> pop dx</b></p&
103、gt;<p><b> ret</b></p><p> gensound endp</p><p> check_c proc</p><p><b> push ax</b></p><p><b> push bx</b></p
104、><p><b> push cx</b></p><p><b> push dx</b></p><p><b> push si</b></p><p> mov ax,0200h</p><p><b> int 1ah</
105、b></p><p> mov ch,hours</p><p> cmp ch,temp_h </p><p><b> jnz cf</b></p><p> cmp cl,temp_m</p><p><b> jnz cf</b></p&g
106、t;<p> cmp dh,temp_s</p><p><b> jnz cf</b></p><p> call yinyue</p><p> cf:pop si</p><p><b> pop dx</b></p><p><b>
107、; pop cx</b></p><p><b> pop bx</b></p><p><b> pop ax</b></p><p><b> ret</b></p><p> check_c endp</p><p> ch
108、eck_x proc</p><p> cmp flag1,01h</p><p><b> jnz xf</b></p><p> cmp txtemp,00h</p><p><b> jnz xf</b></p><p> call yinyue</p&
109、gt;<p><b> xf:ret</b></p><p> check_x endp</p><p> install:push cs</p><p><b> pop ds</b></p><p> mov ax,351ch ;獲取中斷向量ES:BX指向中斷向量
110、</p><p><b> int 21h</b></p><p> mov word ptr oldint1c,bx</p><p> mov word ptr oldint1c+2,es</p><p> lea dx,newint1c</p><p> mov ax,251ch
111、 ;設(shè)置中斷向量 DS:DX指向中斷向量</p><p><b> int 21h</b></p><p> dispcolor 0f0h</p><p> guangbiao 14,0</p><p> comp:call changecolor</p><p> call che
112、ck_c</p><p> call check_x</p><p> f0:in al,60h</p><p> cmp al,2eh</p><p><b> jnz f1</b></p><p> call edittime_c</p><p> f1:
113、cmp al,2dh</p><p><b> jnz f2</b></p><p> call edittime_x </p><p> f2:cmp al,1eh</p><p><b> jnz f3</b></p><p> xor flag2,01
114、h;設(shè)置標(biāo)志位,以判斷是否要求變換12進(jìn)制和24進(jìn)制</p><p> f3:cmp al,30h;重置</p><p><b> jnz f4</b></p><p> dispcolor 0f0h</p><p> mov flag1,0h</p><p> mov flag2
115、,0h</p><p> mov flag3,0h</p><p> guangbiao 14,0</p><p> f4:cmp al,01h;按 ESC鍵退出</p><p><b> jnz f5</b></p><p><b> jmp quit</b>
116、</p><p> f5:cmp al,20h</p><p><b> jnz f6</b></p><p> xor flag3,01h</p><p> mov ah,0ch;清除鍵盤 緩沖區(qū) </p><p> int 21h </p><p>
117、 f6:jmp comp</p><p> quit: .exit 0</p><p><b> end</b></p><p><b> 7. 參考資料</b></p><p> [1]曹加恒等編.《新一代匯編語(yǔ)言課程設(shè)計(jì)》. 北京:高等教育出版社,2003.6.第20-40頁(yè)<
118、/p><p> [2]王爽編.《匯編語(yǔ)言》. 北京:清華大學(xué)出版社,2003.5.第50-78頁(yè)</p><p> [3]楊路明等編.《匯編語(yǔ)言程序設(shè)計(jì)》. 長(zhǎng)沙:中南大學(xué)出版社,2005.8.第112-200頁(yè)</p><p> [4]封博琴,吳寧.《微型計(jì)算機(jī)與接口技術(shù)》.北京:清華大學(xué)出版社,2007.4.第13-89頁(yè).</p><p&
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 微機(jī)原理與匯編語(yǔ)言課程設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)—— 定時(shí)器系統(tǒng)
- 匯編語(yǔ)言課程設(shè)計(jì)《定時(shí)顯示系統(tǒng)》
- 鍵盤鋼琴匯編語(yǔ)言程序設(shè)計(jì)—微機(jī)原理課程設(shè)計(jì)
- 鍵盤鋼琴匯編語(yǔ)言程序設(shè)計(jì)—微機(jī)原理課程設(shè)計(jì)
- 鍵盤鋼琴匯編語(yǔ)言程序設(shè)計(jì)—微機(jī)原理課程設(shè)計(jì)
- 匯編語(yǔ)言課程設(shè)計(jì)
- 匯編語(yǔ)言課程設(shè)計(jì)
- 匯編語(yǔ)言課程設(shè)計(jì)報(bào)告
- 《匯編語(yǔ)言》課程設(shè)計(jì)---用匯編語(yǔ)言進(jìn)行音樂動(dòng)畫功能的實(shí)現(xiàn)
- 微機(jī)原理與接口課程設(shè)計(jì)--用匯編語(yǔ)言編寫一個(gè)時(shí)鐘程序
- 匯編語(yǔ)言課程設(shè)計(jì)報(bào)告
- 匯編語(yǔ)言課程設(shè)計(jì)安排
- 音樂倒數(shù)定時(shí)器課程設(shè)計(jì)
- 匯編語(yǔ)言課程設(shè)計(jì)報(bào)告
- 匯編語(yǔ)言課程設(shè)計(jì)報(bào)告a
- 匯編語(yǔ)言課程設(shè)計(jì)--簡(jiǎn)單計(jì)算器設(shè)計(jì)
- 音樂提示定時(shí)器--課程設(shè)計(jì)
- 微機(jī)原理-多功能電子鐘課程設(shè)計(jì)
- 匯編語(yǔ)言程序設(shè)計(jì)-課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論