【正文】
S 功能調(diào)用中的 10H 中斷類型,可以設 置顯示模式,設置窗口背景,字符顏色等。 調(diào)用 DOS 系統(tǒng)功能中的 09 號功能,可以實現(xiàn)顯示菜單信息字符串。調(diào)用 BIOS 中的鍵盤 I/O 中斷調(diào)用( 16H 中斷)中的 0 號功能,可以從鍵盤讀取字符,通過對“↑”,“↓”,“←”,“→ ” 方向移動移動,從而實現(xiàn)對輸入文本的全屏幕編輯。利用 DOS 系統(tǒng)功能調(diào)蘭州理工大學課程設計 2 用中的文件管理功能,如建立文件( 16H),打開文件( 0FH) ,讀文件( 3FH)寫文件( 40H)等,可以實現(xiàn)對文件的操作。 五、操作說明 運行可執(zhí)行文件 ,輸入文本,利用 Del 鍵, BackSpace 鍵, Home 鍵,End 鍵,上下左右方向移動鍵對文本進行全屏幕編輯。編輯完成后,按 F1 鍵激活菜單,下移光標,選擇 SAVE,輸入文件名。也可以選擇 File 菜單的其他菜單項,它們的功能均可實現(xiàn)。按 F10 鍵激活幫助,按 Esc 鍵退出幫助。 要指出的是,本案例要產(chǎn)生的只是示范性的簡易的文本編輯器,其中包含的只有基本的框架,很多方面考慮并不全面,尚需完善。例如沒有實現(xiàn)編輯菜單,在編輯狀態(tài)下用退格或刪除鍵刪除字符時,后面的字符不會自動前移等。對于這些不足的地方讀者可以自行考慮補充,再加以改進使其更正確,全面。 六、 程序 設計 流程圖 如圖 蘭州理工大學課程設計 3 入口 圖 恢復編輯界面 是回車 ? 保存 ? 返回 DOS 調(diào)用 QUITT子程序 回到編輯狀態(tài) 等待鍵盤輸入 是“ ” 是“ ” 是回車 ? 恢復編輯界面 調(diào)用 OPEN 子程序 SAVE 選項 是“ F1”? NEW 選項xuanxiang xuanxiang 是“ ” 是“ ” 是“ ” 是“ ” 是“ ” 是“ ” EXIT 選項 恢復 編輯界面 調(diào)用 SAVE AS 子程序 是“ ” 是“ ” SAVEAS 選項 是回車 ? 是回車 ? 恢復編輯界面 調(diào)用 SAVE 子程序 是回車? 恢復編輯界面 調(diào)用 NEW 子程序 OPEN 選項 N N N N N N N N N N N N N N N N N Y Y Y Y Y Y Y Y Y Y Y Y 蘭州理工大學課程設計 4 七、 軟件使用說明書 雙擊可執(zhí)行文件 ,在出現(xiàn)的界面中輸入任意文本容,利用 DEL 鍵、BACKSPACE 鍵、 HOME 鍵、 END 鍵、上下左右光標鍵對文本進行全屏幕編輯,按 f1 鍵激活菜單 file,下移光標,選擇 save,輸入文件名。也可以選擇 FILE 菜單的其他菜單項,他們的功能均可實現(xiàn)。按 f10 激活幫助,按 ESC 鍵退出幫助 。 圖 2. 編輯 圖 3. 匯編 蘭州理工大學課程設計 5 圖 圖 圖 界面 蘭州理工大學課程設計 6 圖 7. FILE 下拉菜單 圖 8. F10 幫助界面 八、 設計總結 通過本次課程設計,使我們對匯編語言的語法結構和基本語言有了較為清楚的了解;同時通過我們大家 合作共同努力都認真設計和編寫代碼,我們也將書上每章的知識大致的復習了一遍,加深了我們的印象,通過設計我們深刻認識到一個清晰明朗的流程蘭州理工大學課程設計 7 圖對程序的設計是十分重要的。在設計中,我們在沒有先畫流程圖的情況下就開始編寫代碼,結果是我們弄得一頭污水,實在是無法進行了,后來經(jīng)過我們大家商議,我們各自分工,在弄清題意的情況下,畫了程序流程圖,并按此開始編寫代碼,結果受益匪淺。是我們在最短的時間里完成了這次課程設計。通過這次課設使我們知道了團隊的力量是很強大的,我們以后不管在生活中還是在學習生活中都要學會發(fā)揮團隊的力量。 致 謝 衷心地感謝任老師在這學期里對我的諄諄教導,孜孜不倦地陪伴著我們一起走過大一的歲月,通過老師的教導,使我對計算機有了更深層次的了解和認識,蘭州理工大學課程設計 8 同時也讓我獲得了許多以前無法學到的新知識,這對我在以后的學習和人生路都起到了很大的幫助。 感謝張老師在百忙之中來為我們作指導,不顧天氣的熾熱難耐,為了我們的課程設計能夠早日完成,不辭辛苦的來為我們作指導。 參考文獻 [1] 宋杰 ,汪志宏 ,江敏 ,微機原理與接口技術課程設計,機械工業(yè)出版社, [2] 周明德,微型計算機系統(tǒng)原理及應用習題集、習題解答與實驗指導,清華大學出版社, [3] 張開成,微型計算機原理,西南師范大學出版社, [4] 沈美明 ,溫冬嬋 , IBMPC匯編語言程序設計第 2版,清華大學出版社, [5] 戴梅萼 ,史嘉權 , 微型機原理與技術 習題、實驗和綜合訓練題集,清華大學出版社, 蘭州理工大學課程設計 9 源程序 RED_CHR MACRO 。讀取字符宏定義 MOV AH,0 INT 16H ENDM STRING MACRO P1 。輸入字符光標 MOV AH,9 LEA DX,P1 蘭州理工大學課程設計 10 INT 21H ENDM WIN MACRO OPR1,OPR2,OPR3,OPR4,OPR5,OPR6 。建立窗口 MOV AH,06H MOV AL,OPR1 MOV BH,OPR2 MOV CH,OPR3 MOV CL,OPR4 MOV DH,OPR5 MOV DL,OPR6 INT 10H ENDM POS_CURSE MACRO OP1,OP2,OP3 。定義光標位置 MOV AH,2 MOV BH,OP1 MOV DH,OP2 MOV DL,OP3 INT 10H ENDM POS_GET MACRO 。顯示光標位置 MOV AH,03H MOV BH,0 INT 10H ENDM DATA SEGMENT 。定義數(shù)據(jù)段 MENU DB 39。FILE EDIT HELP $39。 MASS_1 DB 39。F1 ACTIVE FILE F10 ACTIVE HELP39。,39。$39。 MANU_1 DB 39。 NEW 39。,13,10,39。$39。 MANU_2 DB 39。 OPEN 39。,13,10,39。$39。 MANU_3 DB 39。 SAVE 39。,13,10,39。$39。 MANU_4 DB 39。 SAVE AS 39。,13,10,39。$39。 MANU_5 DB 39。 EXIT 39。,39。$39。 HANDLE DW ? MESSAGE1 DB 39。 PLEASE INPUT FILE NAME:39。,39。$39。 MESSAGE2 DB 39。 PLEASE INPUT SAVE FILE NAME:39。,39。$39。 MESSAGE3 DB 39。 PLEASE INPUT OPEN FILE NAME:39。,39。$39。 MESSAGE4 DB 39。 ***THE FILE IS NOT SAVE! SAVE IT NOW? (Y/N)***: 39。,39。$39。 PATH DB 50 DUP(0),39。$39。 BUFFER DB 2021 DUP(?) BAK DB 3850 DUP(0) LINE DB ? ROW DB ? CHAR DB ? 蘭州理工大學課程設計 11 HELP_MAS1 DB 39。 WELCOME USE EDITOR! $39。 。幫助內(nèi)容 HELP_MAS2 DB 39。PLEASE THE FIRST ACTIVE HELP! $39。 HELP_MAS3 DB 39。GOOD LUCKY!! $39。 HELP_MAS4 DB 39。==========================================================$39。 HELP_MAS5 DB 39。PRESS F1 TO ACTIVE FILE. $39。 HELP_MAS6 DB 39。YOU CAN USE DOWN CURSOR KEY TO CHOOSE THE FUCTION $39。 HELP_MAS7 DB 39。PRESS F10 TO SHOW THE HELP ESC TO QUIT$39。 DATE DB 39。TODAY ??/??/39。,39。$39。 。調(diào)用日期 HANGLIE DB 39。???//???39。,39。$39。 。行 //列 DATA ENDS CO