




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、目 錄1總體方案論證11.1題目功能分析11.2算法說明22流程圖設(shè)計(jì)及說明32.1主程序流程圖設(shè)計(jì)32.2分布具體功能實(shí)現(xiàn)流程圖設(shè)計(jì)42.2.1字符串右移42.2.2字符串下移52.2.3字符串閃爍63軟件設(shè)計(jì)關(guān)鍵問題或程序段落說明63.1提示輸入字符串顯示功能實(shí)現(xiàn)63.2向右、向下移動功能實(shí)現(xiàn)73.3字符串大小寫變化實(shí)現(xiàn)93.4顏色變化功能實(shí)現(xiàn)93.5退出功能實(shí)現(xiàn)94調(diào)試說明、結(jié)果記錄及分析104.1調(diào)試說明104.2結(jié)果記錄與分析104.2.1 提示輸入字符串104.2.2輸入后顯示字符串114.2.3在特定位置從無到有顯示114.2.4在特定位置向右移動124.2.5在特定位置向下移動
2、124.2.6小寫變成大寫加閃爍135課程設(shè)計(jì)收獲及心得146參考文獻(xiàn)14字符串動畫顯示匯編語言程序設(shè)計(jì)1總體方案論證1.1題目功能分析(1)屏幕提示輸入字符串;(2)輸入完成后,字符動畫顯示,顯示方式可為:從無到有,從左到右,從上到下,大小寫變化、顏色變化等;(3)可連續(xù)顯示或定時顯示,直至單擊“q”或“q”鍵退出程序。1.2算法說明(1)屏幕提示輸入字符串主要運(yùn)用中斷int 21h的0a h功能;(2)在確定光標(biāo)位置后,通過循環(huán)改變其行列數(shù)值來達(dá)到左右上下移動功能; 大小寫變化則通過將輸入字符與a和z比較,若為小寫字母,則減去20h,否 則不變; 顏色變化則通過int 10h的09h功能循
3、環(huán)調(diào)用實(shí)現(xiàn);(3)退出功能通過將輸入q和q與其asc比較,跳轉(zhuǎn)到退出程序;而退出程序主 要通過int 21h的4c h功能實(shí)現(xiàn)。 2流程圖設(shè)計(jì)及說明2.1主程序流程圖設(shè)計(jì)字符串右移結(jié)束開始 段地址初始化 進(jìn)入dos窗口輸出提示信息輸入字符串顯示輸入字符串yn字符串向下移動字符串小寫變大寫 三色變換閃爍按q,q?圖2-1 主程序流程圖 圖2-1 字符串動畫總流程圖2.2分布具體功能實(shí)現(xiàn)流程圖設(shè)計(jì)2.2.1字符串右移結(jié)束 輸完?獲取字符串yyn圖2-2 字符串右移流程圖開始 輸出字符串設(shè)置光標(biāo)起始位置延遲1輸出空白覆蓋字符串延遲2 結(jié)束?n橫坐標(biāo)更新2.2.2字符串下移結(jié)束 輸完?獲取字符串yyn
4、圖2-3 字符串下移流程圖開始 輸出字符串設(shè)置光標(biāo)起始位置延遲1輸出空白覆蓋字符串延遲2 結(jié)束?n縱坐標(biāo)更新2.2.3字符串閃爍結(jié)束y圖2-4 字符串閃爍流程圖n獲取字符串開始n是否輸完?y輸出字符串設(shè)置起始位置延遲1設(shè)置字符串顏色次數(shù)已到?3軟件設(shè)計(jì)關(guān)鍵問題或程序段落說明3.1提示輸入字符串顯示功能實(shí)現(xiàn) 屏幕提示輸入字符串主要運(yùn)用中斷int 21h的0a h功能,輸入后回車則完成字符串在特定位置的顯示。另外,在此段程序中,還通過用空字符串的逐個顯示來完成字符從無到有的功能實(shí)現(xiàn)。 lea dx,buf mov ah,0ah int 21h mov bx,2 ;多字符輸入,回車結(jié)束,有效內(nèi)容自第
5、三個始。 mov di,0b1: mov al,bufbx cmp al,13 ;是否是回車? je ag1 mov buff1di,al inc bx inc di jmp b1ag1: mov ah,0 mov al,2 int 10h;黑白文本other: mov cx,0ffffh;ag: mov dh,7 ;hang mov dl,35 ;lie mov ah,2 mov bh,0 ;頁號為0 int 10h ;置光標(biāo)位置 lea dx,buff1 mov ah,9 int 21h ;顯示字符串 mov dh,7 mov dl,35 mov ah,2 mov bh,0 int 10h
6、 ;置光標(biāo)位置 lea dx,buff2 mov ah,9 int 21h; sub cx,1 ; jnz ag ;不等于轉(zhuǎn)移3.2向右、向下移動功能實(shí)現(xiàn) 如流程圖可知,向下和向右移動,程序基本相同,只不過一個改變的是行,另一個改變的是列,以下以向右移動為例。主要通過int 10h 調(diào)用,且循環(huán)操作一定次數(shù)實(shí)現(xiàn)。其中,在下一次輸出時,為了清除前一個位置的輸出,用空字符串替代。另外,通過延時控制移動速度。程序如下: mov al,3 mov ah,0 int 10h ;16色文本 mov dl,0 ;字符串向右移動, 給出起始列bbb2: mov si,offset buff1 mov di,0
7、bbb1: mov dh,7 ;dh hang dl lie inc dl mov ah,2 int 10h ;置光標(biāo)位置 2號置光標(biāo)位置 9號指定輸出,每次顯示一個 mov ah,09 ;9號功能 inc di mov al,si inc si mov bh,0 ;顯示頁 mov bl,0eh ;color mov cx,01 ;顯示字符的次數(shù) int 10h cmp di,0fh ; 立即數(shù)大小取決于字符串大小 jb bbb1 call delay1 sub dl,0fh ; 設(shè)置列 mov si,offset buff2 mov di,0ccc1: mov dh,7 ;dh hang d
8、l lie inc dl mov ah,2 int 10h ;置光標(biāo)位置 mov ah,09 ;9號功能 inc di mov al,si inc si mov bh,0 ;顯示頁 mov bl,0eh ;color mov cx,01 ;字符重復(fù)一次 int 10h cmp di,0fh jb ccc1 call delay2 ; mov ah,07 ; int 21h 首先在一個位置輸出 然后輸出空白覆蓋掉在輸出下一個位置 cmp dl,25 jnb xiangxia ; 在這里跳出右移, 轉(zhuǎn)到向下 sub dl,0dh jmp bbb23.3字符串大小寫變化實(shí)現(xiàn) 因?yàn)樵赼sc表中大小寫相
9、差20h,所以通過將輸入字符與a和z比較,若為小寫字母,則減去20h,否則不變。程序如下:daxiaoxie: mov dl,7 mov dh,35 mov si,offset buff1 mov di,0a1: mov al,si cmp al,'$' je shansuo cmp al,'a' jb next cmp al,'z' ja next sub al,20h mov si,alnext:inc si jmp a13.4顏色變化功能實(shí)現(xiàn) 顏色變化功能實(shí)現(xiàn)相當(dāng)于對字符串屬性定義,表現(xiàn)出顏色差別,然后循環(huán)調(diào)用并插入延時。以下程序效果是三種
10、顏色閃爍,其中aaa1表示黃色,aaa2表示綠色,aaa3表示紅色。具體程序如下:shansuo: ;三種顏色閃爍 call aaa1 call delay1 call aaa2 call delay1 ;內(nèi)部轉(zhuǎn)換后 還是用bios 10h 9號功能調(diào)用 call aaa3 call delay1 jmp shansuo 3.5退出功能實(shí)現(xiàn) 退出功能通過將輸入q和q與其asc比較,跳轉(zhuǎn)到退出程序;而退出程序主要通過int 21h的4c h功能實(shí)現(xiàn)。 mov ah,08h;q鍵退出 int 21h cmp al,'q' je exit cmp al,'q'je e
11、xit exit: mov ah,4ch int 21h 4調(diào)試說明、結(jié)果記錄及分析4.1調(diào)試說明 所謂程序調(diào)試,是將編制的程序投入實(shí)際運(yùn)行前,用手工或編譯程序等方法進(jìn)行測試,修正語法錯誤和邏輯錯誤的過程。這是保證計(jì)算機(jī)信息系統(tǒng)正確性的必不可少的步驟。編完計(jì)算機(jī)程序,必須送入計(jì)算機(jī)中測試。 調(diào)試過程中出現(xiàn)很多問題。很多次,程序更改后得不到目標(biāo)文件,主要原因是編程過程中不夠細(xì)心,而且沒有整體把握。例如,有段名重復(fù)的錯誤,還有對調(diào)用不熟悉造成編程過程很痛苦。 4.2結(jié)果記錄與分析 4.2.1 提示輸入字符串 以下是在運(yùn)行程序后窗口出現(xiàn)的界面,提示輸入字符串以及按q或q退出。如圖3.1: 圖3.1
12、提示輸入字符串4.2.2輸入后顯示字符串以下是輸入字符串后按回車前顯示的界面。如圖3.2: 圖3.2 輸入字符串4.2.3在特定位置從無到有顯示 以下是按完回車鍵后依照程序設(shè)定位置,光標(biāo)先跳到第七行、第三十五列,然后逐個字符循環(huán)顯示字符串的界面對比。如圖3.3: 圖3.3 字符串從無到有4.2.4在特定位置向右移動 以下是字符串從第七行、第零列開始右移的對比界面。如圖3.4: 圖3.4 字符串右移4.2.5在特定位置向下移動 以下是字符串從第七行、第零列開始下移的對比界面。如圖3.5: 圖3.5 字符串下移4.2.6小寫變成大寫加閃爍 以下是字符串中所有小寫字母變成大寫后進(jìn)行黃、綠、紅依次變化
13、現(xiàn)象對比界面。如圖3.6: 圖3.6 字符串顏色變化5課程設(shè)計(jì)收獲及心得 學(xué)完微機(jī)原理與接口技術(shù),本以為自己學(xué)到的東西挺多,直到課程設(shè)計(jì)開始,才深刻了解到自己似乎只了解個皮毛。作為微原中的核心,匯編語言的程序設(shè)計(jì)在課程學(xué)習(xí)中只有一章,而且書本上的例題與這次課程設(shè)計(jì)任務(wù)相比,難度不大。 幾乎整整一周的微原課程設(shè)計(jì)結(jié)束,對于我,感受頗深,收獲頗多。除了一些以前學(xué)過的指令,最深的感觸是對中斷int 21h和int 10h中一些常用功能的運(yùn)用。經(jīng)過此次課程設(shè)計(jì),我通過自己查資料、自己設(shè)計(jì)編程到最后完成功能實(shí)現(xiàn),最終的成就感比平時更大,因?yàn)槲腋惺艿搅藢W(xué)以致用,將理論用于實(shí)際的效果。 在以后的學(xué)習(xí)中,我會
14、繼續(xù)保持這樣良好的態(tài)度對待任何學(xué)習(xí),不論是課程設(shè)計(jì)還是實(shí)習(xí),抑或只是平時課程學(xué)習(xí),我將為了提高自身實(shí)踐能力而有目的的學(xué)習(xí)與收獲,而不僅僅是為了應(yīng)付考試或者拿到學(xué)位證。6參考文獻(xiàn)1 彭虎等編著微機(jī)原理與接口技術(shù)(第二版)北京:電子工業(yè)出版社,20082 沈美明,溫東禪ibm-pc匯編語句程序設(shè)計(jì)(第2版)北京:清華大學(xué)出版社,20013 任向明,盧惠林匯編語言程序設(shè)計(jì)實(shí)用教程北京:清華大學(xué)出版社,20094 馬力妮80x86匯編語言程序設(shè)計(jì)北京:機(jī)械工業(yè)出版社,20045 艾德才pentium系列微型計(jì)算機(jī)原理與接口技術(shù)北京:高等教育出版社,2000附錄:程序清單data segmentbuff
15、1 db ' $' buff2 db ' $'buf db 100 dup('$')buff3 db 'please input a string !',13,10,'$'buff4 db 'press q or q to exit!',13,10,'$'data endscode segmentassume cs:code,ds:datastart: mov ax,data mov ds,ax lea dx,buff3;顯示提示信息 mov ah,09h int 21h lea d
16、x,buff4;顯示提示信息 mov ah,09h int 21h lea dx,buf mov ah,0ah int 21h mov bx,2 ;多字符輸入,回車結(jié)束,有效內(nèi)容自第三個始。 mov di,0b1: mov al,bufbx cmp al,13 ;是否是回車? je ag1 mov buff1di,al inc bx inc di jmp b1ag1: mov ah,0 mov al,2 int 10h;黑白文本other: mov cx,0ffffh;ag: mov dh,7 ;hang mov dl,35 ;lie mov ah,2 mov bh,0 ;頁號為0 int 1
17、0h ;置光標(biāo)位置 lea dx,buff1 mov ah,9 int 21h ;顯示字符串 mov dh,7 mov dl,35 mov ah,2 mov bh,0 int 10h ;置光標(biāo)位置 lea dx,buff2 mov ah,9 int 21h; sub cx,1 ; jnz ag ;不等于轉(zhuǎn)移;* mov al,3 mov ah,0 int 10h ;16色文本 mov dl,0 ;字符串向右移動, 給出起始列bbb2: mov si,offset buff1 mov di,0bbb1: mov dh,7 ;dh hang dl lie inc dl mov ah,2 int 1
18、0h ;置光標(biāo)位置 2號置光標(biāo)位置 9號指定輸出,每次顯示一個 mov ah,09 ;9號功能 inc di mov al,si inc si mov bh,0 ;顯示頁 mov bl,0eh ;color mov cx,01 ;顯示字符的次數(shù) int 10h cmp di,0fh ; 立即數(shù)大小取決于字符串大小 jb bbb1 call delay1;* sub dl,0fh ; 設(shè)置列 mov si,offset buff2 mov di,0ccc1: mov dh,7 ;dh hang dl lie inc dl mov ah,2 int 10h ;置光標(biāo)位置 mov ah,09 ;9號
19、功能 inc di mov al,si inc si mov bh,0 ;顯示頁 mov bl,0eh ;color mov cx,01 ;字符重復(fù)一次 int 10h cmp di,0fh jb ccc1 call delay2 ; mov ah,07 ; int 21h 首先在一個位置輸出 然后輸出空白覆蓋掉在輸出下一個位置 cmp dl,25 jnb xiangxia ; 在這里跳出右移, 轉(zhuǎn)到向下 sub dl,0dh jmp bbb2xiangxia: ;字符串向下移動 mov dl,0 mov dh,7 ;dh hang dl lieddd2: mov si,offset buff
20、1 mov di,0eee1: inc dl mov ah,2 int 10h ;置光標(biāo)位置 mov ah,09 ;9號功能 inc di mov al,si inc si mov bh,0 ;顯示頁 mov bl,0ah ;color mov cx,01 ;字符重復(fù)一次 int 10h cmp di,0fh jb eee1 call delay1 sub dl,0fh ; 列回到原處,輸出空白覆蓋 mov si,offset buff2 mov di,0fff1: inc dl mov ah,2 int 10h ;置光標(biāo)位置 mov ah,09 ;9號功能 inc di mov al,si
21、inc si mov bh,0 ;顯示頁 mov bl,0eh ;color mov cx,01 ;字符重復(fù)一次 int 10h cmp di,0fh jb fff1 call delay2 cmp dh,13 ;從第7行 下移到13行 退出到大小寫轉(zhuǎn)換 jnb daxiaoxie inc dh sub dl,0fh jmp ddd2 ;字符串向下移動 結(jié)束daxiaoxie: mov dl,7 mov dh,35 mov si,offset buff1 mov di,0a1: mov al,si cmp al,'$' je shansuo cmp al,'a'
22、 jb next cmp al,'z' ja next sub al,20h mov si,alnext:inc si jmp a1shansuo: ;三種顏色閃爍 call aaa1 call delay1 call aaa2 call delay1 ;內(nèi)部轉(zhuǎn)換后 還是用bios 10h 9號功能調(diào)用 call aaa3 call delay1 mov ah,08h;q鍵退出 int 21h cmp al,'q' je exit cmp al,'q' je exit jmp shansuo exit: mov ah,4ch int 21h ;*
23、aaa1 proc near ;黃色 mov si,offset buff1 mov di,0 mov dl,20aa1: mov dh,20 ;dh hang dl lie inc dl mov ah,2 int 10h ;置光標(biāo)位置 mov ah,09 ;9號功能 inc di mov al,si inc si mov bh,0 ;顯示頁 mov bl,0eh ;color mov cx,01 ;字符重復(fù)一次 int 10h cmp di,0ch jb aa1 retaaa1 endp;*aaa2 proc near ;綠色mov si,offset buff1mov di,0mov dl
24、,20aa2: mov dh,20 ;dh hang dl lieinc dlmov ah,2int 10h ;置光標(biāo)位置mov ah,09 ;9號功能inc dimov al,siinc simov bh,0 ;顯示頁mov bl,0ah ;colormov cx,01 ;字符重復(fù)一次int 10hcmp di,0chjb aa2retaaa2 endp;*aaa3 proc near ;紅色mov si,offset buff1mov di,0mov dl,20aa3: mov dh,20 ;dh hang dl lieinc dlmov ah,2int 10h ;置光標(biāo)位置mov ah,
25、09 ;9號功能inc dimov al,siinc simov bh,0 ;顯示頁mov bl,05h ;colormov cx,01 ;字符重復(fù)一次int 10hcmp di,0chjb aa3retaaa3 endp ;三種顏色閃爍;*delay1 proc nearpush cxpush bxmov bx,1fffhwait4: mov cx,0ffffhwait5: loop wait5dec bxjnz wait4pop bxpop cxretdelay1 endp; 延遲1 比延遲二長;*delay2 proc nearpush cxpush bxmov bx,0ffhwait2: mov cx,0ffffhwait3: loop wait3dec bxjnz wait2pop bxpop cxretdelay2 endp ;字符串向右移動結(jié)束code endsend start本科生課程設(shè)計(jì)成績評定表姓 名張丹性 別女專業(yè)、班級 自動化專業(yè)、自動化0805班課程設(shè)計(jì)題目:字符串動畫顯示匯編
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 大方天麻林下仿野生種植技術(shù)應(yīng)用的環(huán)境條件和詳細(xì)步驟分析
- 湖北省武漢市二中廣雅中學(xué)2024-2025學(xué)年九年級下學(xué)期3月月考化學(xué)試題(原卷版+解析版)
- 新未來大學(xué)英語 視聽說教程1(智慧版) 聽力腳本 Unit 1
- 建筑電氣系統(tǒng)修繕技術(shù)方案
- 2025年自動化X光檢查機(jī)項(xiàng)目合作計(jì)劃書
- 中西醫(yī)結(jié)合外科學(xué)知到課后答案智慧樹章節(jié)測試答案2025年春廣州中醫(yī)藥大學(xué)
- 2025年雙層客房車項(xiàng)目發(fā)展計(jì)劃
- 醫(yī)院外出進(jìn)修、培訓(xùn)及參加學(xué)術(shù)會議的管理規(guī)定
- 江西省上饒市2023-2024學(xué)年高二下學(xué)期期末考試語文試題2
- 2017-2018學(xué)年人教課標(biāo)高一英語必修4試題Unit5Themeparks單元測試題2
- 《中國服飾史》-沈從文等
- 北京市2023-2024學(xué)年七年級下學(xué)期期中語文試題(含含答案)
- NBA球星庫里課件
- 護(hù)理美學(xué)-第十章 護(hù)理環(huán)境中的美
- 試車階段投用前安全檢查清單(PSSR)工廠級表單
- 鍍金行業(yè)市場突圍建議及需求分析報告
- 五年級下英語教案-Lesson 5 What Are They Doing-冀教版
- 2024年同等學(xué)力申碩-同等學(xué)力(經(jīng)濟(jì)學(xué))筆試考試歷年高頻考點(diǎn)試題摘選含答案
- 2024年高中英語衡水體書法練字字帖
- 老齡化社會 認(rèn)知癥包容性社群框架
- 工程項(xiàng)目質(zhì)量風(fēng)險源識別及管控措施
評論
0/150
提交評論