![匯編語言程序設(shè)計(jì)報(bào)告_第1頁](http://file4.renrendoc.com/view5/M00/13/2C/wKhkGGYjvWyAWyK5AAEFXG6r888346.jpg)
![匯編語言程序設(shè)計(jì)報(bào)告_第2頁](http://file4.renrendoc.com/view5/M00/13/2C/wKhkGGYjvWyAWyK5AAEFXG6r8883462.jpg)
![匯編語言程序設(shè)計(jì)報(bào)告_第3頁](http://file4.renrendoc.com/view5/M00/13/2C/wKhkGGYjvWyAWyK5AAEFXG6r8883463.jpg)
![匯編語言程序設(shè)計(jì)報(bào)告_第4頁](http://file4.renrendoc.com/view5/M00/13/2C/wKhkGGYjvWyAWyK5AAEFXG6r8883464.jpg)
![匯編語言程序設(shè)計(jì)報(bào)告_第5頁](http://file4.renrendoc.com/view5/M00/13/2C/wKhkGGYjvWyAWyK5AAEFXG6r8883465.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第第頁匯編語言程序設(shè)計(jì)報(bào)告
目錄
目錄………………1課程設(shè)計(jì)的目的…………………..2課程設(shè)計(jì)的內(nèi)容…………………..2基本要求…………………..…………….…………2詳細(xì)內(nèi)容…………….……………..2
第2題……………….……………..3
設(shè)計(jì)思想和實(shí)施方案……………….……………..3程序清單和程序說明…………….………………..3典型程序模塊和典型編程技巧分析………….…..4程序框圖……….…..5
第3題…………….………………..6
設(shè)計(jì)思想和實(shí)施方案…………….………………..6程序清單和程序說明……………….……………..6典型程序模塊和典型編程技巧分析…………….………………..9程序框圖…………….…………….10
第4題…………….……………….11
設(shè)計(jì)思想和實(shí)施方案…………….……………….11程序清單和程序說明……………….…………….11典型程序模塊和典型編程技巧分析…………….……………….13程序框圖…………….…………….14課程設(shè)計(jì)中遇到的問題及解決方法……………….…………….15收獲與體會………….…………….16
一.課程設(shè)計(jì)的目的:
課程設(shè)計(jì)是本科教學(xué)過程中的重要環(huán)節(jié)。本課程設(shè)計(jì)主要目的是使計(jì)算機(jī)專業(yè)同學(xué)深入學(xué)習(xí)匯編語言知識,進(jìn)一步提高同學(xué)匯編語言綜合變成技能和程序調(diào)試技能,熬煉運(yùn)用匯編語言編程解決實(shí)際問題的技能。
二.課程設(shè)計(jì)的內(nèi)容:
1.從鍵盤輸入任意的十進(jìn)制表達(dá)式,計(jì)算表達(dá)式的結(jié)果,并將該表達(dá)式及結(jié)果顯示在屏幕上?!矓?shù)值取值范圍-32768~32767〕
2.編寫一個(gè)能與當(dāng)前運(yùn)行程序分時(shí)操作的生日程序,將當(dāng)日生日同學(xué)的信息顯示在屏幕的右上角。3.在屏幕上開三個(gè)窗口:
〔
〔
〔15,30(15,70)
(22,65)
用“←”和“→”鍵選擇左窗口或右窗口為當(dāng)前活動窗口,從鍵盤輸入字符,字符就會從當(dāng)前活動窗口的最下行開始顯示,同時(shí)也在下窗口顯示。當(dāng)一行字符顯示滿后〔左右窗口一行顯示20和字符,下窗口顯示50個(gè)字符〕,窗口自動向上卷動一行,輸入的字符仍顯示于最低一行,窗口最高一行向上卷動后消逝,輸入指令串“END”后程序運(yùn)行結(jié)束。
4.用匯編語言調(diào)用C語言實(shí)現(xiàn):通過鍵盤輸入對角線坐標(biāo),在屏幕上開設(shè)一個(gè)窗口,并設(shè)定熱鍵掌握窗口的顏色,要求屏幕上自上到下顏色由淺到深改變。
三.基本要求:
1.同學(xué)應(yīng)任選擇三題,經(jīng)老師確認(rèn)后進(jìn)行課程設(shè)計(jì)。
2.同學(xué)應(yīng)人真查閱資料,獨(dú)立完成設(shè)計(jì)任務(wù),每道題都需要上機(jī)通過。
3.同學(xué)應(yīng)著重培育自己獨(dú)立思索,綜合分析問題解決問題和調(diào)試程序的技能。
4.按時(shí)完成課程設(shè)計(jì),寫出課程設(shè)計(jì)報(bào)告〔報(bào)告要要用統(tǒng)一的報(bào)告紙寫〕。
四.詳細(xì)內(nèi)容:
本人編寫的是第2,3,4題的程序,各程序詳細(xì)內(nèi)容如下:
第2題
1.設(shè)計(jì)思想和實(shí)施方案:
這個(gè)程序要求在屏幕的右上角顯示當(dāng)日過生日的同學(xué),這就要求要把一部分程序駐留在內(nèi)存當(dāng)中,從而即時(shí)的檢測當(dāng)日的日期,然后比較看看在這個(gè)日期下有沒有同學(xué)過生日,有那么打印在屏幕的右上角,沒有就不顯示。這就是這個(gè)程序的基本思想。
也就是說這個(gè)程序的關(guān)鍵就在于實(shí)現(xiàn)檢測生日和顯示生日的程序的駐留。要實(shí)現(xiàn)駐留,就需要運(yùn)用中斷,也就是在保留各寄存器的原始內(nèi)容后,用sti開中斷,然后進(jìn)行比較和顯示的操作,再用cli關(guān)中斷,讀回壓入堆棧中各寄存器原來的數(shù)據(jù),復(fù)原中斷現(xiàn)場。同時(shí)用install部分來掌握中斷的類型和決斷駐留區(qū)的大小,這里設(shè)置為I/O設(shè)備中斷向量。2.程序清單和程序說明:codesegment
assumecs:code,ds:code;段定義start:jmpinstall
msgdb'TodayisbirthdayofLi',?;定義要顯示的字符串
olddd?new:
pusha*pushb*pushc*
pushd*;保留各寄存器原始內(nèi)容pushsipushdipushes
sti;中斷標(biāo)識置1,開中斷movah,2ahint21h
cmpdh,1;比較月份jnzcase0
cmpdl,18;比較日期jnzcase0
mova*,0b800hmoves,a*movdi,54*2d
leasi,msg;把要輸出的msg字符串置入si
case:moval,cs:[si]incsi
oral,al;判斷是否為“?”作為顯示結(jié)束的標(biāo)識jzcase1
cld;設(shè)置地址自動增量stosb
incdi;把字符串存入附加段中jmpcase;跳轉(zhuǎn)以實(shí)現(xiàn)逐個(gè)存入字符
case0:
mova*,0600hmovbh,07h
movc*,002eh;在屏幕右上角初始化窗口movd*,0279hint10h
case1:cli;中斷標(biāo)識置0,關(guān)中斷popespopdipopsi
popd*;取回各寄存器的原始內(nèi)容popc*popb*popa*
jmpcs:old;指令回到old地址處
install:pushcs;通過install部分實(shí)現(xiàn)駐留popds
mova*,351ch;取中斷向量(al=中斷類型)int21h
movwordptrold,b*;存儲b*和es內(nèi)容到存儲器oldmovwordptrold+2,eslead*,new
mova*,251ch;設(shè)置中斷向量(al=中斷類型號)int21h
movd*,offsetinstall+120h;通過d*設(shè)置駐留區(qū)的大小movcl,04h
shrd*,cl;規(guī)律右移4位
movah,31h;結(jié)束并駐留(al=返回碼,d*=駐留區(qū)大小)int21hcodeends
endstart;程序結(jié)束
3.典型程序模塊和典型編程技巧分析:
這個(gè)程序中關(guān)鍵是駐留的實(shí)現(xiàn),這里駐留是通過保存現(xiàn)場,開關(guān)中斷,復(fù)原現(xiàn)場,設(shè)置中斷類型,設(shè)置駐留區(qū)大小幾個(gè)步驟實(shí)現(xiàn)的,這里開中斷后只檢測了是不是1月18號,假如是那么顯示是李的生日,不是那么不顯示。
另外,程序中的case0部分的作用是在屏幕的右上角初始化了一個(gè)顯示窗口,用于顯示當(dāng)天過生日的同學(xué)。這里有CH,CL表示左上角的坐標(biāo),DH,DL表示右上角的坐標(biāo)。
而case部分那么是一種逐個(gè)輸出字符的顯示字符串的方法,用?作為字符串結(jié)束的標(biāo)識,利用循環(huán),每次輸出一個(gè)字符,di加1,直到oral,al語句檢測到?輸出結(jié)束,跳出循環(huán)。4.程序框圖:
第3題:
1.設(shè)計(jì)思想和實(shí)施方案:
這個(gè)程序要求在屏幕上開3個(gè)窗口,在鍵盤輸入字符的時(shí)候下面的第3個(gè)窗口始終顯示,上面2個(gè)窗口用戶可以選擇一個(gè)顯示,對于3個(gè)窗口當(dāng)列數(shù)顯示滿時(shí)都會自動向上卷行。三個(gè)窗口顯示字符和卷行的操作事實(shí)上是完全相同
的,現(xiàn)在還需要做的就是上面1,2兩個(gè)窗口的切換問題,在這里,本人用“1”,“2”來作為2個(gè)窗口切換的功能鍵,也即當(dāng)在2中顯示時(shí)按1就轉(zhuǎn)到了1窗口,當(dāng)在1中顯示時(shí)按2就轉(zhuǎn)到了2窗口。另外,用ST1,ST2,ST3分別給3個(gè)窗口的輸入字符計(jì)數(shù),以實(shí)時(shí)的進(jìn)行卷行操作。2.程序清單和程序說明:DATASEGMENT
ST1DB0ST2DB0ST3DB0DATAENDS
PROGNAMSEGMENTMAINPROCFAR
ASSUMECS:PROGNAM,DS:DATASTART:
PUSHDSSUBA*,A*PUSHA*
MOVA*,DATAMOVDS,A*
CALLCLEAR_SCREEN;調(diào)用設(shè)置顯示方式的子程序MOVDI,0;置初始狀態(tài)的DI為0
INPUT:
MOVAH,0
INT16H;從鍵盤讀字符,存在AL中CMPAL,'2'
JEYI;設(shè)定假如按數(shù)字2鍵那么跳轉(zhuǎn)到在2號窗口操作CMPAL,'1'
JEER;設(shè)定假如按數(shù)字1鍵那么跳轉(zhuǎn)到在1號窗口操作CMPAL,0DH;設(shè)定假如輸入回車那么結(jié)束程序JEQUIT
CALLSHANGCALL*IAJMPINPUTYI:
MOVDI,1;這里置DI為1JMPINPUTER:
MOVDI,0;這里置DI為0JMPINPUT
QUIT:
RET
MAINENDP
SHANGPROCNEAR
CMPDI,0;DI為0在1號窗口輸入字符JNEOUT3MOVCL,ST1ADDCL,10
MOVMOVMOVMOVINT
MOVMOVMOVMOVINT
INCCMPJLPUSHMOVMOVMOVMOVMOVMOVMOVMOVINT
POP
OUT2:
JMPOUT3:
MOVADD
MOVAH,2DH,15DL,CLBH,0
10HAH,0EH
BH,0BL,70HC*,1
10HST1ST1,20OUT2
A*ST1,0AH,6
AL,1CH,5
CL,10DH,15
DL,30BH,710HA*E*ITCL,ST2CL,50AH,2
;置光標(biāo)位置1號窗口中;BH表示頁號;BL置前景色;顯示AH中的字符在光標(biāo)位置;ST1計(jì)在窗口1輸入字符數(shù)目20那么繼續(xù)輸入;存儲A*的初始植;表示屏幕上卷一行;CH,CL表示左上角坐標(biāo);DH,DL表示右上角坐標(biāo)
;實(shí)現(xiàn)字符顯示上卷一行;假如字符數(shù)小于
MOVDL,CLMOVBH,0
INT10H;置光標(biāo)在2號窗口中
MOVAH,0EH
MOVBH,0;BH表示頁號MOVBL,70H;BL置前景色MOVC*,1
INT10H
INCST2CMPST2,20JLOUT1PUSHA*MOVST2,0MOVAH,6
MOVAL,1MOVCH,5
MOVCL,50MOVDH,15
MOVDL,70MOVBH,7INT10H
POPA*OUT1:E*IT:RET
SHANGENDP
*IAPROCNEARMOVCL,ST3ADDCL,15
MOVAH,2MOVDH,22MOVDL,CLMOVBH,0
INT10H
MOVAH,0EH
MOVBH,0MOVBL,70H;顯示AH中的字符在光標(biāo)位置ST2計(jì)在窗口2輸入字符數(shù)目;假如字符數(shù)小于20那么繼續(xù)輸入;表示屏幕上卷一行;CH,CL表示左上角坐標(biāo);DH,DL表示右上角坐標(biāo)
;實(shí)現(xiàn)字符顯示上卷一行;讀出A*的原值;在1,2窗口顯示字符子程序結(jié)束;置光標(biāo)在3號窗口中;BH表示頁號;BL置前景色
;
INT10H
INCST3;ST3計(jì)在窗口2輸入字符數(shù)目CMPST3,50;假如字符數(shù)小于50那么繼續(xù)輸入JLE*TMOVST3,0MOVAH,6
MOVAL,1;表示屏幕上卷一行MOVCH,18
MOVCL,15;CH,CL表示左上角坐標(biāo)MOVDH,22
MOVDL,65;DH,DL表示右上角坐標(biāo)MOVBH,7
INT10H;實(shí)現(xiàn)字符顯示上卷一行E*T:RET
*IAENDP
CLEAR_SCREENPROCNEAR;設(shè)置顯示方式和光標(biāo)初始位置的子程序PUSHA*
PUSHB*;保存寄存器的原始內(nèi)容PUSHC*PUSHD*
MOVA*,0003H
INT10H;設(shè)置顯示方式為80*2516色文本MOVD*,0MOVAH,2
INT10H;置光標(biāo)位置為〔0,0〕POPD*
POPC*;取出寄存器的原內(nèi)容POPB*POPA*RET
CLEAR_SCREENENDP
PROGNAMENDS
ENDSTART;程序結(jié)束3.典型程序模塊和典型編程技巧分析:
在這個(gè)程序里,顯示字符主要涉及的就是卷行操作,INT10h,AH=6時(shí)有AL為上卷行數(shù),BH為卷入行屬性,CH/CL表示左上角行/列號,DH/DL=右上角行/列。此處用ST1,ST2,ST3分別做3個(gè)窗口顯示字符數(shù)的計(jì)數(shù)器,以在正確的時(shí)候進(jìn)行卷行操作。
在這個(gè)程序中掌握光標(biāo)的位置和窗口頂點(diǎn)位置的部分也是圖形掌握和在適當(dāng)位置顯示字符等操作中很有用的編程技巧。
4.程序框圖:
第4題:
1.設(shè)計(jì)思想和實(shí)施方案:
在這個(gè)程序中要實(shí)現(xiàn)按鍵掌握一個(gè)窗口的顏色改變,同時(shí)還要使窗口的背景自下到上顏色由淺到深改變,設(shè)置顯示方式為320*200256色圖形,也就是說滿屏是320列200行,在輸出背景圖時(shí),就用到這組數(shù)據(jù),每13行顏色值加1,就可以實(shí)現(xiàn)由淺到深的改變。在實(shí)現(xiàn)象素顯示的時(shí)候,用了write子程序,知道了對角線的坐標(biāo)〔*1,y1〕,〔*2,y2〕,就可以把這個(gè)方形窗口區(qū)域逐個(gè)象素的上色。
另外,在實(shí)現(xiàn)窗口顏色改變的時(shí)候,通過鍵盤輸入一個(gè)字符,檢測假如字符為回車那么跳出,結(jié)束程序,假如是其他任意字符,那么顏色值加1,也就是說除去回車鍵以外,其他任意鍵按一次,窗口的顏色就改變1次。2.程序清單和程序說明:datasegment
buffdw20dup(?)*1dw?
y1dw?;定義存儲單元*2dw?y2dw?dataends
;codesegment
;mainprocfar
assumecs:code,ds:data
start:pushds
suba*,a*;a*置0pusha*mova*,datamovds,a*
;movah,0moval,13h
int10hcallbj
mov*1,0movy1,0mov*2,70movy2,70moval,01h
callwriteloop1:
pusha*movah,0
int16hcmpal,0dh
jee*itpopa*incalcallwritejmploop1movah,0e*it:
mova*,0003
int10hret
mainendp
;bjprocnearmovd*,0
moval,0pushb*movb*,0moval,1fh
case1:
;設(shè)置顯示方式為320*200256色圖形〔VGA〕;設(shè)置變色窗口的頂點(diǎn)坐標(biāo);輸出變色窗口的顏色;存儲原來的a*;從鍵盤輸入任意字符;假如輸入的是回車那么跳出;調(diào)出原來的a*;顏色值加1;讀光標(biāo)位置;把d*,al置0
;存儲b*原來的值
cmpb*,13;每13行轉(zhuǎn)變一次顏色jlcase2
decal;顏色值減1movb*,0
case2:
movc*,0
rotate:
movah,0ch;顯示漸變背景的部分int10hincc*
cmpc*,320;0到320列寫像素jlrotateaddd*,1incb*
cmpd*,200;0到200行寫像素jlcase1
popb*;讀取b*原來的值ret
bjendp
;
writeprocnear;在方形區(qū)域顯示像素的子程序movd*,y1line:
movc*,*1point:
movah,0ch
int10h;在〔*1,y1)點(diǎn)上寫像素incc*;向左移動一列
cmpc*,*2;c*小于*2的時(shí)候繼續(xù)寫像素jlpoint
incd*;向下移動一行
cmpd*,y2;d*小于y2的時(shí)候繼續(xù)寫像素jllineret
writeendp
;codeends
endstart;結(jié)束程序
3.典型程序模塊和典型編程技巧分析:
在這個(gè)程序里,在實(shí)現(xiàn)背景顏色漸變的時(shí)候,需要設(shè)置每多少行使顏色改變一次,這里本人的程序中用的值13是多次試驗(yàn)得出的最好顯示效果的,假如更多或更少行,那么可能會顯示出彩色的條紋,不符合題目的要求。
另外,利用〔*1,y1〕和〔*2,y2〕來限定一個(gè)窗口,以對其進(jìn)行上色等操作,也是圖形編程中常常用到的一種手法。4.程序框圖:
五.課程設(shè)計(jì)中遇到的問題及解決方法:
在第二題中,設(shè)置中斷類型和駐留區(qū)大小的install部分比較難于實(shí)現(xiàn),其
實(shí)本人是第一次接觸駐留這個(gè)概念,在以往的編程中,基本全部程序都是即時(shí)運(yùn)行,即時(shí)結(jié)束的,并沒有駐留到內(nèi)存中,以時(shí)刻調(diào)用的例子。因而,一開始很不知該如何下手,后來在網(wǎng)上查閱了一些信息,了解了駐留的實(shí)現(xiàn)其實(shí)就是一個(gè)中斷掌握的過程,事實(shí)上install這部分程序也是原版引用的一份資料中的內(nèi)容??梢哉f這部分是實(shí)現(xiàn)駐留必不可少的。
在第四題中,要求背景的顏色是漸變的,而一開始設(shè)置多少行顏色改變一次就成了一個(gè)問題,本人試驗(yàn)了很多組數(shù)值,最末發(fā)覺只有當(dāng)13行改變一次的時(shí)候背景顯示的效果最好,完全是灰度色調(diào)改變。假如大一些或這小一些,都會使屏幕上涌現(xiàn)彩色的條紋,也就不再是嚴(yán)格定義上的色調(diào)由淺到深改變了。
還有,在第三題和第四題中,其實(shí)都涉及到了在窗口顯示字符或像素點(diǎn)的問題,起初這對于我來說也是很生疏的,對于如何開設(shè)窗口,如何掌握卷行,如何逐行逐列的顯示像素點(diǎn)又掌握在所要求的窗口中,這些問題起初都很讓我犯難,后來對這部分進(jìn)行了相對進(jìn)一步的學(xué)習(xí)和討論,也就有了一點(diǎn)淺顯的認(rèn)識,又經(jīng)過多次試驗(yàn)調(diào)試,究竟實(shí)現(xiàn)了這些窗口中的操作。其實(shí),這種課程設(shè)計(jì)的過程也就是一種學(xué)習(xí)的過程,假如真的仔細(xì)的去完成每一步程序,每一條指令,肯定會頗為受益的。
六.收獲與體會:
這次匯編語言的課程設(shè)計(jì)雖然說內(nèi)容并不是許多,只是從四道題目中任選
三道編寫程序而已,但還是很有收獲的。在這幾道題目中,有許多我以前根本就沒有接觸到過的東西,如程序的駐留,DOS環(huán)境下窗口的顯示等…因而在寫程序的過程中還是遇到了許多問題的,但通過在網(wǎng)上查閱資料,和同學(xué)一起爭論討論,最終還是寫出了我認(rèn)為可以算是不錯的程序。而這些查資料和爭論的過程本身就是一種學(xué)習(xí)和提高的過程,完成了程序的編寫后,回過頭來再看看,覺得自己對匯編語言的認(rèn)識真的在肯定程度上加深了,而且也了解了很多新的知識領(lǐng)域里的問題。幾天的辛苦沒有白費(fèi)。
目錄
目錄………………1課程設(shè)計(jì)的目的…………………..2課程設(shè)計(jì)的內(nèi)容…………………..2基本要求…………………..…………….…………2詳細(xì)內(nèi)容…………….……………..2
第2題……………….……………..3
設(shè)計(jì)思想和實(shí)施方案……………….……………..3程序清單和程序說明…………….………………..3典型程序模塊和典型編程技巧分析………….…..4程序框圖……….…..5
第3題…………….………………..6
設(shè)計(jì)思想和實(shí)施方案…………….………………..6程序清單和程序說明……………….……………..6典型程序模塊和典型編程技巧分析…………….………………..9程序框圖…………….…………….10
第4題…………….……………….11
設(shè)計(jì)思想和實(shí)施方案…………….……………….11程序清單和程序說明……………….…………….11典型程序模塊和典型編程技巧分析…………….……………….13程序框圖…………….…………….14課程設(shè)計(jì)中遇到的問題及解決方法……………….…………….15收獲與體會………….…………….16
一.課程設(shè)計(jì)的目的:
課程設(shè)計(jì)是本科教學(xué)過程中的重要環(huán)節(jié)。本課程設(shè)計(jì)主要目的是使計(jì)算機(jī)專業(yè)同學(xué)深入學(xué)習(xí)匯編語言知識,進(jìn)一步提高同學(xué)匯編語言綜合變成技能和程序調(diào)試技能,熬煉運(yùn)用匯編語言編程解決實(shí)際問題的技能。
二.課程設(shè)計(jì)的內(nèi)容:
1.從鍵盤輸入任意的十進(jìn)制表達(dá)式,計(jì)算表達(dá)式的結(jié)果,并將該表達(dá)式及結(jié)果顯示在屏幕上?!矓?shù)值取值范圍-32768~32767〕
2.編寫一個(gè)能與當(dāng)前運(yùn)行程序分時(shí)操作的生日程序,將當(dāng)日生日同學(xué)的信息顯示在屏幕的右上角。3.在屏幕上開三個(gè)窗口:
〔
〔
〔15,30(15,70)
(22,65)
用“←”和“→”鍵選擇左窗口或右窗口為當(dāng)前活動窗口,從鍵盤輸入字符,字符就會從當(dāng)前活動窗口的最下行開始顯示,同時(shí)也在下窗口顯示。當(dāng)一行字符顯示滿后〔左右窗口一行顯示20和字符,下窗口顯示50個(gè)字符〕,窗口自動向上卷動一行,輸入的字符仍顯示于最低一行,窗口最高一行向上卷動后消逝,輸入指令串“END”后程序運(yùn)行結(jié)束。
4.用匯編語言調(diào)用C語言實(shí)現(xiàn):通過鍵盤輸入對角線坐標(biāo),在屏幕上開設(shè)一個(gè)窗口,并設(shè)定熱鍵掌握窗口的顏色,要求屏幕上自上到下顏色由淺到深改變。
三.基本要求:
1.同學(xué)應(yīng)任選擇三題,經(jīng)老師確認(rèn)后進(jìn)行課程設(shè)計(jì)。
2.同學(xué)應(yīng)人真查閱資料,獨(dú)立完成設(shè)計(jì)任務(wù),每道題都需要上機(jī)通過。
3.同學(xué)應(yīng)著重培育自己獨(dú)立思索,綜合分析問題解決問題和調(diào)試程序的技能。
4.按時(shí)完成課程設(shè)計(jì),寫出課程設(shè)計(jì)報(bào)告〔報(bào)告要要用統(tǒng)一的報(bào)告紙寫〕。
四.詳細(xì)內(nèi)容:
本人編寫的是第2,3,4題的程序,各程序詳細(xì)內(nèi)容如下:
第2題
1.設(shè)計(jì)思想和實(shí)施方案:
這個(gè)程序要求在屏幕的右上角顯示當(dāng)日過生日的同學(xué),這就要求要把一部分程序駐留在內(nèi)存當(dāng)中,從而即時(shí)的檢測當(dāng)日的日期,然后比較看看在這個(gè)日期下有沒有同學(xué)過生日,有那么打印在屏幕的右上角,沒有就不顯示。這就是這個(gè)程序的基本思想。
也就是說這個(gè)程序的關(guān)鍵就在于實(shí)現(xiàn)檢測生日和顯示生日的程序的駐留。要實(shí)現(xiàn)駐留,就需要運(yùn)用中斷,也就是在保留各寄存器的原始內(nèi)容后,用sti開中斷,然后進(jìn)行比較和顯示的操作,再用cli關(guān)中斷,讀回壓入堆棧中各寄存器原來的數(shù)據(jù),復(fù)原中斷現(xiàn)場。同時(shí)用install部分來掌握中斷的類型和決斷駐留區(qū)的大小,這里設(shè)置為I/O設(shè)備中斷向量。2.程序清單和程序說明:codesegment
assumecs:code,ds:code;段定義start:jmpinstall
msgdb'TodayisbirthdayofLi',?;定義要顯示的字符串
old
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)民培訓(xùn)計(jì)劃與實(shí)施手冊
- 加工非標(biāo)制作合同范本
- 2025年度影視剪輯技術(shù)支持與咨詢服務(wù)合同
- 2025年度生物質(zhì)能發(fā)電項(xiàng)目投資與建設(shè)合同
- 公司資金借貸合同范例
- 供酒供銷合同范例
- 2025年度洗滌設(shè)備行業(yè)技術(shù)培訓(xùn)與咨詢服務(wù)合同
- 加工箍筋合同范本
- 買賣購房指標(biāo)合同范例
- 樂有假租房合同范本
- 元宇宙視域下非遺保護(hù)與傳播途徑探究
- 2025年買賣個(gè)人房屋合同(4篇)
- 2025代運(yùn)營合同范本
- 武漢2025年湖北武漢理工大學(xué)管理人員招聘筆試歷年參考題庫附帶答案詳解
- 第十一章《功和機(jī)械能》達(dá)標(biāo)測試卷(含答案)2024-2025學(xué)年度人教版物理八年級下冊
- 初三物理常識試卷單選題100道及答案
- 使用錯誤評估報(bào)告(可用性工程)模版
- 高中英語新課程標(biāo)準(zhǔn)解讀課件
- 客服人員績效考核評分表
- 變壓器檢修風(fēng)險(xiǎn)分析及管控措施
評論
0/150
提交評論