匯編上機(jī)(試驗(yàn)二)_第1頁
匯編上機(jī)(試驗(yàn)二)_第2頁
匯編上機(jī)(試驗(yàn)二)_第3頁
匯編上機(jī)(試驗(yàn)二)_第4頁
匯編上機(jī)(試驗(yàn)二)_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

本文格式為Word版,下載可任意編輯——匯編上機(jī)(試驗(yàn)二)

昆明理工大學(xué)信息工程與自動化學(xué)院學(xué)生試驗(yàn)報(bào)告

(201—201學(xué)年第一學(xué)期)

課程名稱:匯編與微機(jī)接口試驗(yàn)開課試驗(yàn)室:年月日年級學(xué)號姓名成績試驗(yàn)項(xiàng)目名稱試驗(yàn)二循環(huán)及分支程序設(shè)計(jì)指導(dǎo)教師教師評語教師簽名:年月日一、試驗(yàn)?zāi)康模?/p>

1、熟悉并且把握匯編語言的基本指令;2、熟練地把握循環(huán)與分支程序的設(shè)計(jì)過程;

3、把握帶符號數(shù)的比較轉(zhuǎn)移指令:JL、JLE、JG、JGE;4、偽指令EQU及操作符'$'的使用。

5、熟悉并且把握BIOS和DOS中斷的調(diào)用方法。

二、試驗(yàn)要求:

A、設(shè)計(jì)要求

1、編寫一個程序,判別鍵盤上輸入的字符;若是1-9字符,則顯示之;若為A-Z或a-z字符,均顯示“c〞;若是回車字符,則終止程序,若為其它字符則不顯示,繼續(xù)等待新的字符輸入。

2、提醒編程:①回車字符的ASCII碼為0DH②顯示字符用INT21H的2號調(diào)用B、設(shè)計(jì)要求

已知DATA單元開始存放三個帶符號數(shù)

1、判斷三個數(shù)是否同號,若同時為正,顯示“+〞,若同時為負(fù),則顯示“—〞,否則顯不“*〞。

2、顯示三個數(shù)中的最小值。c、設(shè)計(jì)要求

編寫7c號中斷的處理程序,使得在除法溢出發(fā)生時,在屏幕上輸出字符串〞202310405313LiLongzhi〞,然后返回DOS。

d、設(shè)計(jì)要求

編寫一個程序,接收從鍵盤輸入的10個十進(jìn)制數(shù)字,輸入回車符則中止輸入,然后將

這些數(shù)字加密后存入內(nèi)存緩沖區(qū)BUFFER。加密表為:

輸入數(shù)字:0、1、2、3、4、5、6、7、8、9密碼數(shù)字:7,5,9,1,3,6,8,0,2,4提醒:加密可通過XLAT指令完成。

要求:鍵盤輸入通過BIOS和DOS中斷分別實(shí)現(xiàn)。

三、試驗(yàn)環(huán)境

匯編程序:MASM6.15,鏈接程序:LINK.EXE,調(diào)試環(huán)境:DEBUG.EXE,對操作系統(tǒng)和計(jì)算機(jī)五特別要求,假使是WIN7以上操作系統(tǒng),需要安裝DOSBOX虛擬平臺。

四、試驗(yàn)內(nèi)容(算法及運(yùn)行結(jié)果的截圖)

先模擬c盤和設(shè)置好默認(rèn)路徑,后面程序則可以在該路徑下直接編譯、鏈接和運(yùn)行。后面文件分別為a.asm、b.asm、c.asm和test.asm、d.asm。

a.程序代碼:

datasegment;定義數(shù)據(jù)段DB0dataends

codesegment

assumecs:code,ds:data

mainprocfar;定義main函數(shù)

pushds;對ds寄放器進(jìn)棧保護(hù)subax,ax;對ax清零

pushax;對ax寄放器進(jìn)棧保護(hù)movax,data

movds,ax;將data段地址賦值給dsnext:

movah,07h;調(diào)用int21鍵盤輸入(無回顯)功能int21h

cmpal,0dh;回車ascall碼為0dhjEend_d

cmpal,'0';對數(shù)字處理JGEDY0;>=0

JMPNEXT;INCBX

MOVDL,[BX]CMPAL,DLJLALAL

XCHGAL,DL

ALAL:

CMPAH,DLJLAL_SMALLXCHGAH,DLAL_SMALL:MOVA1,DLMOVA2,AHMOVA3,AL

XORDL,ALANDDL,80HNOTDL

TESTDL,80HJEYZYFANDAL,80HNOTAL

TESTAL,80HJEQF

MOVAH,02MOVDL,'+'INT21H

JMPDISP_SMALLQF:

MOVAH,02MOVDL,'-'INT21H

JMPDISP_SMALLYZYF:

MOVAH,02MOVDL,'*'INT21H

DISP_SMALL:

MOVAL,A3MOVAH,ALANDAX,0F00FHMOVCL,4

;最大和最小數(shù)異或;高位為1表示一正一負(fù),否則為全負(fù)或全正;高位為1表示全負(fù)

SHRAH,CLCMPAH,0AHJGEIS_AZADDAH,30HMOVD1,AHJMPNN_1IS_AZ:

ADDAH,40H-0AH+1MOVD1,AH

NN_1:

CMPAL,0AHJGEIS_AZ1ADDAL,30HMOVD2,ALJMPNN_2

IS_AZ1:

ADDAL,40H-0AH+1MOVD2,AL

NN_2:

MOVAH,09

MOVDX,OFFSETDISP_MESSINT21Hret

mainendp

codeendsendmain

程序運(yùn)行截圖:

c.程序代碼:c.asm:

assumecs:codecodesegmentstart:movax,csmovds,ax;將代碼段地址交給dsmovsi,offsetdo0movax,0moves,axmovdi,200hmovcx,offsetdo0end-offsetdo0;計(jì)算輸出字符串長度cldrepmovsb

;設(shè)置中斷向量表movax,0moves,axmovwordptres:[7ch*4],200hmovwordptres:[7ch*4+2],0movax,4c00hint21h

do0:jmpshortdo0startdb\LiLongzhi\;設(shè)置輸出字符串do0start:pushcxmovax,csmovds,axmovsi,202hmovax,0b800h;指向顯存moves,axmovdi,12*160+30*2;使其顯示于屏幕中央

show:movcl,[si]movch,0jcxzreturnmoves:[di],clmovch,2moves:[di+1],chincsi

adddi,2jmpshowreturn:popcxmovax,4c00hint21hdo0end:nopcodeendsendstart

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論