實驗五:循環(huán)分支程序中斷調(diào)用程序設計_第1頁
實驗五:循環(huán)分支程序中斷調(diào)用程序設計_第2頁
實驗五:循環(huán)分支程序中斷調(diào)用程序設計_第3頁
實驗五:循環(huán)分支程序中斷調(diào)用程序設計_第4頁
實驗五:循環(huán)分支程序中斷調(diào)用程序設計_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

重慶大學

學生實驗報告

實驗課程名稱匯編語言程序設計

開課實驗室DS1501

學院軟件學院年級20221697專業(yè)班軟件

工程4班

學生姓名學號********

開課時間2022至2022學年第1學期

總成績

教師簽名王志平

軟件工程學院制

《匯編語言程序設計》實驗報告

開課實驗室:?S150機房2022年11月日

學院軟件學院仝:級、專業(yè)、班13級軟件工程44生名劉威言f

實驗五:循環(huán)、分支程

課程熨驗項目

匯編語言程序設計序設計、中斷調(diào)用程序指導教師三3志平

名稱名稱設計

教師

評語教師簽名:王志平

2022年11月日

一【實驗目的】

熟悉匯編語言循環(huán)分支程序設計

中斷調(diào)用程序設計

二【實驗環(huán)境】

PC微機

DOS操作系統(tǒng)或者Windows操作系統(tǒng)

MASM.EXE.LINK.EXE.DEBUG.COM或者宏匯編集成環(huán)境

三【豫備知識】

常用匯編指令

循環(huán)程序設計

分支程序設計

中斷調(diào)用(DOS系統(tǒng)功能調(diào)用INT21H)

四【實驗內(nèi)容】

(1)調(diào)試教材P170例5.6。

說明:體味非固定次循環(huán)的特點。區(qū)分出循環(huán)體、循環(huán)條件、循環(huán)變換條件、初始

化內(nèi)容、循環(huán)結束后續(xù)相關內(nèi)容。

(2)編程實現(xiàn):

己知數(shù)組A包含15個互不相等的整數(shù),數(shù)組B包含10個互不相等的整數(shù)。試編

制一程序,把既在A中又在B中浮現(xiàn)的整數(shù)存放于數(shù)組C中。然后將數(shù)組C逐個顯示

出來。

要求:要寫流程圖,代碼必須規(guī)范,有必要的注釋。

說明:數(shù)組表示可參考教材例5.5。

五【實驗步驟】

書例5.6

7worlcasm-本

文偉F)的陽悟式(0)壹號M稗明(H)

|datareasegment

Bufferdb80dup(?)

flagdb?

datareaends

prognamsegment

mainprocfar

assumecs:prognam,ds:datarea

start;

pushds

subax,ax

pushax

movax,datarea

movds,ax

leabx,buffer

movflag,0

next:

movah,01

int21h

testflag,Olh

jnzfollow

crapal,2Oh

jnzexit

movflag,1

Jmpnext

follow:

cn(pal,20h

jzexit

mov[bx],al

incbx

jmpnext

exit:

ret

mainendp

prognamends

endstart

SourcefiLename[.ASM]:work.asm

Objectfilenaiae[work.OBJ]:

SourcelistingIMUL.LST1:

€ross-reference(MUL.CRF]:

51716?464828BytessyMbolspacefree

6WarningErrors

6SevereErrors

C:\>1inkwork.obj

Microsoft(R)OverlayLinkerItersion3.65

Copyright(C)MicrosoftCorp1983-1988.Allrightsreserved.

RunFile[UDRK.EXE]:

ListFile[MUL.MftP]:

LibrariesI.LIBI:

LINK!warningL4021:nostacksegment

C:\>debuguork.exe

網(wǎng)DOSBox0.74,Cpuspeed:3000cycles.Frameskip0.Program:DEBUG

Microsoft(R)OverlayLinkerUersion3.65

Copyright(C)MicrosoftCorp1983-1988.A11rightsreserved.

?unFileIUQRK.EXE]:

ListFile(MUL.MAP]:

LibrariesI.LIB]:

LINK:warningL4621:nostacksegment

C;、>dcbugwork.exe

u

0778:0000IEPUSHDS

G??G:0QO12BCQSUBAX,AX

(0770:000350PUSHAX

0776:OOGMB86AQ7MDUAX,076A

?770:00078ED8HOUDS,RX

6770:0003ODiEcneeLEABX,【0806】

報0770:0O0DC666568606MDUBYTEPTR[0050],00

J0770:0012B401MOUAH,01

(0770:0014CD21INT21

0770:0016F666569e01TESTBYTEPTR(O050]^ei

07?0:0O1B756BJNZ66Z8

e??O:001D3C20CMPAL,Z6

^776:001F7510JNZ8631

E

非固定次循環(huán)的特點:循環(huán)分支結構多處調(diào)用

循環(huán)體flag0

循環(huán)條件:

1.cnipal.20h

jnzexit;是空格則循環(huán),不是則結束

jmpnext

2.cmpal,20h

jzexit;不是空格則循環(huán),是空格則結束

jmpnext

循環(huán)變換條件:

movflag,1

follow:mov[bxl,al

incbx

初始化內(nèi)容

leabx,buffer

movflag,0

循環(huán)結束后內(nèi)容

exit:ret

-新建^本文檔ect?西本

文件(D東&仁)格式9)查看必格助(H)

DSEGSEGMENT

ADV1,2,3,4,5,6,7,3,9,10,11,12,13,14,15

BDI1,2,3,4,5,6,7,8,9,10

CDI10DUP(?)

spacedb20H,'$'

DSEGENDS

CSEGSEGIEKT

MAINPROCFAR

ASSUMECS:CSEG,DS:DSEG

START:

PUSHDS

SUBAX,AX

PUSHAX

MOVAX,DSEG

I0VDS,AX

BEGIN:

I0VSI,0

IOVBX,0

■OVCX,15

L00P1:

PUSHCX

I0VCX,10

I0VDI,0

I0VAX,A[SI]

L00P2:

CIPB[DI],AX

JNENO

■OYC[BX],AX

ADDBX,2

NO:

ADDDI,2

LOOPL00P2

MOVCX,10

MOVDI,0

MOVAX,A[SI]

L00P2:

CMPB[DI],AX

JNEN3

MOVC[BX],AX

ADDBX,2

ADDDI,2

LOOPL00P2

ADDSI,2

POPCX

LOOPL00P1

SHRbx,1

novex,bx

novbx,0

LOOP3:

novdx,c[bx]

adddx,30H

novdh,0

novah,02

int21h

leadx,space

roovah,09h

int21h

addbx,2

loopL00P3

RET

MAINENDP

CSEGENDS

ENDSTART

DOSBox0.74.Cpuspeed:3000cydes.Frameskip0,Program:DEBUG

crosoft(R)rtftcroAssemblerUersion5.00

pyright(C)MicrosoftCorp1381-1385,138?.Allrightsreserued.

rcefilenamc[.ASH]:work.asm

jectfilename[unrk.OBJl:

urce1isting[rttlL.LSTl:

oss-reference[NUL.CRF]:

5166iZ?46434ZBytessymbolspacefree

9UarningErrors

0SevereErrors

X>1inkuork.obj

crosoft(R)OverlayLinkerUersion3.65

pyright(C)MicrosoftCorp1983-1988.Al1rightsreserved.

nFile[UORK.EXE]:

stFileINUL.mP]:

braries[.LIB]:

MK:warningL4921:gstacksegment

“debugwork.exe

1

;留囹DOSBo.0.74Cpuspeed:3000cycles,Frameskip0.Program:DEBUG-

■Microsoft(R)OuerlayLinkerUersion3.65

XCopyright(C)MicrosoftCorp1983-1388.Allrightsreserved.

麗曦RunFile(UDRK.EXE]:

ListFile[NUL.MAP]:

Libraries[.LIB]:

/LINK:uarningL4021:nostacksegment

■c、〉debuguork.exe

Q?6F:Q00OIEPUSHDS

G?6F:00012BC0SUB狄,AX

^076F:O0Q35GPUSHAX

■076F:O604B86AG7MDUM076A

■076F:0OO7OEDOMDUDS,取

_%?6F:Q0G9BEG6G0MDUSEOG06

曲b?6F:008cBBGOOeMDUBX,0G06

育她3?6F:0eeFBSGFGOMDUcx.eoer

G?6F:O01251PUSHex

fp?6F:eei3B3GAG9MDUCX,0G0A

V076F:Gei6BFGOGeMOUDI,9606

■@?6F:G@198B84GOG0MDUAxasuooeei

ggja076F:O01D39851EG0CMP(DI?GeiE),AX

菽上—_____________

■(VIit:W1Denubitwuent'IJJ1*W1LJ

:17507JNZ66(^

*Mi05873200MOV(Bx*eeazi^x

83C3G2ADD?x,?猊

臥?

83C7G2ADDDI,*02

EZEELOOP661D

83C60EADDsi,*ee

■>'7i.r:<■?■59POPex

■<:EZDDLOOPeeiz

■i/iii'.oir.

DIESSHEBX,1

9'i/i.r-M?8BCBrt)UCX,BX

<1;■1BBeeeeHOUBX,O00O

■<1;■80373280MDUDX,[BX?0O3Z]

83CZ30ADDDX,t39

—?-一一.一-一.?--.一------一.一.一—

Q6月3

B6GGMDUDH,66

。GM5

B4GzMDUAH,G2

。GH7

CD21IMT21

。6H9

aQHD8D1646GGLEADX,[6046]

B4G9MOVAH69

@1F#

1?0S1CD21INT21

01?G483C3G2ADDBX,?猊

01@G6E2E6LOOP663c

01G7

^CBRETF

K01

A>e16PUSHSS

8BD8MOVBX,RX

0G3F00errBYTErTR(DX],ee

溫馨提示

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

評論

0/150

提交評論