汇编语言程序设计实验报告二(分支循环程序实验)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

汇编语言程序设计实验报告二(分支循环程序实验)

一、实验目的

1、掌握分支程序、循环程序的设计方法。

2、熟悉DEBUG程序的使用方法。

3、掌握汇编语言程序的编辑、汇编、连接以及调试过程。

二、实验内容

1、编写一程序,将内存中某一区域的数据传送到另一个区域中(要求用循结构,不考

虑数据块重叠问题)。

2、编写一程序,将内存中某一区域的数据传送到另一区域(要求考虑数据块重叠问

题)。

三、实验准备

1、预习数据传送指令,熟悉分支和循环程序设计方法。

2、预习DEBUG调试程序的使用方法。

3、根据实验内容要求,编写好实验源程序。

四、实验步骤

1、用QE或其它编辑软件,在计算机上编辑源程序,使其正确无误。

2、汇编、连接源程序,产生.EXE可执行文件。

3、运行程序。

(1) 进入DEBUG。打入DEBUGT MYPROG.EXE。MYPROG为所编程序的文

件名。

(2) 先用G命令连续剧连续执行程序,程序执行完毕后,观察运行结果。如果

执行后是对的,说明程序编写是正确的,如果结果不对,说明程序有错误,则执行下一步。

(3) 检查程序。在程序中设置若干断点,以便杳出错误所在。

(4) 采用单步命令T或执行程序,观察各寄存器和存储单元内容,以便找到错

误之处。

五、实验报告要求

1、列出程序清单,并给出程序流程图。

2、总结实现数据传送的几种方法,指出它们的区别。开始

3、分析实验中所遇到的一些问题,分析错误原因。

4、说明本实验中是如何使用DEBUG进行调试的。 CX、SI、DI置初值六、流程图勤

开始设置增量方式

CX、SI、DI置初值保存SI内容

AL [SI] SI SI+源块长度

[DI] AL N SI>DI

Y

SI SI+1 恢复SI内容恢复SI内容

DI DI+1

CX CX-1 设置减量方式

N CX=0, SI指向源块末尾

DI指向目的块末尾

Y

结束 [DI] [SI]

题一流程图 N 传完了吗, 书馆 Y

结束

题二流程图

七、程序清单

题一程序清单:

STACK SEGMENT STACK ‘STACK’

DB 100 DUP(0)

STACK ENDS

DATA SEGMENT PARA ‘DATA’

SOUR DB 0、1、2、3、4、5、6、7、8、9 DEST DB 10 DUP(,)

DB ‘$’

DATA ENDS

SEGMENT PARA‘CODE’

ASSUME CS:CODE

MAIN PROC FAR

START: PUSH DS

MOV AX,0

PUSH AX

MOV AX,DATA

MOV DS,AX

MOV CX,10

MOV SI,offset SOUR

MOV DI, offset DEST

AGAIN: MOV AL,[SI]

MOV [DI],AL

INC SI

IN DI

LOOP AGAIN

MOV DX,offset DEST

MOV AH,09H

INT 21H

RET

MAIN ENDP

CODE ENDS

END START

题二程序清单:

DATA SEGMENT PARA ‘DATA’

STRG DB ‘ABCDEFGHIJKLMNOP’

STG1 EQU STRG+4

STG2 EQU STHG+8

STRSE EQU 6

DATA ENDS

STACK SEGMENT PARA ‘CODE’

DB 100 DUP(0) STACK ENDS

CODE SEGMENT PARA ‘CODE’

ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK PROC FAR

START: PUSH DS

MOV AX,0

PUSH AX

MOV AX,DATA

MOV DS,AX

MOV ES,AX

MOV CX,STRSE

MOV SI,OFFSET STG1

MOV DI,OFFSET STG2

CLD

PUSH SI

ADD SI,STRSE-1

CMP SI,DI

POP SI

JL MOVE

STD

ADD SI,STRSE-1

ADD DI,STRSE-1 MOVE: REP MOVSB RET

MAIN ENDP

CODE ENDS

END START

相关文档
最新文档