版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)算機(jī)科學(xué)與工程學(xué)院課程設(shè)計(jì)報(bào)告題目全稱:用高級(jí)語言c#模擬計(jì)算機(jī)指令流程 學(xué)生學(xué)號(hào): 2010231030025 姓名:樊繼碩指導(dǎo)老師: 職稱: 指導(dǎo)老師評(píng)語: 簽字: 課程設(shè)計(jì)成績(jī):設(shè)計(jì)過程表現(xiàn)設(shè)計(jì)報(bào)告質(zhì)量總分第一章 概論21.指令流程仿真軟件工作原理與實(shí)現(xiàn)技術(shù)31.1 cpu的基本組成31.2 時(shí)序控制方式31.3控制器分類32.算術(shù)、邏輯運(yùn)算部件33.cpu模型43.1指令格式43.2尋址方式43.3 指令類型53.4 傳送指令63.5 雙操作數(shù)算邏指令63.6 程序控制類指令63.7 總線與數(shù)據(jù)通路結(jié)構(gòu)63.8 mov指令圖7第二章 需求分析81.導(dǎo)言81.1 目的81.2 范圍82
2、.系統(tǒng)定義82.1 項(xiàng)目來源及背景82.2 項(xiàng)目要達(dá)到的要求92.3 軟件整體結(jié)構(gòu)93.應(yīng)用環(huán)境103.1 系統(tǒng)運(yùn)行硬件環(huán)境103.2 軟件運(yùn)行軟件環(huán)境104.功能規(guī)格114.1 角色(actor)定義114.2 系統(tǒng)住use case圖114.3 用戶端115.性能需求135.1 界面需求135.2 響應(yīng)時(shí)間需求145.3 可靠性需求145.4 開放性需求145.5 可擴(kuò)展性需求145.6 系統(tǒng)安全性需求146.產(chǎn)品提交14第三章 概要設(shè)計(jì)151.系統(tǒng)名稱152.編寫目的153.系統(tǒng)目的164.系統(tǒng)分析165.界面設(shè)計(jì)165.1界面設(shè)計(jì)166.模塊設(shè)計(jì)176.1指令流程演示模塊設(shè)計(jì)17第四章
3、 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)171.導(dǎo)言171.1目的171.2本文檔的預(yù)期讀者181.3范圍182.詳細(xì)設(shè)計(jì)概述183.界面詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)18第五章 軟件測(cè)試351.測(cè)試環(huán)境351.1硬件環(huán)境351.2 軟件運(yùn)行軟件環(huán)境351.3 測(cè)試方法和工具352.測(cè)試范圍353.測(cè)試目的354.界面測(cè)試36第一章 概論1.指令流程仿真軟件工作原理與實(shí)現(xiàn)技術(shù)1.1 cpu的基本組成cpu 通常包含運(yùn)算部件、寄存器組、微命令產(chǎn)生部件、時(shí)序系統(tǒng)等主要部件,由cpu內(nèi)部總線將它們連接起來,實(shí)現(xiàn)它們之間的信息交換。1.2 時(shí)序控制方式同步控制方式是指統(tǒng)一發(fā)出的時(shí)序信號(hào)對(duì)各項(xiàng)操作進(jìn)行同步控制。在同步控制方式中,操作時(shí)間被劃分
4、為許多長(zhǎng)度固定的時(shí)間段,一個(gè)時(shí)間段就是一個(gè)節(jié)拍,也稱為時(shí)鐘周期。時(shí)鐘周期作為基本的時(shí)序單位,一旦確定,便固定不變,這是同步控制方式的主要特點(diǎn)。異步控制方式是指各項(xiàng)操作不受統(tǒng)一時(shí)序信號(hào)的約束,而是根據(jù)實(shí)際需要安排不同的時(shí)間。在異步控制所涉及的操作范圍內(nèi),沒有統(tǒng)一的時(shí)鐘周期劃分和同步定是脈沖,只是異步控制方式的基本特點(diǎn)。1.3控制器分類組合邏輯控制器。執(zhí)行指令是,由組合邏輯電路在相應(yīng)時(shí)間發(fā)出所需的微命令,控制有關(guān)操作。這種產(chǎn)生微命令的方式就是組合邏輯控制方式。組合邏輯控制器主要包括微命令發(fā)生器、指令寄存器ir、程序寄存器pc、狀態(tài)字寄存器psw、時(shí)序系統(tǒng)等部件。所謂微程序控制方式,是指微命令不是由
5、組合邏輯而是由微命令譯碼產(chǎn)生的。微命令控制器與組合邏輯控制器的最大不同之處是微命令產(chǎn)生部件的實(shí)體發(fā)生了變化,它不是由一些組合邏輯電路的集合,而是一個(gè)控制寄存器cm和相應(yīng)的微命令寄存器uir,還有微地址形成電路以及微地址寄存器ura等部件。2.算術(shù)、邏輯運(yùn)算部件在計(jì)算機(jī)中,運(yùn)算部件主要由輸入邏輯、算術(shù)邏輯運(yùn)算部件、輸出邏輯三部分組成。其中alu是運(yùn)算器部件的核心,即可完成算術(shù)運(yùn)算,也可完成邏輯運(yùn)算。alu的組成一位加法器包括由兩個(gè)半加器構(gòu)成的一位全加器和由與非門構(gòu)成的一位進(jìn)位門。一位輸入選擇器由一對(duì)與或非門構(gòu)成。控制門用來選擇alu做算術(shù)運(yùn)算和邏輯運(yùn)算。3.cpu模型模型機(jī)指令系統(tǒng)3.1指令格式
6、從簡(jiǎn)單、規(guī)整出發(fā),模型機(jī)采用定長(zhǎng)指令格式,每條指令16位長(zhǎng),占據(jù)一個(gè)存儲(chǔ)單元。由于指令字長(zhǎng)有限,采用寄存器型尋址,及指令格式中給出寄存器號(hào),根據(jù)不同尋址方式形成相應(yīng)地址。3.2尋址方式模型機(jī)尋址方式的特點(diǎn)是在指令中直接給出寄存器編號(hào),供cpu編程訪問、可編程寄存器r0r3、堆棧指針sp、程序計(jì)數(shù)器pc、程序狀態(tài)字psw。針對(duì)同一種尋址方式編碼,制定不同的寄存器,可以派生出多種不同的尋址方式。(1) 寄存器尋址操作數(shù)地址存放在制定的寄存器。這種尋址方式可用來設(shè)置初始值,如設(shè)置某個(gè)寄存器的內(nèi)容,或設(shè)置堆棧指針,或設(shè)置程序起始地址,或設(shè)置程序狀態(tài)字等。(2) 寄存器間址操作數(shù)地址存放在指定的寄存器中
7、,而操作數(shù)則放在由該地址所指示的存儲(chǔ)單元中。因此這種尋址方式需要內(nèi)容訪存,從主存單元讀取操作數(shù),或?qū)?shù)據(jù)寫入住存單元。(3) 自減型寄存器間址將指定寄存器的內(nèi)容減1后作為操作數(shù)地址再按此地址訪存,從主存中讀取操作數(shù),或?qū)?shù)據(jù)寫入主存。(4)自增型寄存器間址操作數(shù)地址在指定寄存器中,訪存后將寄存器內(nèi)容加1,作為新的地址指針。(5)自增型雙間址將指定寄存器的內(nèi)容作為操作數(shù)的間接地址,根據(jù)該地址訪存后寄存器內(nèi)容加1,指向下一個(gè)間址單元。雙間址需兩次訪存,第一次從間址單元中讀取操作數(shù)地址;第二次訪存再從操作數(shù)地址單元中取得操作數(shù),或向該單元寫入數(shù)據(jù)。(6)變址尋址方式在變址方式中,形式地址存放在緊跟指
8、令的存儲(chǔ)單元中,所指定的變址寄存器內(nèi)容作為變址量,將形式地址與變址量相加,其結(jié)果為操作數(shù)地址。再根據(jù)該地址訪存,讀取或?qū)懭氩僮鲾?shù)。(7)跳步方式現(xiàn)行指令執(zhí)行后,不是順序執(zhí)行下一條指令,而是執(zhí)行再下一條指令。因此在取指后pc+1,然后進(jìn)行一次pc+1,使pc內(nèi)容指向現(xiàn)行指令之后第二個(gè)單元。這是一種實(shí)現(xiàn)程序分支的方法。3.3 指令類型根據(jù)模型機(jī)指令格式,操作碼有4位,現(xiàn)用14種操作碼表示了15種指令,余下2種操作碼組合可供擴(kuò)展。按操作數(shù)多少,可將模型機(jī)的指令分為雙操作數(shù)指令和但操作數(shù)指令兩大類;按指令本身的功能又可將這些指令分為傳送、運(yùn)算、轉(zhuǎn)移等三類。3.4 傳送指令由于可選用多種尋址方式,mov
9、指令可用來預(yù)置寄存器或單元內(nèi)容,實(shí)現(xiàn)寄存器間、寄存器存儲(chǔ)器間、各存儲(chǔ)單元間的信息傳送,還可實(shí)現(xiàn)堆棧操作push、pop,不專設(shè)方寸指令。在系統(tǒng)結(jié)構(gòu)上將外圍接口寄存器與主存單元統(tǒng)一編址,因而mov指令可用來進(jìn)行i/o操作,不再專門設(shè)置顯示i/o指令。3.5 雙操作數(shù)算邏指令邏輯運(yùn)算指令用來實(shí)現(xiàn)位檢測(cè)、位清除、位設(shè)置、位修正等位操作功能,所用屏蔽字可由立即尋址方式提供。異或指令可實(shí)現(xiàn)判符合操作。3.6 程序控制類指令程序控制類指令包括轉(zhuǎn)移指令、返回指令和轉(zhuǎn)子指令,用來實(shí)現(xiàn)程序的轉(zhuǎn)移。3.7 總線與數(shù)據(jù)通路結(jié)構(gòu)3.7.1 總線總線是一組能為多個(gè)部件分時(shí)共享的信息傳送線3.7.2 內(nèi)總線模型機(jī)內(nèi)部數(shù)據(jù)
10、通路的特點(diǎn)是:由alu匯集各數(shù)據(jù),單向內(nèi)總線實(shí)現(xiàn)數(shù)據(jù)分配,寄存器在邏輯上分立。各寄存器將其輸出分別送至alu的輸入選擇器,alu輸出經(jīng)移位器送到內(nèi)總線上,內(nèi)總線是16根單項(xiàng)數(shù)據(jù)傳送線,它們連接到各寄存器對(duì)應(yīng)的d輸入端。數(shù)據(jù)究竟送入哪一個(gè)或哪幾個(gè)寄存器,取決于及存取器是否收到cp脈沖,控制器只向需要接收數(shù)據(jù)的寄存器發(fā)同步打入脈沖。這種通路結(jié)構(gòu)的優(yōu)點(diǎn)是簡(jiǎn)單、規(guī)整、控制集中,便于設(shè)置微命令;缺點(diǎn)是只有一組基本數(shù)據(jù)通路,并行程度較低。3.7.3 系統(tǒng)總線cpu通過總線與外部連接,如連接主存、各種外圍設(shè)備。系統(tǒng)總線可分為地址總線、數(shù)據(jù)總線、控制總線三種。3.7.4 指令指令是程序可執(zhí)行形態(tài)的基本單元,它
11、以代碼形式按一定格式給出要求計(jì)算機(jī)執(zhí)行的操作類型,以及相應(yīng)的操作數(shù)地址等控制信息,一條指令控制實(shí)現(xiàn)了一步操作。3.7.5 指令中的基本信息操作碼;操作數(shù)或操作數(shù)地址;存放運(yùn)算結(jié)果的地址;后繼指令地址3.8 mov指令圖第二章 需求分析1.導(dǎo)言1.1 目的該文檔是為用戶學(xué)習(xí)計(jì)算機(jī)指令流程軟件要求,主要描述了該軟件的設(shè)計(jì)需求,以及所要達(dá)到的功能。將作為以后開發(fā)以及概要設(shè)計(jì)階段的設(shè)計(jì)輸入。本文檔的預(yù)期讀者有: 設(shè)計(jì)人員開發(fā)人員項(xiàng)目管理人員測(cè)試人員指導(dǎo)老師客戶1.2 范圍 此軟件用于初學(xué)計(jì)算機(jī)組成原理的學(xué)生用于模擬計(jì)算機(jī)指令流程學(xué)習(xí)用,教師也可用于教學(xué)之中。2.系統(tǒng)定義2.1 項(xiàng)目來源及背景在學(xué)習(xí)計(jì)算
12、機(jī)指令執(zhí)行流程的時(shí)候,由于其內(nèi)容比較空洞抽象造成了老師教授和學(xué)生學(xué)習(xí)理解的不便。在正常教學(xué)時(shí)也不方便進(jìn)行展示。運(yùn)用該軟件不但便于課堂教學(xué)同時(shí)也方便同學(xué)們的理解與掌握計(jì)算機(jī)的指令執(zhí)行流程。同時(shí)具有快捷性、方便性、檢索迅速查找方便、可靠性高、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大高學(xué)習(xí)效率降低學(xué)習(xí)的成本。優(yōu)化了教學(xué)方式,并有利與提高學(xué)生的積極性主動(dòng)性。2.2 項(xiàng)目要達(dá)到的要求此軟件的現(xiàn)實(shí)意義在于方便老師的教學(xué)與同學(xué)的理解之余同時(shí)提高同學(xué)的積極性,是同學(xué)可以主動(dòng)學(xué)習(xí),更加深入理解計(jì)算機(jī)內(nèi)部的指令執(zhí)行流程,深入理解計(jì)算機(jī)硬件。本項(xiàng)目目標(biāo)如下:1.軟件能夠提供友好的用戶界面,使操作人員的工作量最大限度的減少
13、2.軟件具有良好的運(yùn)行效率,能夠得到提高生產(chǎn)率的目的3.軟件應(yīng)有良好的可擴(kuò)充性,可以容易的加入其它系統(tǒng)的應(yīng)用4.平臺(tái)的設(shè)計(jì)具有一定的超前性,靈活性5.通過這個(gè)項(xiàng)目可以鍛煉隊(duì)伍,提高團(tuán)隊(duì)的開發(fā)能力和項(xiàng)目管理能力6.盡可能方便用戶需求,不會(huì)出現(xiàn)錯(cuò)誤2.3 軟件整體結(jié)構(gòu) 本軟件的整體結(jié)構(gòu)為根據(jù)用戶需求,以用戶選擇的指令為準(zhǔn),模擬指令的執(zhí)行流程,顯示出指令執(zhí)行的過程,并在屏幕的圖上進(jìn)行顯示,可刷新操作。其關(guān)系圖為:指令流程模擬軟件選擇執(zhí)行的指令選擇延遲模擬指令流程顯示刷新已執(zhí)行指令流程3.應(yīng)用環(huán)境本項(xiàng)目的應(yīng)用環(huán)境可以分硬件環(huán)境、軟件環(huán)境來描述。3.1 系統(tǒng)運(yùn)行硬件環(huán)境本系統(tǒng)的硬件環(huán)境如下:用戶機(jī):普通
14、pccpu:p4 1.8ghz內(nèi)存:256mb以上分辨率:推薦使用1366*768像素3.2 軟件運(yùn)行軟件環(huán)境本系統(tǒng)的軟件環(huán)境如下:操作系統(tǒng):windows xp, windows 7開發(fā)工具包:vs2010pc上裝有.net2.0或以上版本4.功能規(guī)格 我們采用面向?qū)ο蠓治鲎鳛橹饕南到y(tǒng)建模方法,運(yùn)用c#語言進(jìn)行程序的編寫。 use case描述的是“actor”(用戶、外部系統(tǒng)以及系統(tǒng)處理)是如何與系統(tǒng)交互來完成工作的。use case模型提供了一個(gè)非常重要的方式來界定系統(tǒng)邊界以及定義系統(tǒng)功能,同時(shí),該模型將來可以派生出動(dòng)態(tài)對(duì)象模型。4.1 角色(actor)定義角色或者執(zhí)行者(actor
15、)指與系統(tǒng)產(chǎn)生交互的外部用戶或者外部系統(tǒng)。4.2 系統(tǒng)住use case圖 本軟件只有一種用戶,用戶只需下載使用即可。系統(tǒng)主use case圖如下:系統(tǒng)用戶流程軟件4.3 用戶端 用戶只需下載安裝此軟件即可使用此軟件功能,可用于學(xué)習(xí)與教學(xué)。用戶安裝軟件選擇需要模擬的指令模擬指令流程顯示模擬的指令 用戶端的主要功能為模擬并顯示用戶要求的流程,將計(jì)算機(jī)執(zhí)行流程的順序顯示出來,并在縮略圖上顯示出順序。用戶端功能描述: 功能一:顯示可模擬的計(jì)算機(jī)指令流程,在見面的右邊可以看到。 功能二:可顯示出要模擬流程的執(zhí)行過程,文字描述在右下角,縮略圖描述在軟件界面左邊。 功能三:可將已執(zhí)行的計(jì)算機(jī)指令文字描述清
16、空,有一按鈕執(zhí)行此功能。4.3.1顯示可模擬的計(jì)算機(jī)指令流程用例描述:顯示可模擬的計(jì)算機(jī)指令流程執(zhí)行者 :用戶前置條件:用戶進(jìn)入軟件主頁面后置條件:點(diǎn)擊下拉菜單基本路徑:1. 用戶打開軟件2. 點(diǎn)擊下拉按鈕可看到可模擬的流程4.3.2顯示出要模擬流程的執(zhí)行過程用例描述:顯示出要模擬流程的執(zhí)行過程執(zhí)行者 :用戶前置條件:用戶進(jìn)入軟件主頁面后置條件:點(diǎn)擊打開執(zhí)行功能基本路徑:1用戶打開軟件2點(diǎn)擊下拉按鈕選擇要模擬的流程3顯示文字描述與縮略圖描述4.3.3 清空已模擬的指令流程 用例描述:清空已模擬的指令流程執(zhí)行者 :用戶前置條件:用戶進(jìn)入軟件主頁面后置條件:點(diǎn)擊打開清空功能基本路徑:1用戶打開軟件
17、2點(diǎn)擊下拉按鈕選擇要模擬的流程3顯示文字描述與縮略圖描述4點(diǎn)擊清空按鈕5.性能需求根據(jù)用戶對(duì)的需要,確定系統(tǒng)在響應(yīng)時(shí)間、可靠性、安全等方面有較高的性能要求。5.1 界面需求系統(tǒng)的界面要求如下:頁面內(nèi)容:主題突出,站點(diǎn)定義、術(shù)語和行文格式統(tǒng)一、規(guī)范、明確,欄目、菜單設(shè)置和布局合理,傳遞的信息準(zhǔn)確、及時(shí)。內(nèi)容豐富,文字準(zhǔn)確,語句通順;專用術(shù)語規(guī)范,行文格式統(tǒng)一規(guī)范。導(dǎo)航結(jié)構(gòu):界面具有明確的導(dǎo)航指示,且便于理解,方便用戶使用。技術(shù)環(huán)境:界面大小適當(dāng),方便不同的使用者使用。藝術(shù)風(fēng)格:界面、版面形象清新悅目、布局合理,字號(hào)大小適宜、字體選擇合理,前后一致,美觀大方。5.2 響應(yīng)時(shí)間需求當(dāng)客戶使用軟件的時(shí)
18、候,進(jìn)行任何操作的時(shí)候,系統(tǒng)應(yīng)該及時(shí)的進(jìn)行反應(yīng),反應(yīng)的時(shí)間在5秒以內(nèi)。系統(tǒng)應(yīng)能監(jiān)測(cè)出各種非正常情況,如軟件運(yùn)行出錯(cuò),與系統(tǒng)不兼容等,避免出現(xiàn)長(zhǎng)時(shí)間等待甚至無響應(yīng)。5.3 可靠性需求系統(tǒng)正常運(yùn)行,正確提示相關(guān)內(nèi)容。5.4 開放性需求軟件應(yīng)具有十分的靈活性,以適應(yīng)將來功能擴(kuò)展的需求。5.5 可擴(kuò)展性需求軟件設(shè)計(jì)要求能夠體現(xiàn)擴(kuò)展性要求,以適應(yīng)將來功能擴(kuò)展的需求。5.6 系統(tǒng)安全性需求軟件有嚴(yán)格的權(quán)限管理功能,各功能模塊需有相應(yīng)的權(quán)限方能進(jìn)入。軟件需能夠防止各類誤操作可能造成的數(shù)據(jù)丟失,破壞。防止用戶非法獲取網(wǎng)頁以及內(nèi)容。6.產(chǎn)品提交提交的產(chǎn)品為:軟件程序包開發(fā)文檔用戶手冊(cè)第三章 概要設(shè)計(jì)1. 系統(tǒng)名
19、稱cpu指令流程仿真軟件(mov指令、雙操作數(shù)指令、單操作數(shù)指令)2. 編寫目的本文檔旨在給出cpu指令流程模擬系統(tǒng)的大體框架,其中主要包括有:系統(tǒng)目的、系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)、模塊設(shè)計(jì)、界面設(shè)計(jì)。3. 系統(tǒng)目的本軟件旨在通過對(duì)cpu指令(mov指令、雙操作數(shù)指令、單操作數(shù)指令)流程的直觀模擬,方便對(duì)計(jì)算機(jī)組成原理的學(xué)習(xí)。在學(xué)習(xí)cpu指令流程的相關(guān)知識(shí)時(shí)候,由于其內(nèi)容比較空洞抽象造成了老師教授和學(xué)生學(xué)習(xí)理解的不便。在教學(xué)過程中也由于無法現(xiàn)場(chǎng)演示,使得不少同學(xué)對(duì)該部分知識(shí)存在理解模糊的問題。運(yùn)用該軟件不僅便于課堂教學(xué)同時(shí)也方便與同學(xué)們的理解與掌握cpu指令流程和模型機(jī)數(shù)據(jù)通路結(jié)構(gòu)原理,同時(shí)具有快捷性、
20、方便性、檢索迅速查找方便、可靠性高、壽命長(zhǎng)、成本低等優(yōu)點(diǎn),這些優(yōu)點(diǎn)能夠極大高學(xué)習(xí)效率降低學(xué)習(xí)成本,優(yōu)化了教學(xué)方式,并有利于提高學(xué)生的積極主動(dòng)性。4. 系統(tǒng)分析本仿真程序軟件能夠根據(jù)用戶在頁面提示的選項(xiàng)框和輸入框內(nèi)相應(yīng)的選擇和輸入,分別在圖示的模型機(jī)數(shù)據(jù)通路結(jié)構(gòu)示意圖和富文本框內(nèi)動(dòng)態(tài)顯示出選擇指令的指令流程,一條指令對(duì)應(yīng)一幅圖形,在示意圖形中通過相應(yīng)部件變紅顯示該指令執(zhí)行時(shí)數(shù)據(jù)的流向,從而達(dá)到模擬指令流程的目的,另外用戶可以根據(jù)教學(xué)需要在“輸入延遲”一欄中輸入需要延遲的時(shí)間,以控制動(dòng)態(tài)流程的間隔。 5. 界面設(shè)計(jì)本軟件界面設(shè)計(jì)應(yīng)以簡(jiǎn)潔易懂為原則。本軟件包括一個(gè)界面,將各個(gè)控制界面與模擬示意圖形和
21、動(dòng)態(tài)顯示指令的富文本框至于同一界面。界面的大小都應(yīng)合適,并且在打開時(shí),方便用戶使用。5.1界面設(shè)計(jì)界面中包括標(biāo)題和模型機(jī)數(shù)據(jù)通路結(jié)構(gòu)模擬圖,圖上配上明確的文字說明,使軟件易于用戶操作。界面上的按鈕名稱簡(jiǎn)潔易懂,用戶能夠根據(jù)各個(gè)按鈕的名稱推斷出它們的作用;界面設(shè)有輸入框,用于用戶輸入,輸入框應(yīng)醒目,大小合適,方便用戶使用。在模擬指令流程的各個(gè)步驟時(shí),界面上相應(yīng)部件連接線以紅色顯示,醒目大方;紅色箭頭指向準(zhǔn)確,富文本框內(nèi)顯示指令合理,文字大小清晰醒目,方便查看。6. 模塊設(shè)計(jì)6.1 指令流程演示模塊設(shè)計(jì)指令流程演示主要包括以下幾個(gè)模塊:1)繪制模型機(jī)數(shù)據(jù)通路結(jié)構(gòu)模塊;2)各按鈕模塊;3)各類輸入模
22、塊;4)mov類指令函數(shù)模塊;5)雙操作數(shù)指令函數(shù)模塊;6)單操作數(shù)指令函數(shù)模塊;7)顯示各種指令下的不同工作周期模塊;8)各工作周期內(nèi)顯示不同指令函數(shù)模塊;9)時(shí)鐘timer模塊。第四章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)1.導(dǎo)言1.1目的本文檔的編寫的目的是描述此系統(tǒng)的詳細(xì)設(shè)計(jì),是將在概要設(shè)計(jì)中利用建模的思想得到的模塊內(nèi)部的邏輯結(jié)構(gòu)轉(zhuǎn)化成為偽代碼的形式,進(jìn)一步細(xì)化概要設(shè)計(jì)中模塊中的數(shù)據(jù)結(jié)構(gòu)和算法其主要內(nèi)容有:系統(tǒng)功能簡(jiǎn)介以及于需求規(guī)格說明書的比對(duì);簡(jiǎn)要說明詳細(xì)設(shè)計(jì);將各個(gè)模塊內(nèi)部的拓?fù)浣Y(jié)構(gòu)完整化;最小模塊的組件利用偽代碼的形式表現(xiàn);1.2本文檔的預(yù)期讀者編碼實(shí)現(xiàn)的人員;項(xiàng)目管理人員(本項(xiàng)目組組長(zhǎng));測(cè)試人員;
23、指導(dǎo)教師。1.3范圍本文檔對(duì)各個(gè)模塊以及他們之間的接口進(jìn)行定義,至于具體在各個(gè)單元的實(shí)現(xiàn),則是在編碼階段,相關(guān)編碼人員需要做的工作。模塊及模塊之間的接口的定義式采用偽代碼的形式體現(xiàn),主要目的是完成一種設(shè)計(jì)的思想,至于利用程序語言將其實(shí)現(xiàn),則仍是編碼人員的具體工作。2.詳細(xì)設(shè)計(jì)概述 本課程設(shè)計(jì)的詳細(xì)設(shè)計(jì)主要針對(duì)主界面的詳細(xì)設(shè)計(jì)和掃描時(shí)序界面的詳細(xì)設(shè)計(jì)。優(yōu)良的界面設(shè)計(jì)是本軟件設(shè)計(jì)成功與否的一個(gè)非常重要的因素。因?yàn)檐浖乃胁僮鞫际腔谶@兩個(gè)界面完成的。 本章主要描述軟件編碼中的主要函數(shù),具體的代碼參見附錄。3.界面詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)主界面流程如下圖所示。public form1() initializ
24、ecomponent(); private void form1_load(object sender, eventargs e) private void form1_paint(object sender, painteventargs e) (1)繪制模型機(jī)數(shù)據(jù)通路結(jié)構(gòu)模塊;public void piant() (2)各按鈕模塊;public void button1_click(object sender, eventargs e) if (combobox1.text = )/ & combobox2.text = & combobox3.text = ) messagebox.s
25、how(); else if (combobox2.text = ) messagebox.show(); else if (combobox3.text = ) messagebox.show(); else if (textbox1.text = ) timer1.enabled = false; messagebox.show(); else private void button2_click(object sender, eventargs e) this.close(); private void button3_click(object sender, eventargs e)
26、richtextbox1.clear(); (3)各類輸入模塊; private void combobox1_selectedindexchanged(object sender, eventargs e) if (combobox1.text = mov指?令?) if (combobox2.items.contains(r0) else combobox2.items.clear(); combobox2.items.add(r0); combobox2.items.add(r0); combobox2.items.add(-(r0); combobox2.items.add(i/(r0
27、)+); combobox2.items.add(r0)+); combobox2.items.add(x(r0); if (combobox3.items.contains(r1) ) else combobox3.items.clear(); combobox3.items.add(r1); combobox3.items.add(r1); combobox3.items.add(-(r1); combobox3.items.add(r1)+); combobox3.items.add(r1)+); combobox3.items.add(x(r1); if (combobox1.text
28、 = 雙?操作數(shù)y指?令?) if (combobox2.items.contains(r0) else combobox2.items.clear(); combobox2.items.add(r0); combobox2.items.add(r0); combobox2.items.add(-(r0); combobox2.items.add(i/(r0)+); combobox2.items.add(r0)+); combobox2.items.add(x(r0); if (combobox3.items.contains(r1) else combobox3.items.clear()
29、; combobox3.items.add(r1); combobox3.items.add(r1); combobox3.items.add(-(r1); combobox3.items.add(i/(r1)+); combobox3.items.add(r1)+); combobox3.items.add(x(r1); if (combobox1.text = 單操作數(shù)y指?令?) if (combobox2.items.contains(r0) combobox.items.clear(); combobox2.items.add(無t); if (combobox3.items.con
30、tains(r0) else combobox3.items.clear(); combobox3.items.add(r0); combobox3.items.add(r0); combobox3.items.add(-(r0); combobox3.items.add(r0)+); combobox3.items.add(r0)+); combobox3.items.add(x(r0); void start() switch(combobox1.text) case mov指?令?: textbox2.text = mov + + combobox2.text + , + combobo
31、x3.text; break; case 雙?操作數(shù)y指?令?: textbox2.text = op + + combobox2.text + , + combobox3.text; break; case 單操作數(shù)y指?令?: textbox2.text = op + + combobox3.text; break; private void combobox3_selectedindexchanged(object sender, eventargs e) start(); (4)mov類指令函數(shù)模塊;void mov() if (mov指?令?) piant(); if (tstep
32、= 1)/ft ft(); if (!= r0) if (!= r1) tstep+; else tstep = 4; else if (r1) tstep = 3; else tstep = 4; else if (tstep = 2) stmov(); if(ststep=0) tstep+; else if (tstep = 3) dtmov(); if(dtstep=0) tstep+; else if (tstep = 4) etmov(); if(etstep=0) tstep = 0; (5)雙操作數(shù)指令函數(shù)模塊; void doub() if (雙?操作數(shù)y指?令?) pian
33、t(); if (tstep = 1)/ft ft(); if ( != r0) if (!= r1) tstep+; else tstep = 4; else if (!= r1) tstep = 3; else tstep = 4; else if (tstep = 2) stmov(); if (ststep = 0) tstep+; else if (tstep = 3) dtdoub(); if (dtstep = 0) tstep+; else if (tstep = 4) etdoub(); if (etstep = 0) tstep = 0; (6)單操作數(shù)指令函數(shù)模塊; vo
34、id sing() if (單操作數(shù)y指?令?) piant(); if (tstep = 1)/ft ft(); if (r0) tstep = 4; else tstep = 3; else if (tstep = 3) dtdoub(); if (dtstep = 0) tstep+; else if (tstep = 4) etsing(); if (etstep = 0) tstep =0; (7)顯示各種指令下的不同工作周期模塊;void stmov() switch(combobox2.text) caser0: break; case(r0): break; case-(r0):break; case i/(r0)+: break;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 乳制品企業(yè)銷售經(jīng)理合同范本
- 臨時(shí)品牌專員招聘合同模板
- 科技園區(qū)建設(shè)土方開挖施工合同
- 銀行員工客戶信息保密承諾書
- 通信基站維護(hù)員合同范例
- 寫字樓水電維修工程師聘用協(xié)議
- 塑料廠給排水暖施工合同
- 互聯(lián)網(wǎng)公司文秘招聘協(xié)議
- 船舶管道保溫施工協(xié)議
- 廣告宣傳皮卡租賃合同
- 素描試卷家長(zhǎng)會(huì)
- JGJ-T490-2021鋼框架內(nèi)填墻板結(jié)構(gòu)技術(shù)標(biāo)準(zhǔn)
- 2024年移動(dòng)解決方案經(jīng)理認(rèn)證考試題庫大全-中(多選題)
- 無線測(cè)溫設(shè)備施工方案
- 2024年大學(xué)生網(wǎng)絡(luò)安全知識(shí)競(jìng)賽題庫及答案(共70題)
- 2024秋期國家開放大學(xué)??啤豆芾韺W(xué)基礎(chǔ)》一平臺(tái)在線形考(形考任務(wù)一至四)試題及答案
- 森林康養(yǎng) 課件
- 畜牧師招聘筆試題及解答(某大型央企)2024年
- 酒店保潔服務(wù)投標(biāo)方案(技術(shù)方案)
- 我是小交警(教學(xué)設(shè)計(jì))-2024-2025 學(xué)年六年級(jí)上冊(cè)綜合實(shí)踐活動(dòng)蒙滬版
- 藝術(shù)中國智慧樹知到答案2024年上海戲劇學(xué)院
評(píng)論
0/150
提交評(píng)論