匯編語言課程設計-打字練習_第1頁
匯編語言課程設計-打字練習_第2頁
匯編語言課程設計-打字練習_第3頁
匯編語言課程設計-打字練習_第4頁
匯編語言課程設計-打字練習_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、學 號: 課 程 設 計題 目打字練習教 學 院計算機學院專 業(yè)09計算機科學與技術班 級09計科(1)班姓 名指導教師 2011年10月04日目 錄一 概述21背景分析及意義22. 課程設計的目的23. 課程設計的要求34匯編語言的介紹3二 總體方案設計51. 程序設計的整體設計思路52. 算法的整體設計思路63. 程序的主要特點6三 詳細設計71. 流程圖72. 主界面?zhèn)未a73等級界面?zhèn)未a84. 游戲界面?zhèn)未a85. 清屏子程序設計96.密碼程序設計107.宏代碼117.1在指定位置顯示彩色字符串117.2顯示背景117.3畫橫向邊框的宏127.4畫豎邊框的宏138.功能的進一步完善1

2、38.1完善代碼一138.2完善代碼二148.3完善代碼三15四 運行結果說明171.密碼界面圖:172.主界面圖:173.等級選擇界面:174.游戲界面:18五 課程設計總結20參考文獻22一 概述1背景分析及意義隨著計算機的不斷更新發(fā)展,計算機在各個領域的應用越來越多,更多的軟件開發(fā)人員和相關技術人員在程序設計的過程中應用匯編程序或編制匯編語言。而匯編語言作為計算機專業(yè)大學生必修課,每個作為本專業(yè)的學生對匯編的理解和學習就顯得尤為重要。匯編語言是計算機能夠提供用戶使用的最快而又最好最有效的與言,也是能夠利用計算機所有硬件特性并能直接控制硬件的唯一語言。因而,對程序的空間和時間要求很高的場合

3、,匯編語言的應用就顯得必不可少了,一些直接控制硬件的應用場合,則更是非用匯編語言不可了。打字練習程序設計課程設計是在教學實踐基礎上進行的一次大型實驗,也是對該課程所學理論知識的深化和提高。因此,要求我們能綜合應用所學知識,設計與制造出具有較復雜功能的應用系統(tǒng),并且在實驗的基本技能方面上進行一次全面的訓練。通過具體的問題分析、設計、調(diào)試、運行程序。在實際問題中鍛煉提高自己,增加了對本門課程內(nèi)容的理解,鍛煉了動手能力。就這個程序具體而言:調(diào)用宏,顯示背景和主界面,通過選擇不同的選項,可以進入不同的界面;采用BIOS功能的中斷,可以在任何時候退出當前所在的界面并通過選擇進入其他的界面。這個程序最終通

4、過菜單所提示的信息選取所要進入的界面,獲得所要的功能。2. 課程設計的目的(1) 能夠較全面地鞏固和應用課堂中所學的基本理論和程序設計方法,能夠較熟練地完成匯編語言程序的設計和調(diào)試。(2) 培養(yǎng)綜合運用所學知識,獨立完成匯編程序課題的能力。(3) 培養(yǎng)勇于探索、嚴謹推理、實事求是、有錯必改,用實踐來檢驗理論,全方位考慮問題等科學技術人員應具有的素質(zhì)。(4) 提高對工作認真負責、一絲不茍,對同學團結友愛,協(xié)作攻關的基本素質(zhì)。(5) 培養(yǎng)從資料文獻、科學實驗中獲得知識的能力,提高學生從別人經(jīng)驗中找到解決問題的新途徑的悟性,初步培養(yǎng)工程意識和創(chuàng)新能力。(6) 對掌握知識的深度、運用理論去處理問題的能

5、力、實驗能力、課程設計能力、書面及口頭表達能力進行考核。3. 課程設計的要求匯編語言是計算機能夠提供給用戶的最便捷和最有效的語言,也是能夠利用計算機所有硬件特性并能直接控制硬件的一種語言。通過這次實驗要求我們:(1) 了解背景顏色的設置。(2) 了解清屏函數(shù)的用法。(3) 學會使用宏定義,宏過程,宏函數(shù)以及參數(shù)的調(diào)用。(4) 能夠熟練地使用BIOS功能或DOS功能的調(diào)用。(5) 學會用匯編語言編輯中斷程序。通過打字練習程序的編寫熟悉并掌握用匯編語言編程的方法與特點,借此來比較高級語言與低級語言的優(yōu)缺點,以便能更好的利用各種語言來開發(fā)應用軟件,通過實際動手能力的培養(yǎng),進一步熟悉匯編語言的結構和使

6、用方法,達到能夠獨立閱讀、編輯和調(diào)試具有一定規(guī)模的匯編語言程序的能力,能夠熟練運用匯編語言的三大結構,進一步掌握各種指令的功能,能掌握子程序的定義與調(diào)用,包括段間調(diào)用與段內(nèi)調(diào)用,以及正確運用DEBUG命令,進一步理解和掌握程序直接控制I/O方式。4匯編語言的介紹 匯編語言(Assembly Language)是面向機器的程序設計語言,匯編語言是一種功能很強的程序設計語言,也是利用計算機所有硬件特性并能直接控制硬件的語言。在匯編語言中,用助記符(Mnemonic)代替操作碼,用地址符號(Symbol)或標號(Label)代替地址碼。這樣用符號代替機器語言的二進制碼,就把機器語言變成了匯編語言。因

7、此匯編語言亦稱為符號語言。使用匯編語言編寫的程序,機器不能直接識別,要由一種程序?qū)R編語言翻譯成機器語言,這種起翻譯作用的程序叫匯編程序,匯編程序是系統(tǒng)軟件中語言處理系統(tǒng)軟件。匯編語言編譯器把匯編程序翻譯成機器語言的過程稱為匯編。 匯編語言比機器語言易于讀寫、調(diào)試和修改,同時具有機器語言全部優(yōu)點。但在編寫復雜程序時,相對高級語言代碼量較大,而且匯編語言依賴于具體的處理器體系結構,不能通用,因此不能直接在不同處理器體系結構之間移植。 匯編語言的特點: (1) 面向機器的低級語言,通常是為特定的計算機或系列計算機專門設計的。 (2) 保持了機器語言的優(yōu)點,具有直接和簡捷的特點。 (3) 可有效地訪

8、問、控制計算機的各種硬件設備,如磁盤、存儲器、CPU、I/O端口等。(4) 目標代碼簡短,占用內(nèi)存少,執(zhí)行速度快,是高效的程序設計語言。(5) 經(jīng)常與高級語言配合使用,應用十分廣泛。 匯編語言的應用: (1) 70%以上的系統(tǒng)軟件是用匯編語言編寫的。 (2) 某些快速處理、位處理、訪問硬件設備等高效程序是用匯編語言編寫的。 (3) 某些高級繪圖程序、視頻游戲程序是用匯編語言編寫的。 匯編語言直接描述機器指令,比機器指令容易記憶和理解。通過學習和使用匯編語言,能夠感知、體會、理解機器的邏輯功能,向上為理解各種軟件系統(tǒng)的原理,打下技術理論基礎;向下為掌握硬件系統(tǒng)的原理,打下實踐應用基礎。 5.開發(fā)

9、平臺開發(fā)環(huán)境:Windows平臺+MASM環(huán)境運行環(huán)境:Windows全系列開發(fā)語言:匯編語言二 總體方案設計1. 程序設計的整體設計思路 要求完成一個打字練習程序,即在規(guī)定的時間內(nèi)按下屏幕上顯示的字母,字母就消失,否則字母一直移動到屏幕底端。(比如:運行程序時,出現(xiàn)菜單主界面,按回車鍵出現(xiàn)由26個字母組成的亂序行,這時其中任一字母落下,在鍵盤上敲入該字母,如果輸入正確,字母消失;按ESC鍵返回主界面;按空格見暫停;按E退出。)在設計本課題之前,要考慮兩個問題:一是如何從鍵盤輸入并顯示字符;二是如何在輸入時進行計時??紤]第一個問題,在PC中,對鍵盤的管理是通過中斷機構和8255可編程序外圍接口

10、芯片來實現(xiàn)的。在我的設計中,我采用的是第一種思路。由于系統(tǒng)在BIOS中已配備了鍵盤的服務功能,因此可通過調(diào)用鍵盤的DOS和BIOS功能編程。而且設計中使用的都是軟件中斷,故在具體的程序設計時,需要禁止硬件中斷。再考慮第二個問題,計時部分也可通過定時器的中斷來實現(xiàn)。由于定時器中斷優(yōu)先級比鍵盤高,只要在鍵盤中斷處理程序中用一條STI指令允許高級中斷,那么在整個打字的過程中,定時器會以每秒18.2次的頻率產(chǎn)生中斷。根據(jù)計時的需要,在整個打字過程中,再使用自編的中斷例行程序可把定時器中斷的次數(shù)轉(zhuǎn)換成時間。 在鍵盤打字時采用09類型的鍵盤中斷,來取得輸入字符并將字符顯示在屏幕上。程序設計時,預先設置的堆

11、棧中存放一些字符串例句,每次打字之前,屏幕上先顯示出一個例句,然后打字員按照例句,將句中字符通過鍵盤輸入。這個過程可反復進行,當鍵入一個功能鍵時,退出打字計時程序。自行編制鍵盤中斷和時間中斷處理程序,并保存原中斷向量。程序運行時,使用自編的中斷向量處理程序。程序退出時,恢復中斷向量。自編中斷處理程序也是本課題需要考慮的重要問題。雖然系統(tǒng)自帶了許多中斷例行程序可以由INT指令來執(zhí)行,但在本課題中需要對原中斷例行程序的功能進行擴充才可。該打字程序包括以下五個子程序:(1)主界面的顯示模塊;(2)打字練習模塊;(3)設置速度模塊;(4)密碼模塊;(5)清屏模塊。其中的打字練習模塊又分為以下三個子程序

12、:(a)游戲界面模(b)功能模塊2. 算法的整體設計思路此程序涉及到宏和I/O中斷的調(diào)用,通過對宏的定義和使用以及對I/O中斷的使用,實現(xiàn)程序的相應功能。利用宏,實現(xiàn)各個界面的顯示,采用中斷,實現(xiàn)各個子程序的相互轉(zhuǎn)換。其中最主要的是打字程序:運行程序,打字界面中出現(xiàn)由26個字母組成的亂序行,這時其中會有任一字母落下,在鍵盤上輸入該字母,字母消失,分數(shù)值加1,否則字母一直移動到屏幕底端,然后消失,生命值減1。當生命值減為零且未在字母下落到屏幕底端之前輸入該下落字母時,打字練習結束,顯示結束界面。3. 程序的主要特點本程序最大的特點就是具有較好的人機交互功能。在主界面中,用戶可以選擇不同的游戲等級

13、,他們能夠根據(jù)自己的實際打字速度,選擇相匹配的等級進行打字練習。如果用戶對我們設計的程序有不明白的地方,可以選擇幫助進行求解,并能與我們聯(lián)系,討論程序的不足,尋求改進,或者分享程序中的精妙之處。此外,根據(jù)用戶的打字情況,我們會給予他們相應的分數(shù)和生命數(shù)。三 詳細設計1. 流程圖本次程序開始是一個主界面,在主界面上包括四個選項,第一個選項是進入打字子程序,第二個是選擇進入等級設置子程序,第三個是進入幫助子程序,第四個是退出主界面,以下是程序的主流程圖:開始 輸入密碼主界面速度選擇游戲界面E 退出Space 暫停ESC返回主界面 圖3-1 流程圖2. 主界面?zhèn)未a STR1 DB Welcome

14、to play chars,0AH,0DH, $ STR2 DB Made by zhangxiang zhangning yinfeng wanghanfei wujingxian,0AH,0DH, $ STR3 DB 2011/9/29 ,0AH,0DH, $ STR4 DB Please choose speeding,0AH,0DH, $ STR5 DB Please press Enter to cintinue. ,0AH,0DH, $ STRA DB ,0AH,0DH, $ STRB DB score: , i,0AH,0DH, $ STRC DB You choose: ,0A

15、H,0DH, $ STRD DB hqfuvodepfdjygnhtrwgaerjrklubgsnyrsbntrsbngtrdjykuahtrgregfytjgfjytjktru, $ STRE DB RIGHT: , $ MES5 DB PLEASE ENTER YOUR PASSWORD :$ PASSWORD DB PASSWORD1 DB 6 DUP(?) 3等級界面?zhèn)未a在主界面中選擇2,進入等級界面的設置,其中有6個等級,代表不同的難易程度。用戶可選則其中的任意一個級別,按Enter鍵表示確定并返回主界面,若用戶輸入的錯誤的等級,則一直等待,直到輸入了正確的等級。以下是等級界面的偽

16、代碼: STR7 DB speed 1,0AH,0DH, $ STR8 DB speed 2,0AH,0DH, $ STR9 DB speed 3,0AH,0DH, $ STR0 DB Select the number among 1-3,0AH,0DH, $4. 游戲界面?zhèn)未a此偽代碼顯示的是進入打字界面的提示信息: ST1 DB RIGHT: Pause,0AH,0DH, $ ST2 DB E : Quit,0AH,0DH, $ ST8 DB Esc: Back,0AH,0DH, $ ST3 DB Function Meun,0AH,0DH, $ ST4 DB please input.

17、 ,0AH,0DH, $ ST5 DB SPACE: Continue,0AH,0DH, $ ST6 DB Thank You ! ,0AH,0DH, $ ST10 DB ,0AH,0DH, $; ST9 DB VREY GOOD ! ,0AH,0DH, $ ; 5. 清屏子程序設計BIOS功能調(diào)用中的INT 10H功能6能使屏幕內(nèi)容上卷指定的行,這個功能需要設置4個參數(shù),分別代表清屏區(qū)域的左上角的坐標和右下角的坐標。如果屏幕的其實行列不為(0,0)結束的行列不為(24,79),則屏幕上只有指定的一部分具有上卷的功能,這個屏幕傷的部分區(qū)域叫做窗口(window)像這樣的窗口可以在屏幕上設置多個

18、,這些窗口都可以獨立使用。如果上卷超過指定窗口的頂部,這些行的內(nèi)容就消失,出現(xiàn)在窗口底部的新行被填為空格,其屬性用BH寄存器決定。如果AL=0,則實現(xiàn)完成的工作是清楚屏幕的功能,它將按AL中的BH字符使指定的窗口為空白。以下是清除全屏幕的子程序: CLEAR PROC NEAR PUSH AX PUSH BX PUSH CX PUSH DX MOV AH,6 MOV AL,0 ;blank screen MOV BH,7 MOV CH,0 ;左上角行號 MOV CL,0 ;左上角列號 MOV DH,24 ;右下角行號 MOV DL,79 ;右下角列號 INT 10H ;屏幕初始化或上卷 MOV

19、 DX,0 ;行列號都為0 MOV AH,2 INT 10H ;置光標位置; ; DIS5 25D,B ;置背景色 背景 藍 前景紅 DIS5 25D,B ;置背景色 背景白色 前景紅; DIS3 RET CLEAR ENDP 6.密碼程序設計 DIS1 MES5,5,15LEA BX,PASSWORD1MOV CX,6 INPUT:MOV AH,07HINT 21HMOV BX,ALINC BXMOV AH,02HMOV DL,*INT 21HLOOP INPUTCONTIUN:MOV AH,07HINT 21HCMP AL,0DHJNE CONTIUNMOV CX,6LEA SI,PASS

20、WORDLEA DI,PASSWORD1CHECK:MOV AL,SICMP AL,DIJNE STARTINC SIINC DILOOP CHECK 7.宏代碼7.1在指定位置顯示彩色字符串;=DIS1 MACRO STRING1,Y,M MOV AH,2 MOV BH,0 ;頁號 MOV DH,Y ;行標 MOV DL,M ;列標 INT 10H ;置光標位置 MOV AH,09H MOV DX,SEG STRING1 MOV DS,DX MOV DX,OFFSET STRING1 INT 21H ;顯示字符串 ENDM;=7.2顯示背景;=DIS5 MACRO S1,S2 DIS2 MO

21、V AH,6 MOV AL,0 ;blank screen MOV AL,s1 ;上卷25行 MOV BH,s2 ;綠色背景 紅色前景 MOV CH,0 MOV CL,0 MOV DH,0 MOV DL,80 INT 10H ;屏幕初始化或上卷 DIS3 ENDM;=7.3畫橫向邊框的宏;=DIS6 MACRO Z1,Z2,Z3,Z4 LOCAL C5 ; LOCAL為重復定義的定義符 DIS2 MOV CX,Z1 ;循環(huán)次數(shù) MOV DL,Z2 ;列 C5: MOV AH,2 MOV BH,Z3 ;頁號 MOV DH,Z4 ;行 INT 10H ;置光標位置 PUSH DX MOV DL,2

22、AH INT 21H ;輸出* POP DX INC DL ;列 + LOOP C5 DIS3 ENDM;=7.4畫豎邊框的宏;=DIS7 MACRO Q1,Q2,Q3,Q4 LOCAL F1 ; LOCAL為重復定義的定義符 DIS2 MOV CX,Q4 MOV DH,Q1 ;行 F1: MOV AH,2 MOV BH,Q2 MOV DL,Q3 ;列 INT 10H ;置光標位置 MOV DL,2AH INT 21H INC DH LOOP F1 DIS3 ENDM;=8.功能的進一步完善8.1完善代碼一修改界面背景屬性 ;DIS5 25D,B ;置背景色 背景 藍 前景紅DIS5 25D,

23、B ;置背景色 背景 紅 前景白;閃爍背景背景背景亮度前景前景前景;=;顯示背景DIS5 MACRO S1,S2 DIS2 MOV AH,6 MOV AL,0 ;blank screen MOV AL,s1 ;上卷25行 MOV BH,s2 ;綠色背景 紅色前景 MOV CH,0 MOV CL,0 MOV DH,0 MOV DL,80 INT 10H ;屏幕初始化或上卷 DIS3 ENDM;=8.2完善代碼二擊中下落字母后,使其顯示不同的顏色; MOV AH,2 MOV BH,0 INT 10H PUSH axPUSH bx mov ah ,9mov bh ,0mov cx,1mov al,s

24、imov bl,B ;字母擊中后顯示白色INT 10H pop axpop bx call SLEEP1MOV AH,2 MOV BH,0PUSH DX MOV DL, MOV AH,02H INT 21H ;顯示空格 覆蓋字母 INT 10H ;置光標位置 POP DX;8.3完善代碼三當游戲分數(shù)達到某一數(shù)值時,顯示“Very Good!”; ST9 DB VREY GOOD ! ,0AH,0DH, $ ;CMP AL,30 ;擊中30次顯示 jnz T DIS1 ST9 20,60 ;顯示“VERY GOOD”; 四 運行結果說明1.密碼界面圖:圖4-1 密碼界面圖 運行程序,將會出現(xiàn)以上

25、界面,這個功能是通過字符串的一個一個的比較實現(xiàn)的,輸入錯誤后,要重新輸入,直到輸入正確的密碼。2.主界面圖:圖 4-2 主界面輸入密碼后,進入主界面;第一行是密碼行;第二行是歡迎語句;第三行是組員名字;第四行是演示代碼的時間;第五行是提示語句。3.等級選擇界面:圖 4-3 等級選擇界面按ENTER鍵后,進入等級選擇界面這是一個等級選擇界面,有三個等級進行選擇,分別代表不同的速度,速度一次遞增,只能輸入1-3,直到輸入正確才能開始游戲。4.游戲界面: 圖4-4 游戲界面選擇等級后,進入游戲界面;界面的左邊是功能菜單,可以進行功能的選擇,暫停(空格鍵),退出(E),返回主界面(Esc);界面的中間

26、是游戲區(qū),當用擊中下落的字母后,字母會變?yōu)榘咨⒂新曇舭l(fā)出,表示用戶擊中字母;界面的右邊是記分功能,可以顯示用戶的當前分數(shù),但用戶的積分達到一定數(shù)值時,會顯示祝賀語句。 五 課程設計總結匯編語言(Assembly Language)是面向機器的程序設計語言。 匯編語言比機器語言易于讀寫、易于調(diào)試和修改,同時也具有機器語言執(zhí)行速度快,占內(nèi)存空間少等優(yōu)點,但在編寫復雜程序時具有明顯的局限性,匯編語言依賴于具體的機型,不能通用,也不能在不同機型之間移植。是能完成一定任務的機器指令的集合。 常說匯編語言過時,是低級語言,并不是說匯編語言要被棄之,相反,匯編語言仍然是程序員必須了解的語言,在某些行業(yè)與

27、領域,匯編是必不可少的,非它不可適用。只是,現(xiàn)在計算機最大的領域為IT軟件,也是我們常說的 Windows 編程,在熟練的程序員手里,使用匯編語言編寫的程序,運行效率與性能比其它語言寫的程序是成倍的優(yōu)秀,但是代價是需要更長的時間來優(yōu)化,如果對計算機原理及編程基礎不扎實,實在是得不償失,對比現(xiàn)在的軟件開發(fā),已經(jīng)是市場化的軟件行業(yè),加上高級語言的優(yōu)秀與跨平臺,一個公司不可以讓一個團隊使用匯編語言來編寫所有的東西,花上幾倍甚至幾十倍的時間,不如使用其它語言來完成,只要最終結果不比匯編語言編寫的差太多,就能搶先一步完成,這是市場經(jīng)濟下的必然結果。 但是,至今為止,還沒有程序員敢斷定匯編語言是不需要學的

28、,一個不懂匯編語言的程序員,只是三流的程序員,這是大部分人的共識,同時,技術匯編語言(Assembly Language)是面向機器的程序設計語言精湛的匯編程序員,已經(jīng)脫離軟件開發(fā),擠身于工業(yè)電子編程中,一個電子工程師,主要開發(fā)語言就是匯編,c語言使用只占極少部分,而電子開發(fā)工程師是千金難求,在一些工業(yè)公司,一個核心的電子工程師比其它任何職員待遇都高,對比起來,一般電子工程師待遇是程序員的十倍以上。這種情況是因為現(xiàn)在學習匯編的人雖然也不少,但是真正能學到精通的卻不多,它難學,難用,適用范圍小,雖然簡單,但是過于靈活,學習過高級語言的人去學習匯編比一開始學匯編的人難得多,但是學過匯編的人學習高級

29、語言卻很容易,簡從繁易,繁從簡難。 該程序是由匯編語言編寫的打字練習程序。通過本次課程設計,使我對匯編語言的語法結構和基本語義有了較為清楚的了解;通過自己的設計和編寫代碼,我也將書上每章的知識大致的復習了一遍,加深了我的印象,通過設計,我深刻認識到一個清晰明朗的流程圖對程序的設計是十分重要的。在設計中,我在沒有先畫流程圖的情況下就開始編寫代碼,結果是我弄得一頭霧水,實在是無法進行了,后來經(jīng)過同學的建議,我在弄清題意的情況下,畫了程序流程圖,并按此開始編寫代碼,結果讓我獲益匪淺。與其他同學合作完成本次課程設計,在這次課程設計中我收獲如下:1.學到了匯編語言設計程序的思想和方法。2.學會了任務分配

30、、任務從化整為零,再化零為整的方法。3.學到發(fā)現(xiàn)問題思考問題解決問題的方法。 4.增強了團隊精神其中我也認識到不少不足,對匯編語言,尤其宏的使用有了更多認識,但是我也發(fā)現(xiàn)自己深入理解不多。宏過程和宏函數(shù),宏傳遞的參數(shù)和返回值,以及局部變量都是我不能融會貫通的地方,需要時間進行更多的練習。通過這次課程設計讓我跟具體的了解了匯編語言的用途以及他的特點,這樣有利于在今后的實踐中更好的去應用匯編語言解決問題,同時通過這次的課程設計也體現(xiàn)出了我的在匯編方面的一些基礎知識的不足。由于對匯編語言的一些基本知識的掌握不足,程序中還存在或多或少的缺陷和不足,有一些的基本功能在邏輯上還存在一些的小問題,但是不會影

31、響基本的使用。參考文獻1 沈美明 ,溫冬嬋,IBM-PC匯編語言程序設計(第2版),北京,清華大學出版社,2008年4月;2 王慶生,匯編語言程序設計,合肥,合肥工業(yè)大學出版社,2006年8月;3 翟社平,匯編語言程序設計教程,西安,西安電子科技大學出版社,2003年2月;4 金漢均 金洋,匯編語言程序設計,武漢,武漢大學出版社 ,2007年9月;5 梁發(fā)寅,宗大華,匯編語言程序設計,北京,人民郵電出版社,2004年3月;6 冉林倉,win32匯編語言實用教程,北京,清華大學出版社,2004年2月;7 楊季文,80X86匯編語言程序設計教程,北京,清華大學出版社,1999年3月。8 何超,匯編

32、語言程序設計實驗與習題解答(第1版),機械工業(yè)出版社,2010年4月9 蔡啟先,王智文匯編語言程序設計實驗指導(第1版),清華大學出版社,2008年3月10 王爽,匯編語言(第2版)北京,清除大學出版社,2008年4月11 秦蓮,匯編語言程序設計實訓教程(第1版),北京,北京交通大學出版社,2005年5月12 賀紅娟,匯編語言程序設計教程(第1版),北京,清華大學出版社,2009年4月13 李長青,微型計算機原理與接口技術 中國礦業(yè)大學出版社 14 張開成,鐘文龍,匯編語言案例教程(第版),北京,化學工業(yè)出版社,2009年3月15 譚浩強,C程序設計題解與上機指導(第二版),北京,清華大學出版

33、社,2000年9月16 范立南,謝子殿,單片機原理及應用教程(第1版),北京大學出版社,2006年1月 匯編 課程設計成績評定表姓 名張祥性 別男專業(yè)班級計算機學院09計科(1)班課程設計題目:打字練習課程設計答辯或質(zhì)疑記錄:成績評定依據(jù):最終評定成績(以優(yōu)、良、中、及格、不及格評定) 指導教師簽字: 年 月 日源代碼:;= ; ;兩排斜杠中間為 提問 修改部分 ;=;在指定位置顯示彩色字符串DIS1 MACRO STRING1,Y,M MOV AH,2 MOV BH,0 ;頁號 MOV DH,Y ;行標 MOV DL,M ;列標 INT 10H ;置光標位置 MOV AH,09H MOV D

34、X,SEG STRING1 MOV DS,DX MOV DX,OFFSET STRING1 INT 21H ;顯示字符串 ENDM;=;宏進棧DIS2 MACRO PUSH AX PUSH BX PUSH CX PUSH DX ENDM;=;宏出棧 DIS3 MACRO POP DX POP CX POP BX POP AX ENDM;=;顯示背景DIS5 MACRO S1,S2 DIS2 MOV AH,6 MOV AL,0 ;blank screen MOV AL,s1 ;上卷25行 MOV BH,s2 ;綠色背景 紅色前景 MOV CH,0 MOV CL,0 MOV DH,0 MOV DL,80 INT 10H ;屏幕初始化或上卷 DIS3 ENDM;=;畫橫向邊框的宏DIS6 MACRO Z1,Z2,Z3,Z4 LOCAL C5 ; LOCAL為重復定義的定義符 DIS2 MOV CX,Z1 ;循環(huán)次數(shù) MOV DL,Z2 ;列 C5: MOV AH,2 MOV BH,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論