freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

微機(jī)原理課程設(shè)計(jì)——輸出楊輝三角(編輯修改稿)

2024-10-17 22:57 本頁面
 

【文章內(nèi)容簡介】 中,使用到了3中空格形式,第一種是首數(shù)字1之前的空格,定義為AHEAD,第二種是首數(shù)字1后面的空格,定義為BETWEEN,第三種是和需顯示的數(shù)字位數(shù)相關(guān)的空格,定義為BACK,具體在程序中定義如下:AHEADDBBETWEEN DBBACKDB39。$39。 39。$39。 39。 $39。 定義了這三種空格后,需要將其顯示,這里我們使用DOS功能調(diào)用,9號系統(tǒng)功能調(diào)用——輸出字符串。功能是將指定的內(nèi)存緩沖區(qū)中的字符串在屏幕上顯示出來,緩沖區(qū)的字符串以“$”為結(jié)束標(biāo)志。Showspace: MOV BX, AXnexts: MOV AH, 9 MOV DX,OFFSET AHEAD CMP BX, 0。BX減1,控制輸出的空格數(shù)。首行顯示空格,空格數(shù)即為輸入的階數(shù)JZ donesdones: INT DEC JMP RET 21H BX nexts。完成顯示,返回。AX為6數(shù)據(jù)位數(shù) Showspace1: MOV BX, AXMOV AH, 9MOV DX,OFFSET BACK next: CMP BX, 0JZ doneINT 21HDEC BXJMP next done: RET第四章 實(shí)驗(yàn)結(jié)果及問題處理 實(shí)驗(yàn)結(jié)果通過對程序的多次完善,現(xiàn)在能夠達(dá)到的要求為:最小輸出1階,最大輸出14階的正反楊輝三角形,能夠判斷輸入數(shù)據(jù)是否合法,能夠詢問是否繼續(xù)輸出,當(dāng)輸入階數(shù)較小時,也能夠很好的顯示輸出,輸出的正反楊輝三角形美觀、清晰,實(shí)現(xiàn)了題目所提出的基本要求,對于遇到的一些問題,將在下節(jié)討論,下面附上一些運(yùn)行調(diào)試圖片。,并要求重新輸入數(shù)據(jù)。11階楊輝三角繼續(xù)輸出的4階和6階楊輝三角輸入階數(shù)不合法的提示界面 數(shù)據(jù)輸入問題對于數(shù)據(jù)輸入,我們當(dāng)初考慮到了兩種方法,在方案選擇中已論證了兩種方法各自的優(yōu)缺點(diǎn),本來想使用0AH號系統(tǒng)功能調(diào)用,因?yàn)樗苤苯拥玫捷斎氲淖址?,而不?號系統(tǒng)功能調(diào)用那樣,只能夠輸入單字符,但是使用0AH號系統(tǒng)功能調(diào)用實(shí)際編寫程序時,卻不清楚輸入的字符串存放在內(nèi)存的哪個區(qū)域,雖然參考文獻(xiàn)上有相關(guān)說明,但是我們還是未能取出輸入的字符串,這對于我們是極大的打擊,因?yàn)殡A數(shù)輸入是完成整個課題的第一步,這一步基礎(chǔ)不做好,更不要提后面的計(jì)算、顯示了。在要求首先能實(shí)現(xiàn)功能的情況下,我們還是選擇了1號系統(tǒng)功能調(diào)用,但是要加一個循環(huán)控制,控制輸入最大位數(shù)和ENTER的ASCII碼判斷輸入結(jié)束語句,因?yàn)槭禽斎氲膯巫址?,其ASCII碼存在AL寄存器中,所以對于2位數(shù),必須要先將其ASCII碼轉(zhuǎn)為16進(jìn)制數(shù),將首先輸入的數(shù)乘以10,再加上第二次輸入的數(shù),得到實(shí)際鍵入的數(shù)值?;谝陨纤枷搿?除法溢出問題由查閱資料可知,對于高階的楊輝三角形,其內(nèi)部的數(shù)據(jù)會變得相當(dāng)大,當(dāng)階數(shù)為15階時,其最大的數(shù)已經(jīng)超過65536,在數(shù)學(xué)上65536并不是一個特殊的數(shù),但是在計(jì)算機(jī)系統(tǒng)中,65536=2^16,在8086CPU內(nèi)部,有8個16為的內(nèi)部寄存器,當(dāng)然累加器AX也為16位,AX中能存放的最大的數(shù)為65536,分為高八位(AH)和低八位(AL),使用匯編的無符號數(shù)除法指令DIV OP,指令中給出的操作數(shù)是除數(shù),它可以是8位/16位通用寄存器及存儲器;被除數(shù)隱含在AX(字節(jié)除)或DX、AX(字除法)中。查閱資料得到,可以使用特定指令,實(shí)現(xiàn)整數(shù)商存至AX,余數(shù)存至DX中,這樣能夠提高數(shù)值的上限,但是隨之而來的問題是,對于編程的復(fù)雜度的提高,楊輝三角的顯示格式問題,數(shù)據(jù)除以10取余數(shù)的顯示問題,從而影響到整個課題。所以考慮到限定的時間,輸出的美觀等因素,取折中選擇,我們只做到了14階,對于大于等于15階的階數(shù)輸入,我們增加了判斷語句,避免除法溢出問題。 數(shù)據(jù)計(jì)算問題眾所周知,楊輝三角形中的數(shù)據(jù)是有規(guī)律排列的,在上文整體設(shè)計(jì)思路中已經(jīng)闡述了一些規(guī)律。對于數(shù)據(jù)的計(jì)算,我們一開始考慮到的是某數(shù)等于其上一行左右兩數(shù)之和,依照此規(guī)律也可以寫出整個楊輝三角形,而且不需要進(jìn)行乘除法運(yùn)算,不會出現(xiàn)除法溢出問題。但是如何得到這個數(shù)的上一行的左右兩數(shù),這兩個數(shù)該存在哪里,卻是一個不容忽視的問題,而且會占用很大的內(nèi)存空間。后來我們查閱資料,又得到一些規(guī)律,即第n行的第1個數(shù)為1,第二個數(shù)為1(n1),第三個數(shù)為1(n1)(n2)/2,第四個數(shù)為1(n1)(n2)/2(n3)/3依此類推。這樣可以用DEC n和INC c,用乘除法指令就可運(yùn)算出正確結(jié)果,但是前提是輸入的階數(shù)有限制,上一節(jié)已經(jīng)論證。為了能知道這一行到底要運(yùn)算多少次,我們又加了一個CX控制其運(yùn)算次數(shù),在計(jì)算前,對某一行的n,都要進(jìn)行壓棧保護(hù)。綜上所述,我們寫出了上節(jié)結(jié)束輸入模塊的程序。事實(shí)表明,這樣的方法能夠計(jì)算出正確的數(shù)值。第五章 總結(jié)與體會微機(jī)原理與接口技術(shù),是我們電子科學(xué)與技術(shù)專業(yè)學(xué)生的專業(yè)課,由此可知,這門課對于我們的意義是多么重大。所以,在做這次微機(jī)的課程設(shè)計(jì)時,更是不敢怠慢。唯恐不能正確得到設(shè)計(jì)效果。這次我們的課程設(shè)計(jì)的題目是:匯編顯示楊輝三角。剛拿到這個題目的時候,確實(shí)不知道從何下手,但是有句話說得好:不逼自己一把,怎么知道自己不可以?我們首先從什么是楊輝三角下手,查閱了相關(guān)資料,總結(jié)體會了楊輝三角的一些規(guī)律,這些規(guī)律能夠在我們編程過程中得以體現(xiàn),所以這個過程是必須的。接下來,在熟悉了楊輝三角的基礎(chǔ)上,我們結(jié)合編程,總結(jié)了有幾個工作要做,一是:字符串的顯示;二是:楊輝三角值得計(jì)算;三是:這些數(shù)值的顯示;四是:輸出的排版問題,保證輸出美觀正確。把整個課題,分為以上四個部分后,各個擊破,從而高效的完成整個課題是一種很實(shí)用、有效的方法。雖然在這個過程中遇到了不少問題,但是我們小組成員都很積極的討論解決問題的方法。最后通過整合,得到了整個程序。總體來說,這個程序雖然還不完美,但是代表著我們這一段時間以來的成果,我們都很欣慰,能夠?qū)崿F(xiàn)題目的要求。這次微機(jī)原理課程設(shè)計(jì)歷時兩個星期,在整整兩星期的日子里,可以說苦多于甜,但是可以學(xué)到很多很多的的東西,同時不僅可以鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。以前在上課的時候,老師經(jīng)常強(qiáng)調(diào)在寫一個程序的時候,一定要事先把程序原理方框圖化出來,但是我開始總覺得這樣做沒必要,很浪費(fèi)時間。但是,這次課程設(shè)計(jì)完全改變了我以前的那種錯誤的認(rèn)識,以前我接觸的那些程序都是很短、很基礎(chǔ)的,但是在課程設(shè)計(jì)中碰到的那些需要很多代碼才能完成的任務(wù),畫程序方框圖是很有必要的。因?yàn)橥ㄟ^程序方框圖,在做設(shè)計(jì)的過程中,我們每一步要做什么,每一步要完成什么任務(wù)都有一個很清楚的思路,而且在程序測試的過程中也有利于查錯。其次,以前對于編程工具的使用還處于一知半解的狀態(tài)上,但是經(jīng)過一段上機(jī)的實(shí)踐,對于怎么去排錯、查錯,怎么去看每一步的運(yùn)行結(jié)果,怎么去了解每個寄存器的內(nèi)容以確保程序的正確性上都有了很大程度的提高。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實(shí)際動手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固。這次課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多編程問題,最后在老師的辛勤指導(dǎo)下,終于游逆而解。同時學(xué)得到很多實(shí)用的知識,在此我表示感謝!同時,對給過我?guī)椭乃型瑢W(xué)表示忠心的感謝!參考文獻(xiàn)[1] 朱金鈞,麻新旗,匯編輸出楊輝三角程序代碼: HUANH MACRO。宏定義5句代碼實(shí)現(xiàn)換行MOVAH, 2DL, 13 21H DL, 10 21HMOVINTMOVINT ENDMDATA SEGMENTMSGRESULT CON DB DB DB39。Please input a number: $39。 39。The YiangHui triangle:$39。39。Do you want to continue?(Y/N): $39。 39。Data out of range!$39。 ERRORDBAHEADDB39。$39。 BETWEEN DB BACK aDB DW DW DW DW39。$39。 39。 $39。 ? ? ? ?。記錄位數(shù),控制空格數(shù)。a為階數(shù)。b是行數(shù) b cdDATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA。輸入子程序,數(shù)字存在BP SHURU PROCXORMOVMOV BP,BP BX,10 CX,3。控制輸入位數(shù),外加一位回車input:MOVINT AH,121H。鍵盤輸入數(shù)據(jù)CMPJZ AL,0DHOK AL,30H。以回車結(jié)束輸入SUBCBW。化ASCII為HEX。字節(jié)擴(kuò)展為字OK:SHURU START:MAIN:MZTJ:XCHG MULADDLOOPRET ENDP MOVMOVMOVMOVINTCALLCMP JBHUANH MOV MOVINTHUANH JMPHUANH MOVMOV AX,BP BX。擴(kuò)大10倍 BP,AX。加一位input AX,DATA DS,AXDX,OFFSET MSG。輸出字符串,請輸入一個數(shù) AH,9 21H SHURU。調(diào)用輸入函數(shù),顯示輸入的數(shù)BP,15。輸入的數(shù)在BP里 MZTJ。滿足條件DX,OFFSET ERROR。準(zhǔn)備顯示錯誤信息AH,921HMAIN DX,OFFSET RESULT。顯示提示字符串AH,9INTHUANHMOVCALLMOVMOVINTCMPJZMOVMOVMOVDECCALLexit: HUANH MOVCALLMOVMOVINTJMPyhsj: MOVHUANHDECMOVCALLMOVMOVINTMOV 21H
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1