總匯編語言課設 文本編輯器

上傳人:仙*** 文檔編號:83834333 上傳時間:2022-05-02 格式:DOC 頁數:52 大?。?55KB
收藏 版權申訴 舉報 下載
總匯編語言課設 文本編輯器_第1頁
第1頁 / 共52頁
總匯編語言課設 文本編輯器_第2頁
第2頁 / 共52頁
總匯編語言課設 文本編輯器_第3頁
第3頁 / 共52頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《總匯編語言課設 文本編輯器》由會員分享,可在線閱讀,更多相關《總匯編語言課設 文本編輯器(52頁珍藏版)》請在裝配圖網上搜索。

1、word 匯編語言課程設計 說明書 學 院:軟件學院 專 業(yè):軟件工程 學生某某: 馬江濤 學號: 題 目: 文本編輯器 指導教師:陳夠喜 潘廣貞 楊劍 馬巧梅 2016年 1 月 - 49 - / 52 目錄 摘 要I 一、課程設計的目的- 1 - 1.1設計的目的- 1 - 1.2 設計的內容- 1 - 二、設計方案的論證- 2 - 2.1 開發(fā)背景- 2 - 2.2 程序設計的意義- 2 - 設計思路- 2 -

2、 三、設計的實現(xiàn)過程- 3 - 3.1 總體設計方案- 3 - 3.2 實現(xiàn)過程- 3 - 3.3 數據定義- 4 - 模塊設計- 6 - 四、調試運行與結果分析- 9 - 4.1 運行結果- 9 - 4.2 結果分析- 12 - 五、測試與問題探討- 13 - 程序測試- 13 - 六、課設總結與體會- 16 - 七、參考文獻- 17 - 附錄- 18 - 摘 要 文本編輯器在我們的日常生活中使用非常頻繁,是我們工作當中不可或缺的工具。我們經常使用的文本編輯器有微軟的記事本和Microsoft Word。但是本次課程設計我使用了8086匯編語言

3、實現(xiàn)了DOS下的簡易文本編輯器,雖然與平時使用的文本編輯器相比功能比擬簡單,也不夠完善。但是旨在考察匯編語言的運用以與軟件的實現(xiàn)過程。 本次設計以設計思路為主介紹簡易文檔編輯器的設計實現(xiàn)程,對其設計原理進展一定的闡述,并且分模塊對其中較為重要的 子程序進展講解,并且附上運行結果與匯編源程序。 關鍵字:文本編輯器、匯編語言、DOS 一、課程設計的目的 1.1 設計的目的 掌握匯編語言的使用,掌握BIOS、DOS功能調用的使用方法,以與對匯編語言程序設計的過程有較深刻的理解。 1.2 設計的內容 本次設計主要包括一下內容: 1. 美觀且

4、易于操作的界面; 2. 在文本編輯區(qū)可以隨意輸入字符; 3. 可以使用Backspace鍵對光標的前一個字符刪除; 4. 實現(xiàn)了光標上移、下移、左移、右移; 5. 實現(xiàn)了下拉菜單以與彈出式菜單; 6. 可以實現(xiàn)屏幕的上卷和下卷; 二、設計方案的論證 2.1 開發(fā)背景 本次開發(fā)主要是在《微機原理與接口技術》這門課學習完成之后,通過做一些實用的小軟件考察自己的學習情況。并且熟悉匯編語言開發(fā)程序的過程。 2.2 程序設計的意義 由于信息化的普遍,所以文本編輯器在我們工作中也是必不可少的,所以我選擇了開發(fā)文本編輯器,不只為人們帶來了便利,同時也能鍛煉自己開

5、發(fā)思路,熟悉匯編語言開發(fā)過程,以與提高軟件開發(fā)水平。 常見的有Windows下的記事本,Mac OS X下的文本編輯,Linux下的vi、emacs、gedit、DOS下的edit等。本次設計類似于DOS下的edit。 2.3 設計思路 本程序主要利用BIOS功能調用設計編輯器的菜單和編輯窗口,以與光標的定位與獲取。利用DOS功能調用實現(xiàn)字符的讀取與輸出,以與對按鍵的識別。通過對光標以與字符輸出來控制刪除以與上下左右鍵的控制。 三、設計的實現(xiàn)過程 3.1 總體設計方案 程序利用模塊化設計方法,對每個要實現(xiàn)的功能都設計成子程序,方便使用。程序中具體模塊如圖3-1。 主程序 繪制界

6、面 按鍵判斷 子菜單繪制 功能的實現(xiàn) display dis_edit 圖3-1 程序關系 3.2 實現(xiàn)過程 程序通過對BIOS和DOS的功能調用實現(xiàn)了對窗口、菜單、字符輸入輸出、按鍵識別等功能。程序整體利用了模塊化的程序設計方法,把每個功能模塊都分成子程序來分別調用。程序中主要用到了以下子程序: l display(顯示菜單欄); l dis_edit(顯示編輯窗口); l dis_file(顯示文件菜單); l dis_text(顯示文本菜單); l key_back(backspace刪除字符); l key_down(光標向下); l key_left

7、(光標向左); l key_up(光標向上); l key_right(光標向右); l key_pgup(菜單的循環(huán)選擇); l ok_exit(退出); l open(子菜單顯示與控制); 3.3 數據定義 程序中要顯示的字符串都事先在數據段DS和附加段ES中定義好了,由于功能調用的需要所以把數據定義在了數據段和附加段中。以下是程序中用到數據的定義: data segment s db 'File View Text About$' f1 db 'Open',10,13,'Exit',10,13,'$' f2 db

8、 'Clear$' i db 0 b db 0 buff db 1200 dup(?),'$' printf db "Can't open the File$" mss db 'Massage$' ab1 db 'About Edit$' ab2 db 'GaoHaiFeng$' ab3 db 'C1141$' ab4 db '2013-6-22$' q1 db '543589796$' data ends eata segment s1 db 'File$' s2 db 'View$' s3 db 'Text$' s4 db

9、 'About$' s5 db 'Open$' s6 db 'Exit$' s7 db 'Clear$' eorr db 'eorr:$' ok db 5bh,'OK',5dh,'$' design db 'Design:$' class db 'Class:$' date db 'Date:$' db ' :$' eata ends 事先定義好數據的結構可以減少程序設計中很多的麻煩。 3.4 模塊設計 主要利用了BIOS功能調用繪制了兩個窗口,一個是編輯區(qū),一個是

10、菜單欄。實現(xiàn)過程見圖3-4-1。 開始 繪制編輯區(qū) 繪制菜單欄 返回 主程序 圖3-4-1 繪制界面 3.4.2 檢測按鍵 這個模塊主要是利用了AL=0,INT 16H來實現(xiàn)的,其中AH中存放的是按鍵的掃描碼,AL中存放的是按鍵的ascii碼。具體實現(xiàn)過程見圖3-4-2。 開始 等待輸入 AH=0? 按鍵處理 輸出字符 返回 主程序 否 是 圖3-4-2 檢測按鍵 3.4.3 子菜單繪制 該模塊同樣采用了BIOS功能調用設置子菜單,具體操作見圖3-4-3。 開始

11、 繪制File 子菜單 繪制View 子菜單 繪制Text 子菜單 繪制About 子菜單 返回 主程序 圖3-4-3 繪制子菜單 四、調試運行與結果分析 4.1 運行結果 程序的主界面,包含有File,View,Text,About菜單,如圖4-1所示。 圖4-1 程序主界面 按下PgUp鍵對菜單進展循環(huán)選擇,綠色光帶顯示當前選中菜單,按任意除PgUp之外的按鍵切換到編輯區(qū),如圖4-2所示。 圖4-2 選擇菜單 File菜單包括Open和Exit子菜單,如圖4-3所示。 圖4-3 下拉菜單 當光帶選中

12、Open或者Exit時按下回車鍵,將執(zhí)行光帶所選中的子菜單項所對應的程序,圖中為選中Open,如圖4-4所示。 圖4-4 選擇Open Text菜單下只有一個Clear,用來清屏,如圖4-5所示。 圖4-5 text子菜單 About主要用來顯示作者以與開發(fā)的相關信息,如圖4-6. 圖4-6 選中About 4.2 結果分析 本程序主要仿照DOS下的Edit文本編輯器,但是由于時間的關系有些功能未實現(xiàn),主要實現(xiàn)了菜單的彈出、選擇、光標的移動、文本的刪除、屏幕上卷等功能。 五、測試與問題探討 5.1 程序測

13、試 首先是測試文本編輯區(qū),如圖5-1. 圖5-1 編輯測試 然后是測試菜單彈出后文本區(qū)的內容是否被抹掉,如圖5-2和5-3所示。 圖5-2 文本區(qū)保存 圖5-3 文本區(qū)回復 接下來是測試清屏菜單項,如圖5-4和5-5所示。 圖5-4 選中Clear 圖5-5 文本清屏 六、課設總結與體會 通過本次課程設計可以說收獲頗多,雖然在程序設計的過程中遇到很多問題,其中想過放棄,也曾因此徹夜不眠過,甚至有思路就立馬把程序寫出來。但最終都在教師的幫助和自己的努力下走過

14、來了。做完了這個程序之后感覺對匯編的理解更加深刻了,也似乎懂得了開發(fā)底層軟件的原理。雖然匯編和其它程序設計語言相比麻煩很多,但是匯編是通過對計算機底層硬件的控制來達到人機交互的效果或者是實現(xiàn)了人們需要的功能??梢哉f了解了計算機大體的工作過程,為以后學習嵌入式系統(tǒng)以與計算機底層方面做了鋪墊。 七、參考文獻 附錄 源程序: data segment s db 'File View Te

15、xt About$' f1 db 'Open',10,13,'Exit',10,13,'$' f2 db 'Clear$' i db 0 b db 0 buff db 1200 dup(?),'$' printf db "Can't open the File$" mss db 'Massage$' ab1 db 'About Edit$' ab2 db 'GaoHaiFeng$' ab3 db 'C1141$' ab4 db '2013-6-22$' q1 db '543589796$' data ends eata s

16、egment s1 db 'File$' s2 db 'View$' s3 db 'Text$' s4 db 'About$' s5 db 'Open$' s6 db 'Exit$' s7 db 'Clear$' eorr db 'eorr:$' ok db 5bh,'OK',5dh,'$' design db 'Design:$' class db 'Class:$' date db 'Date:$' db ' :$' eata ends stack segment dw 1000 dup(?) stack end

17、s code segment assume ds:data,cs:code,ss:stack,es:eata start: mov ax,data mov ds,ax mov ax,eata mov es,ax mov ah,0 mov al,3 int 10h call display ;顯示菜單欄 call dis_edit ;顯示編輯區(qū) mov ah,4ch int 21h display proc near ;顯示菜單欄 mov ah,6 mov al,0 mov ch,0 mov cl,0 mov d

18、h,0 mov dl,79 mov bh,70h int 10h mov ah,6 mov al,1 mov ch,0 mov cl,0 mov dh,0 mov dl,79 mov bh,70h int 10h mov ah,2 mov bh,0 mov dh,0 mov dl,0 int 10h mov ah,09h lea dx,s int 21h ret display endp dis_edit proc near ;顯示編輯區(qū) mov di,0 ;作為緩存指針 mo

19、v ah,6 mov al,0 mov ch,1 mov cl,0 mov dh,24 mov dl,79 mov bh,1eh int 10h mov ah,6 mov al,1 mov ch,1 mov cl,0 mov dh,24 mov dl,79 mov bh,1eh int 10h pgup_r: mov ah,2 mov bh,0 mov dh,1 mov dl,0 int 10h next1: mov cx,80 next: mov ah,00h ;從鍵盤讀取字符 int 16

20、h cmp al,1bh ;判斷輸入的字符是否是ESC jz exit cmp al,0dh ;判斷輸入的字符是否是回車 jz enter cmp ah,48h ;判斷按鍵是否是上,ah中存放的是特殊鍵盤掃描碼 jz di_up cmp ah,4bh ;判斷是否是左 jz di_left cmp ah,4dh ;判斷是否是右 jz di_right cmp ah,50h ;判斷是否是下 jz di_down cmp ah,49h ;判斷是否是pgup鍵按下 jz di_pgup

21、 cmp ah,0eh jz di_back mov buff[di],al ;每次接收一個字符時都存放到BUFF中 inc di mov buff[di],'$' mov dl,al ;al中存放的是普通字符的ascii碼 mov ah,2 int 21h loop next jmp next1 ;這里相當于無限循環(huán),CX的值不起作用 enter: mov buff[di],10 inc di mov buff [di],13 inc di mov a

22、h,3 ;獲取光標位置 mov bh,0 int 10h cmp dh,24 ;判斷回車之后是否是行尾 jz go_again mov ah,2 mov bh,0 inc dh mov dl,0 int 10h jmp next1 di_up: call key_up ;這里不需要重新定義CX的值,程序會自動換行 jmp next1 di_left:call key_left ;調用左移子程序 jmp next1 di_right:call key_right ;調用右移子程序 jmp next1 di_down:call k

23、ey_down ;調用下移子程序 jmp next1 di_pgup:call key_pgup ;調用pgup子程序 jmp pgup_r di_back:call key_back jmp next1 go_again:call dis_loop ;上卷一行定位到行尾 jmp next1 exit: mov ah,6 mov al,0 mov ch,0 mov cl,0 mov dh,24 mov dl,79 int 10h ret dis_edit endp dis_loop proc near ;編輯區(qū)上卷一行光標定位

24、到行尾 mov ah,6 mov al,1 mov ch,1 mov cl,0 mov dh,24 mov dl,79 mov bh,1eh int 10h mov ah,2 mov bh,0 mov dh,24 mov dl,0 int 10h ret dis_loop endp key_up proc near mov ah,3 ;讀取光標位置 mov bh,0 int 10h cmp dh,1 jz rodown mov ah,2 ;定位光標位置 dec dh int 1

25、0h return: ret rodown: call roll_down jmp return key_up endp roll_down proc near ;屏幕下卷 mov ah,7 mov al,1 mov ch,1 mov cl,0 mov dh,24 mov dl,79 mov bh,1eh int 10h mov ah,3 ;讀取光標位置 mov bh,0 int 10h mov ah,2 ;定位光標位置 int 10h ret roll_down endp key_left pr

26、oc near mov ah,3 ;讀取光標位置 mov bh,0 int 10h cmp dl,0 ;判斷是否到了第一列 jz go_left ;是的話移到上一行行尾 mov ah,2 mov bh,0 dec dl int 10h jmp ret1 go_left:cmp dh,1 jnz roll_up mov ah,6 mov al,1 mov ch,1 mov cl,0 mov dh,24 mov dl,79 mov bh,1eh int 10h mov ah,2 mov bh,0

27、mov dl,79 mov dh,1 int 10h jmp ret1 roll_up:mov ah,2 ;移到上一行行尾 mov bh,0 dec dh mov dl,79 int 10h ret1: ret key_left endp key_right proc near mov ah,3 ;讀取光標位置 mov bh,0 int 10h cmp dl,79 jnz go_right cmp dh,24 jnz on_ok mov ah,6 mov al,1 mov ch,1 mov cl,0

28、 mov dh,24 mov dl,79 mov bh,1eh int 10h mov ah,2 mov bh,0 mov dh,24 mov dl,0 int 10h jmp ret2 on_ok: mov ah,2 mov bh,0 inc dh mov dl,0 int 10h jmp ret2 go_right: mov ah,2 mov bh,0 inc dl int 10h ret2: ret key_right endp key_down proc near mov ah,3 mov b

29、h,0 int 10h cmp dh,24 jnz m_down mov ah,6 mov al,1 mov ch,1 mov cl,0 mov dh,24 mov dl,79 mov bh,1eh int 10h mov ah,3 mov bh,0 int 10h mov ah,2 mov bh,0 mov dh,24 int 10h jmp ret3 m_down: mov ah,2 mov bh,0 inc dh int 10h ret3: ret key_down endp

30、key_pgup proc near ;按下pgup鍵的處理過程 st_pgdn:call display cmp i,0 jnz nt ;判斷當前的菜單項是第幾個 mov ah,6 ;菜單項處清屏 mov al,0 mov bh,1fh mov ch,0 mov cl,0 mov dh,0 mov dl,3 int 10h mov ah,13h ;bios輸出字符串 mov al,0 mov cx,4 mov dh,0 mov dl,0 mov bl,0a5h mov bh,0 lea bp,s1

31、int 10h jmp ret0 nt: cmp i,1 jnz nt1 mov bh,1fh mov ah,6 mov al,0 mov ch,0 mov cl,9 mov dh,0 mov dl,12 int 10h mov ah,13h ;bios輸出字符串 mov al,0 mov cx,4 mov dh,0 mov dl,9 mov bl,0a5h mov bh,0 lea bp,s2 int 10h jmp ret0 nt1: cmp i,2 jnz nt2 mov

32、 bh,1fh mov ah,6 ;小菜單清屏 mov al,0 mov ch,0 mov cl,18 mov dh,0 mov dl,21 int 10h mov ah,13h ;bios輸出字符串 mov al,0 mov cx,4 mov dh,0 mov dl,18 mov bl,0a5h mov bh,0 lea bp,s3 int 10h jmp ret0 nt2: cmp i,3 jnz nt1 mov bh,1fh mov ah,6 mov al,0 mov ch,0

33、 mov cl,27 mov dh,0 mov dl,30 int 10h mov ah,13h ;bios輸出字符串 mov al,0 mov cx,5 mov dh,0 mov dl,27 mov bl,0a5h mov bh,0 lea bp,s4 int 10h ret0: inc i cmp i,4 jnz rtt mov i,0 rtt: mov ah,0h int 16h cmp ah,49h jz st_pgdn cmp al,0dh ;判斷是否是回車 jnz rt0

34、 cmp i,0 jnz lol call dis_about jmp rt0 lol: cmp i,1 jnz q call dis_file jmp rt0 q: cmp i,3 jnz rtt ;不確定 call dis_text rt0: cmp i,1 jnz ntf mov ah,6 ;菜單項處清屏 mov al,0 mov bh,70h mov ch,0 mov cl,0 mov dh,0 mov dl,3 int 10h mov ah,13h ;bios輸

35、出字符串 mov al,0 mov cx,4 mov dh,0 mov dl,0 mov bl,70h mov bh,0 lea bp,s1 int 10h jmp rrr ntf: cmp i,2 jnz ntf1 mov bh,70h mov ah,6 mov al,0 mov ch,0 mov cl,9 mov dh,0 mov dl,12 int 10h mov ah,13h ;bios輸出字符串 mov al,0 mov cx,4 mov dh,0 mov dl,9 mov

36、 bl,70h mov bh,0 lea bp,s2 int 10h jmp rrr ntf1: cmp i,3 jnz ntf2 mov bh,70h mov ah,6 ;小菜單清屏 mov al,0 mov ch,0 mov cl,18 mov dh,0 mov dl,21 int 10h mov ah,13h ;bios輸出字符串 mov al,0 mov cx,4 mov dh,0 mov dl,18 mov bl,70h mov bh,0 lea bp,s3 int 10h

37、 jmp rrr ntf2: cmp i,0 jnz rrr mov bh,70h mov ah,6 mov al,0 mov ch,0 mov cl,27 mov dh,0 mov dl,30 int 10h mov ah,13h ;bios輸出字符串 mov al,0 mov cx,5 mov dh,0 mov dl,27 mov bl,70h mov bh,0 lea bp,s4 int 10h rrr: mov i,0 ret key_pgup endp dis_file proc

38、 near ;顯示File菜單 mov ah,6 mov al,0 mov bh,70h mov ch,1 mov cl,0 mov dh,2 mov dl,6 int 10h mov ah,6 mov al,1 mov bh,70h mov ch,1 mov cl,0 mov dh,2 mov dl,6 int 10h mov ah,2 mov bh,0 mov dh,1 mov dl,0 int 10h mov ah,09h lea dx,f1 int 21h mov

39、 ah,00h int 16h cmp ah,50h ;如果按方向鍵下 jnz input an_don: cmp b,0 jnz haha mov ah,13h lea bp,s6 mov al,0 mov cx,4 mov dh,2 mov dl,0 mov bh,0 mov bl,70h int 10h mov ah,13h lea bp,s5 mov al,0 mov cx,4 mov dh,1 mov dl,0 mov bh,0 mov bl,05ah int 10h jmp inp

40、ut haha: cmp b,1 jnz input mov ah,13h lea bp,s5 mov al,0 mov cx,4 mov dh,1 mov dl,0 mov bh,0 mov bl,70h int 10h mov ah,13h lea bp,s6 mov al,0 mov cx,4 mov dh,2 mov dl,0 mov bh,0 mov bl,05ah int 10h input: inc b cmp b,2 jnz eee mov b,0 eee: mov

41、ah,00 int 16h cmp ah,50h ;判斷是否是方向鍵下 jz an_don cmp ah,01h ;判斷是否是ESC jz rrr1 cmp al,0dh ;判斷是否是回車 jnz eee cmp b,1 jnz cexit call open jmp rrr1 cexit: call ok_exit rrr1: mov ah,6 mov al,0 mov ch,1 mov cl,0 mov dh,24 mov dl,79 mov bh,1eh int 10h mov ah,6 mov a

42、l,1 mov ch,1 mov cl,0 mov dh,24 mov dl,79 mov bh,1eh int 10h call dis_buff ret dis_file endp dis_buff proc near mov ah,2 mov bh,0 mov dh,1 mov dl,0 int 10h mov ah,9 lea dx,buff int 21h ret dis_buff endp open proc near call display mov ah,6 mov al

43、,0 mov ch,1 mov cl,0 mov dh,24 mov dl,79 mov bh,1eh int 10h call dis_buff ;顯示緩存數據 mov ah,6 mov al,0 mov bh,70h mov ch,6 mov cl,19 mov dh,6 mov dl,59 int 10h mov ah,6 ;彈出窗口message顯示區(qū) mov al,1 mov bh,70h mov ch,6 mov cl,19 mov dh,6 mov dl,59 int 10h

44、 mov ah,2 mov bh,0 mov dh,6 mov dl,34 int 10h mov ah,9 lea dx,mss int 21h mov ah,6 mov al,0 mov bh,5eh mov ch,7 mov cl,19 mov dh,14 mov dl,59 int 10h mov ah,6 mov al,1 mov bh,5eh mov ch,7 mov cl,19 mov dh,14 mov dl,59 int 10h mov ah,13h ;

45、顯示eoor lea bp,eorr mov al,0 mov cx,5 mov bh,0 mov bl,52h mov dh,10 mov dl,24 int 10h mov ah,2 mov bh,0 mov dh,10 mov dl,32 int 10h mov ah,9 lea dx,printf int 21h mov ah,13h lea bp,ok mov al,0 mov cx,4 mov bh,0 mov bl,70h mov dh,12 mov dl,37 int

46、 10h sure: mov ah,00h int 16h cmp al,0dh jnz sure mov ah,6 mov al,0 mov ch,1 mov cl,0 mov dh,24 mov dl,79 mov bh,1eh int 10h call dis_buff ret open endp ok_exit proc proc mov ah,6 mov bh,0 mov al,0 mov ch,0 mov cl,0 mov dh,24 mov dl,79 int 10h

47、 mov ah,4ch int 21h ret ok_exit endp dis_text proc near mov ah,6 mov al,0 mov bh,70h mov ch,1 mov cl,18 mov dh,1 mov dl,24 int 10h mov ah,6 mov al,1 mov bh,70h mov ch,1 mov cl,18 mov dh,1 mov dl,24 int 10h mov ah,2 mov bh,0 mov dh,1 mov dl,18

48、 int 10h mov ah,09h lea dx,f2 int 21h mov ah,13h lea bp,s7 mov al,0 mov cx,5 mov dh,1 mov dl,18 mov bh,0 mov bl,05ah int 10h inpuu: mov ah,0 int 16h cmp ah,01h jz r121 cmp al,0dh jnz r121 mov buff,'$' r121: mov ah,6 mov al,0 mov ch,1 mov cl,0 mov

49、dh,24 mov dl,79 mov bh,1eh int 10h call dis_buff ret dis_text endp dis_about proc near mov ah,6 mov al,0 mov bh,70h mov ch,6 mov cl,19 mov dh,6 mov dl,59 int 10h mov ah,6 mov al,1 mov bh,70h mov ch,6 mov cl,19 mov dh,6 mov dl,59 int 10h mov ah,

50、2 mov bh,0 mov dh,6 mov dl,34 int 10h mov ah,9 ;輸出About Edit lea dx,ab1 int 21h mov ah,6 mov al,0 mov bh,3eh mov ch,7 mov cl,19 mov dh,14 mov dl,59 int 10h mov ah,6 mov al,1 mov bh,3eh mov ch,7 mov cl,19 mov dh,14 mov dl,59 int 10h mov ah,13h

51、 lea bp,design ;顯示design mov cx,7 mov dh,8 mov dl,30 mov bh,0 mov bl,30h int 10h mov ah,6 ;顯示CLASS處清屏 mov al,0 mov bh,30h mov ch,9 mov cl,30 mov dh,9 mov dl,38 int 10h mov ah,13h lea bp,class ;顯示class mov cx,5 mov dh,9 mov dl,30 mov bh,0 mov bl,31h int

52、 10h mov ah,6 ;顯示date處清屏 mov al,0 mov bh,3eh mov ch,10 mov cl,30 mov dh,10 mov dl,38 int 10h mov ah,13h lea bp,date ;顯示日期 mov cx,5 mov dh,10 mov dl,30 mov bh,0 mov bl,30h int 10h mov ah,6 ;顯示 處清屏 mov al,0 mov bh,3eh mov ch,11 mov cl,30 mov dh,11

53、mov dl,38 int 10h mov ah,13h lea bp, ;顯示 mov cx,3 mov dh,11 mov dl,30 mov bh,0 mov bl,30h int 10h mov ah,2 mov bh,0 mov dh,8 mov dl,42 int 10h mov ah,9 ;顯示 lea dx,ab2 int 21h mov ah,2 mov bh,0 mov dh,9 mov dl,42 int 10h mov ah,9 ;顯示 lea

54、 dx,ab3 int 21h mov ah,2 mov bh,0 mov dh,10 mov dl,42 int 10h mov ah,9 lea dx,ab4 int 21h mov ah,2 mov bh,0 mov dh,11 mov dl,42 int 10h mov ah,9 ;顯示 lea dx,q1 int 21h mov ah,13h ;顯示OK lea bp,ok mov al,0 mov cx,4 mov bh,0 mov bl,70h mov dh,13

55、 mov dl,37 int 10h check: mov ah,0 int 16h cmp al,0dh jnz check mov ah,6 mov al,0 mov ch,1 mov cl,0 mov dh,24 mov dl,79 mov bh,1eh int 10h mov ah,6 mov al,1 mov ch,1 mov cl,0 mov dh,24 mov dl,79 mov bh,1eh int 10h mov ah,2 mov bh,0 mov dh,1 m

56、ov dl,0 int 10h call dis_buff ret dis_about endp key_back proc near mov ah,3 mov bh,0 int 10h cmp dh,1 jnz ba2 cmp dl,0 jnz back1 mov ah,2 ;當光標在第一行第0列時 mov bh,0 mov dh,1 mov dl,0 int 10h mov ah,2 mov dl,0 int 21h mov ah,2 ;光標回退 mov bh,0 mov dh,1

57、 mov dl,0 int 10h jmp rsd ba2: cmp dl,0 jnz back1 mov ah,2 mov bh,0 dec dh mov dl,79 int 10h mov ah,2 mov dl,0 int 21h mov ah,3 mov bh,0 int 10h mov ah,2 ;光標回退 mov bh,0 dec dh mov dl,79 int 10h jmp rsd back1: mov ah,2 ;當光標不是在第一行以與不在第0列時 mov bh,0 dec dl int 10h mov ah,2 mov dl,0 int 21h mov ah,3 mov bh,0 int 10h mov ah,2 ;光標回退 mov bh,0 dec dl int 10h jmp rsd rsd: dec di mov buff[di],'$' ret key_back endp code ends end start

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!