中山大學 West BBS-西子灣站

『主選單』
分類佈告
分類精華
休閒聊天
個人郵件
個人設定
重新登入
『應數系組合語言(楊昌彪老師)』一般區佈告
←回列表  ↑上一篇  ↓下一篇        張貼  回應       
發信人: wkf ( 心醉了......)    看板:math-asm
日期: Sat Jul  5 01:07:22 1997
標題: 期末報告


    姓名:黃錦輝
    學號:8424051
    科系:應數二
    科目:組合語言
指導老師:楊昌彪先生


題目:  行事曆


解題方式與所需之知識:

本次所選寫的期末程式~~行事曆,是採取以C語言為主,以組
語為輔.怎麼說呢!因這行事曆是用滑鼠來控制存取介面,所
以在滑鼠的控制部份是以組語來寫,而資料的處理則以動態資
料結構的方式諸存,這是上學期所學的.所以說解題的方式不
難,只需把資料結構學好就可以了,至於所需的知識嘛!也不
多,把如何控制滑鼠部份看懂,再來就是資料結構學一學,最
後就是最起碼大家都要會的C語言了.


細部流程:

在執行此程式時,首先會出現一主選單,讓使用者以滑鼠選取
要那項服務,服務有加入新資料,觀看,刪除&離開.若此時
使用者所選的是加入新資料,則程式會要求使用者以滑鼠提供
所要加入的資料,資料提供的順序為?月?日?時?分&什麼
事,在填寫資料時,會出現所對應的介面.資料提供完畢後,
就會以RECORD方式,LIST到适合的位置,方便下次取出來.若
使用者選觀看,則只會要求使用者提供要觀看?月?日,一樣
是以滑鼠控制.至於刪除,本來是會要求使用者提供?月?日
?時?分的,經老師指點,發覺很沒效率,所以已把這選項從
主選單中去掉,改為在觀看時,若要修正或刪除某項,只需把
滑鼠浮標移到該項,點一點,就會出現一介面,有三選項要使
用者選,它們是修正,刪除&什麼都不做.要結束本程式,只
要在主選單中,選離開就行了.對了,還有一點忘了說,每次
服務完後,都會回到主選單,直到使用者選離開為止.


所遇困難與解決方法:

因擔心本學期課業太重,且要處理的事也不少,所以一開始就
把要選寫的題目定得太簡單,導致沒有什麼因難發生,也因此
沒什麼能發揮的.值得一提的是以滑鼠讀取一事.當我們執行
INT 33H中斷時,右AX=3,則BX=按鍵狀態,而X軸座標會放在
CX,Y軸座標會放在 DX.那到底在螢目上某一小匡匡的範圍
又是多少呢?為了解這問題,我在寫程式時,先加入了一行
printf,以迴圈方式把點到的位置列印到螢目上,以便觀察其
變化.本來我是以最笨最暴力的方式,用一大堆的if else,
這樣程式看起來就很亂,經留意觀察,發現每換行一次,Y軸
的值就加8,同樣的,每輸入一字元,X軸的值也是加8,於
是寫了一方程式來取代一大堆的if else ,呵呵!這可能就是
唸數學系的好處吧!


心得與感想:

本以為滑鼠的控制非常難,沒想到是這麼簡單,基本上只要自
己看就能會了,難怪老師在這一部份教的不多.這程式除了滑
鼠的控制是新學的外,其他的都是上學期就學過了,因滑鼠的
控制不難,所以整個程式寫起來就變得很簡單了.也因為簡單
,學到的自然就少了很多.對於組語,真的是問心有愧,自問
并沒盡力去應負它,如今除了難過還是難過.修組語讓我吸取
了這麼一個寶貴經驗,要學東西就千萬別”避重就輕”,不然
所學就會相對的少了很多.這句話以前曾聽人說過,只是當時
不能意會,如今卻身歷其境.


書目參考:

80X86組合語言徹底研究  林承戰&林俊杰著
Turbo C入門與應用   洪錦魁著
楊昌彪老師所提供的影印資料


--
* Origin: 國立中山大學 West BBS * From: 140.117.181.64


←回列表  ↑上一篇  ↓下一篇        張貼  回應