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

合集下载
  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为所编程序的文件名。

(2)先用G命令连续剧连续执行程序,程序执行完毕后,观察运行结果。如果执行后是对的,说明程序编写是正确的,如果结果不对,说明程序有错误,

则执行下一步。

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

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

五、实验报告要求

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

2、

3、

4、说明本实验中是如何使用DEBUG

六、流程图勤

N

题一流程图

书馆

题二流程图

七、程序清单

题一程序清单:

STACK SEGMENT STACK ‘STACK’

DB 100 DUP(0)

STACK ENDS

DA TA SEGMENT PARA ‘DA TA’

SOUR DB 0、1、2、3、4、5、6、7、8、9

DEST DB 10 DUP(?)

DB ‘$’

DA TA 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

题二程序清单:

DA TA SEGMENT PARA ‘DA TA’

STRG DB ‘ABCDEFGHIJKLMNOP’

STG1 EQU STRG+4

STG2 EQU STHG+8

STRSE EQU 6

DA TA 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

相关文档
最新文档