中斷程序設計_第1頁
中斷程序設計_第2頁
中斷程序設計_第3頁
中斷程序設計_第4頁
中斷程序設計_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

中斷程序設計匯編語言實驗報告AssemblyLanguageProgrammingLab

Reports______________________________________________________________________________班級:姓名學號:實驗日期:學院:專業(yè):實驗順序:原創(chuàng):___實驗名稱:中斷程序設計實驗分數(shù):_______考評日期:________指導教師:______________________________________________________________________________實驗目的掌握中斷的類型,軟件中斷和硬件終端。掌握中斷處理的過程,理解中斷類型,中斷向量。掌握系系統(tǒng)中斷以及功能調(diào)用??梢宰约涸O計中斷程序______________________________________________________________________________實驗環(huán)境操作系統(tǒng):windows8編譯程序:masm5.0_________________________________________m2:movdl,0dhmovah,2int21hmovdl,0ahint21hmovdx,offsetmess2movax,segmess2movds,axmovah,9hint21hnext:mainendpmynameprocfarstimovdl,0dhmovah,2int21hmovdl,0ahint21hmovcx,10bef:movdl,'*'movah,2int21hloopbefmovax,segmess3movax,dsmovdx,offsetmess3movah,9int21hmovcx,10aft:movdl,'*'movah,2int21hloopaftcliiretmynameendpendstart2,對原有的中斷進行修改.modelsmall.stack.codemess1db0ah,0dh,'enterinterrupt!',0ah,0dh,'$'mess2db0ah,0dh,'exitinterrupt!$'mess3db0ah,0dh,'ContinueorQuit(c/q)?$';主程序mainprocfarstart:movax,@code movds,ax;中斷設置;取出原中斷向量moval,0movah,35h ;取出原來的0號中斷向量 int21h ;放在ES:BX中pushes ;入棧保存pushbxpushds;設置新的中斷向量 ;相當于25h號功能movdx,offsetshowerr ;獲得子程序偏移地址movax,segshowerr ;獲得子程序段地址movds,axmovax,0 moves,ax ;0段,向量表movbx,0 ;現(xiàn)在的0號movcl,2shlbx,cl movwordptres:[bx],dx ;中斷向量放入中斷向量表中movwordptres:[bx+2],ds;應用部分conti:movdx,offsetmess1 ;顯示提示1movah,9int21hint0 ;觸發(fā)0號中斷movdx,offsetmess2 ;顯示提示2movah,9int21hmovax,15 movbl,0idivbl ;除0,觸發(fā)0號中斷movdx,offsetmess3 ;顯示提示3movah,9int21hmovah,1 ;輸入選擇int21hcmpal,'c'jecontiquit:popds ;彈出保存的數(shù)據(jù)popbx popesmoval,0 ;恢復原來的0號movah,25h ;中斷向量放入中斷向量表中int21hmovax,4c00h ;返回DOSint21hmainendp;中斷子程序showerrprocnearshowbegin:jmpshortshow_str ;跳過數(shù)據(jù)定義a1db'Attention!error...' ;顯示信息與子程序放在一起,便于以后駐留a2db0show_str: movax,@code ;數(shù)據(jù)段與代碼段同段 movds,axsti ;開中斷movdh,22 ;行movdl,24 ;列movbl,1 ;屬性movsi,offseta1movax,0b800h ;顯存首址moves,axmovax,160 muldh ;行號*160movdi,ax ;起始行位置saldl,1movdh,0adddi,dx ;+列號movcx,a2-a1 ;字符串長度let1: ;循環(huán)寫字符和屬性到顯存moval,[si] moves:[di],almovbyteptres:[di+1],blincsiincbl ;改變屬性adddi,2looplet1 ;寫

溫馨提示

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

評論

0/150

提交評論